diff -r a4443cbc1353 -r 21e9ee993fc8 multimediacommscontroller/mmccfilesourcesink/tsrc/ut_filesourcesink/Src/UT_CMccFileSink.cpp --- a/multimediacommscontroller/mmccfilesourcesink/tsrc/ut_filesourcesink/Src/UT_CMccFileSink.cpp Thu Sep 02 20:49:29 2010 +0300 +++ b/multimediacommscontroller/mmccfilesourcesink/tsrc/ut_filesourcesink/Src/UT_CMccFileSink.cpp Fri Sep 17 08:32:38 2010 +0300 @@ -613,6 +613,41 @@ EUNIT_ASSERT_EQUALS( iFileSink->iActiveUserIndex, 1 ); EUNIT_ASSERT( iFileSink->iAsyncEventHandler == iEventHandler2 ); } + +void UT_CMccFileSink::UT_CMccFileSink_CalculateAverageTimestampDifferenceL() + { + const TInt KMccMaxNumTimestamps = 5; + const TInt KMccTimestampDifferenceMultiplier = 10; + TInt originalTime(1000); + TInt timeIncrement(1000); + + iFileSink->iCurrAvgTimestampDifference = 0; + + // Ask so long that average timestamp difference can be calculated + for (TInt i = 0; i < (KMccTimestampDifferenceMultiplier + 2); i++) + { + TTimeIntervalMicroSeconds timeToPlay = iFileSink->TimeToPlayL( + TTimeIntervalMicroSeconds(originalTime)); + + EUNIT_ASSERT_EQUALS( timeToPlay.Int64(), originalTime ); + + originalTime += timeIncrement; + } + + EUNIT_ASSERT_EQUALS( iFileSink->iTimestamps.Count(), KMccMaxNumTimestamps ); + EUNIT_ASSERT_GREATER( iFileSink->iCurrAvgTimestampDifference, 0 ); + + iFileSink->iTimestamps.Reset(); + iFileSink->iPreviousTimestamp = 500; + iFileSink->TimeToPlayL( TTimeIntervalMicroSeconds( originalTime ) ); + EUNIT_ASSERT_GREATER( iFileSink->iTimestamps.Count(), 0 ); + + originalTime = 1000; + iFileSink->iAddToTimestamp = 0; + iFileSink->iPreviousTimestamp = 1010; + iFileSink->TimeToPlayL( TTimeIntervalMicroSeconds( originalTime ) ); + EUNIT_ASSERT_GREATER( iFileSink->iAddToTimestamp, 0 ); + } // HELPERS @@ -812,6 +847,13 @@ "UpdateActiveUserL", "FUNCTIONALITY", SetupL, UT_CMccFileSink_UpdateActiveUserL, Teardown) + +EUNIT_TEST( + "CalculateAverageTimestampDifferenceL - test ", + "CMccFileSink", + "CalculateAverageTimestampDifferenceL", + "FUNCTIONALITY", + SetupL, UT_CMccFileSink_CalculateAverageTimestampDifferenceL, Teardown) EUNIT_END_TEST_TABLE