diff -r 72290a6868df -r bf4e57f9a0ce multimediacommscontroller/mmccrtpsourcesink/tsrc/ut_rtpsourcesink/src/UT_CMccRtpDataSource.cpp --- a/multimediacommscontroller/mmccrtpsourcesink/tsrc/ut_rtpsourcesink/src/UT_CMccRtpDataSource.cpp Tue Jul 06 14:42:02 2010 +0300 +++ b/multimediacommscontroller/mmccrtpsourcesink/tsrc/ut_rtpsourcesink/src/UT_CMccRtpDataSource.cpp Wed Aug 18 10:09:50 2010 +0300 @@ -36,6 +36,7 @@ #include #include "UT_CMccRtpInterface.h" #include "mccunittestmacros.h" +#include "mccrtpmediaclock.h" // CONSTANTS _LIT8(KRFC3711_TestMasterKey128bits, "E1F97A0D3E018BE0D64FA32C06DE4139"); @@ -103,7 +104,8 @@ CMccRtpKeepaliveContainer::NewL( *eventHandler, *iRtpApi, rtpSessionId ); - + + iRtpMediaClock = CMccRtpMediaClock::NewL(); } void UT_CMccRtpDataSource::Teardown() @@ -128,6 +130,12 @@ } delete iEventHandler; + + if ( iRtpMediaClock ) + { + delete iRtpMediaClock; + iRtpMediaClock = NULL; + } } @@ -165,7 +173,7 @@ cInfo.iBitrate = 8000; cInfo.iPayloadType = KDefaultAmrNbPT; TMccCodecInfoBuffer cInfoBuf( cInfo ); - EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf ) ); + EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf, iRtpMediaClock ) ); } // TEST FUNCTIONS @@ -209,7 +217,7 @@ cInfo.iPayloadType = KDefaultAmrNbPT; TMccCodecInfoBuffer cInfoBuf( cInfo ); - EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf ) ); + EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf, iRtpMediaClock ) ); //iSource->NegotiateSourceL( *iEventHandler ); EUNIT_ASSERT_NO_LEAVE( iSource->NegotiateSourceL( *amrPfRead ) ); EUNIT_ASSERT_NO_LEAVE( iSource->SourcePrimeL() ); @@ -375,7 +383,7 @@ cInfo.iPayloadType = KDefaultAmrNbPT; TMccCodecInfoBuffer cInfoBuf( cInfo ); - EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf ) ); + EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf, iRtpMediaClock ) ); MCC_EUNIT_ASSERT_EQUALS( iSource->SourceThreadLogon( *iEventHandler ), KErrNone ); EUNIT_ASSERT_NO_LEAVE( iSource->SourcePrimeL() ); @@ -400,7 +408,7 @@ cInfo.iPayloadType = KDefaultAmrNbPT; TMccCodecInfoBuffer cInfoBuf( cInfo ); - EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf ) ); + EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf, iRtpMediaClock ) ); MCC_EUNIT_ASSERT_EQUALS( iSource->SourceThreadLogon( *iEventHandler ), KErrNone ); EUNIT_ASSERT_NO_LEAVE( iSource->SourcePrimeL() ); @@ -521,7 +529,7 @@ cInfo.iPayloadType = KDefaultAmrNbPT; TMccCodecInfoBuffer cInfoBuf( cInfo ); - EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf ) ); + EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf, iRtpMediaClock ) ); MCC_EUNIT_ASSERT_EQUALS( iSource->SourceThreadLogon( *iEventHandler ), KErrNone ); EUNIT_ASSERT_NO_LEAVE( iSource->SourcePrimeL() ); @@ -607,7 +615,7 @@ cInfo.iFourCC = TFourCC( KMccFourCCIdG711 ); cInfo.iEnableDTX = ETrue; TMccCodecInfoBuffer cInfoBuf( cInfo ); - EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf ) ); + EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf, iRtpMediaClock ) ); header.iPayloadType = KPcmuPayloadType; @@ -639,7 +647,7 @@ TMccCodecInfo cInfo; TMccCodecInfoBuffer cInfoBuf( cInfo ); - EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf ) ); + EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf, iRtpMediaClock ) ); // Get a new Source Teardown(); @@ -649,7 +657,7 @@ TBuf8<5> dummy; dummy.Format( _L8( "foo42" ) ); EUNIT_ASSERT_NO_LEAVE( iSource->SetSessionParamsL( params ) ); - EUNIT_ASSERT_LEAVE( iSource->ConfigureL( dummy ) ); + EUNIT_ASSERT_LEAVE( iSource->ConfigureL( dummy, iRtpMediaClock ) ); // Get a new Source Teardown(); @@ -670,7 +678,7 @@ cInfo2.iAlgoUsed = EGenRedUsed; TMccCodecInfoBuffer cInfoBuf2( cInfo2 ); - EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf2 ) ); + EUNIT_ASSERT_NO_LEAVE( iSource->ConfigureL( cInfoBuf2, iRtpMediaClock ) ); } void UT_CMccRtpDataSource::UT_CMccRtpDataSource_DoCreateSrtpStreamL() @@ -701,7 +709,7 @@ EUNIT_ASSERT_EQUALS( iEventHandler->iLastEvent.iEventType, KMccStreamResumed ); // Jitter event when no event handler - TMccRtpEventData eventData; + TMccRtpEventDataExtended eventData; iSource->SendJitterEvent( eventData, KErrNone ); EUNIT_ASSERT_EQUALS( iEventHandler->iLastEvent.iEventType, KMccStreamResumed ); @@ -779,6 +787,19 @@ iSource->SendSecureRtpEventToClient( iEventHandler, KMccRtpSourceUid, EMccInternalEventNone, KMccStreamPaused, 0 ); EUNIT_ASSERT_EQUALS( iEventHandler->iLastEvent.iEventType, KMccStreamPaused ); + + // SendJitterEventToClient() + iSource->SendJitterEventToClient( iEventHandler, KMccRtpSourceUid, + EMccInternalEventNone, KMccEventNone, 0, 0, 1,2,3,4,5,6 ); + EUNIT_ASSERT_EQUALS( iEventHandler->iLastEvent.iEventType, KMccEventNone ); + const TMccRtpEventDataExtended& rtpEvent = + (*reinterpret_cast( &iEventHandler->iLastEvent.iEventData ))(); + EUNIT_ASSERT_EQUALS( rtpEvent.iJitterEstimate, 1 ); + EUNIT_ASSERT_EQUALS( rtpEvent.iPacketsReceived, 2 ); + EUNIT_ASSERT_EQUALS( rtpEvent.iPrevTransTime, 3 ); + EUNIT_ASSERT_EQUALS( rtpEvent.iTriggeredJitterLevel, 4 ); + EUNIT_ASSERT_EQUALS( rtpEvent.iPacketLoss, 5 ); + EUNIT_ASSERT_EQUALS( rtpEvent.iTriggeredPacketLoss, 6 ); } void UT_CMccRtpDataSource::UT_CMccRtpDataSource_DoStandbyDecisionL()