aboutsummaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
authorPacketVideo CM <engbuild@pv.com>2009-11-12 12:46:25 -0800
committerPacketVideo CM <engbuild@pv.com>2009-11-12 12:46:25 -0800
commit2534df5f81ee051812d91ab133f7c40ca072a40e (patch)
tree0b20dd5293b4029ef738a567f8f4b5d6a1419c2f /protocols
parentd9858a233ab1f9e6630e33ad18913735c5c4e386 (diff)
downloadopencore-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.h1
-rw-r--r--protocols/systems/3g-324m_pvterminal/h223/src/cpvh223multiplex.cpp10
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,