diff options
author | PacketVideo CM <engbuild@pv.com> | 2009-11-12 12:46:25 -0800 |
---|---|---|
committer | PacketVideo CM <engbuild@pv.com> | 2009-11-12 12:46:25 -0800 |
commit | 2534df5f81ee051812d91ab133f7c40ca072a40e (patch) | |
tree | 0b20dd5293b4029ef738a567f8f4b5d6a1419c2f /protocols | |
parent | d9858a233ab1f9e6630e33ad18913735c5c4e386 (diff) | |
download | opencore-2534df5f81ee051812d91ab133f7c40ca072a40e.tar.gz |
RIO-7858: Minor cleanup in H223 Multiplex Code
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/systems/3g-324m_pvterminal/h223/include/cpvh223multiplex.h | 1 | ||||
-rw-r--r-- | protocols/systems/3g-324m_pvterminal/h223/src/cpvh223multiplex.cpp | 10 |
2 files changed, 7 insertions, 4 deletions
diff --git a/protocols/systems/3g-324m_pvterminal/h223/include/cpvh223multiplex.h b/protocols/systems/3g-324m_pvterminal/h223/include/cpvh223multiplex.h index 34c12dfba..6fc2f79f7 100644 --- a/protocols/systems/3g-324m_pvterminal/h223/include/cpvh223multiplex.h +++ b/protocols/systems/3g-324m_pvterminal/h223/include/cpvh223multiplex.h @@ -297,6 +297,7 @@ class CPVH223Multiplex : public LowerLayerObserver, OsclSharedPtr<PVMFMediaDataImpl> iInterleavingPacket; bool iEnableStuffing; bool iStuffOnlyFirstSend; + bool iInterleavingFlagsAvailable; }; typedef CPVH223Multiplex H223; diff --git a/protocols/systems/3g-324m_pvterminal/h223/src/cpvh223multiplex.cpp b/protocols/systems/3g-324m_pvterminal/h223/src/cpvh223multiplex.cpp index c53748dc5..061c6f518 100644 --- a/protocols/systems/3g-324m_pvterminal/h223/src/cpvh223multiplex.cpp +++ b/protocols/systems/3g-324m_pvterminal/h223/src/cpvh223multiplex.cpp @@ -86,6 +86,7 @@ CPVH223Multiplex::CPVH223Multiplex(TPVLoopbackMode aLoopbackMode) iAudlcn = 0; iSqrCalVidAudTS = 0; iRtMnSqCalc = 0; + iInterleavingFlagsAvailable = false; Init(); ResetStats(); @@ -217,6 +218,7 @@ TPVStatusCode CPVH223Multiplex::Close() iInterleavingPacket.Unbind(); OSCL_DEFAULT_FREE(iInterleavingMultiplexFlags); iInterleavingMultiplexFlags = NULL; + iInterleavingFlagsAvailable = false; } for (unsigned out_lcn = 0; out_lcn < iOutgoingChannels.size(); out_lcn++) @@ -281,6 +283,7 @@ void CPVH223Multiplex::LevelSetupComplete(PVMFStatus status, TPVH223Level level) OSCL_DEFAULT_FREE(iInterleavingMultiplexFlags); iInterleavingMultiplexFlags = NULL; iInterleavingMultiplexFlagsSize = 0; + iInterleavingFlagsAvailable = false; } if (status == PVMFPending) { @@ -358,10 +361,7 @@ PVMFStatus CPVH223Multiplex::GetOutgoingMuxPdus(MuxPduPacketList& packets) int32 max_pdus_size = iNumBytesPerMinSampleInterval; - if (iInterleavingPacket && - iInterleavingPacket.GetRep() && - iInterleavingPacket->getFilledSize() && - iInterleavingMultiplexFlags && + if (iInterleavingFlagsAvailable && ((iPduNum % PV_H223_INTERLEAVING_FLAG_SEND_FREQUENCY) == 0)) { PVLOGGER_LOGMSG(PVLOGMSG_INST_HLDBG, iLogger, PVLOGMSG_STACK_TRACE, (0, "CPVH223Multiplex::GetOutgoingMuxPdus Adding interleaving packet.")); @@ -1436,11 +1436,13 @@ void CPVH223Multiplex::SetInterleavingMultiplexFlags(uint16 size, uint8* flags) iInterleavingPacket.Unbind(); OSCL_DEFAULT_FREE(iInterleavingMultiplexFlags); iInterleavingMultiplexFlags = NULL; + iInterleavingFlagsAvailable = false; } iInterleavingMultiplexFlagsSize = size; iInterleavingMultiplexFlags = (uint8*)OSCL_DEFAULT_MALLOC(size); oscl_memcpy(iInterleavingMultiplexFlags, flags, size); iInterleavingPacket = iMuxPduPacketAlloc->allocate(1); + iInterleavingFlagsAvailable = true; if (!iInterleavingPacket) { PVLOGGER_LOGMSG(PVLOGMSG_INST_HLDBG, iLogger, PVLOGMSG_STACK_TRACE, |