multimediacommscontroller/mmccrtpsourcesink/tsrc/ut_rtpsourcesink/src/UT_CMccJitterCalculator.cpp
branchRCL_3
changeset 59 b0e4b01681c5
parent 42 817c922b90eb
--- a/multimediacommscontroller/mmccrtpsourcesink/tsrc/ut_rtpsourcesink/src/UT_CMccJitterCalculator.cpp	Wed Sep 15 12:38:06 2010 +0300
+++ b/multimediacommscontroller/mmccrtpsourcesink/tsrc/ut_rtpsourcesink/src/UT_CMccJitterCalculator.cpp	Wed Oct 13 14:59:15 2010 +0300
@@ -66,7 +66,7 @@
     }
 
 // Observer impl
-void UT_CMccJitterCalculator::SendJitterEvent( TMccRtpEventDataExtended aEvent, TInt aError )
+void UT_CMccJitterCalculator::SendJitterEvent( TMccRtpEventData aEvent, TInt aError )
     {
     iLastEvent = aEvent;
     iLastError = aError;
@@ -126,15 +126,10 @@
     // Not active
     iCalculator->JitterObserving();
     
-    iCalculator->iStartingSeqNum = 80;
-    iCalculator->iCurrentSeqNum = 100; 
-    iCalculator->iReceivedPacketCounter = 20; // 100-80=20, no packets lost
-    
     iCalculator->iPacketsReceived = 5;
     iCalculator->iJitterLevelFromClient = 10000;
     iCalculator->iCurJitter = 10000;
     iCalculator->iJitterObsOn = ETrue;
-    iCalculator->iFrameLossObsOn = ETrue;
     
     // Time based reporting   
     // 
@@ -145,264 +140,66 @@
     iCalculator->iReportInterval = 100000;
     iCalculator->JitterObserving();
     EUNIT_ASSERT_EQUALS( iLastEvent.iPacketsReceived, 0 );
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketLoss, 0 );
     
     // Enough time elapsed but not over jitter level defined by client
     iCalculator->iReportInterval = 0;
     iCalculator->JitterObserving();
     EUNIT_ASSERT_EQUALS( iLastEvent.iPacketsReceived, 0 );
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketLoss, 0 );
     
-    // Jitter and packet loss level defined by client exceeded
-    iCalculator->iStartingSeqNum = 100;
-    iCalculator->iCurrentSeqNum = 125; 
-    iCalculator->iPrevFerValue = 93000; // 9%
-
-    iCalculator->iPrevExpectedPackets = 20;
-    iCalculator->iReceivedPacketCounter = 20; // 5 packets is lost. 
-
+    // Jitter level defined by client exceeded
     iCalculator->iJitterLevelFromClient = 10;
-    User::After( 5000 );
     iCalculator->JitterObserving();
     EUNIT_ASSERT_EQUALS( iLastEvent.iPacketsReceived, 5 ); // just making sure that callback was called
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketLoss, 19 );
     
     // Quality based reporting
     //
-    EUNIT_ASSERT_EQUALS( iCalculator->iReceivedPacketCounter, 20 ); // counter is not zeroed
-    
     iCalculator->iReportIntervalType = EMccQualityPacketBased;
-    iCalculator->iJitterObsOn = ETrue;
-    iCalculator->iFrameLossObsOn = ETrue;
     iLastEvent.iPacketsReceived = 0;
-    iLastEvent.iPacketLoss = 0;
     iCalculator->iReportInterval = 2;
-    iCalculator->iPacketsReceived = 2;
-
-    iCalculator->iStartingSeqNum = 120;
-    iCalculator->iCurrentSeqNum = 121; 
-    iCalculator->iReceivedPacketCounter = 1; 
-    iCalculator->iCurJitter = 10000;
-    iCalculator->iJitterLevelFromClient = 10000;
-    
-    iCalculator->JitterObserving();
-    //Check that nothing was changed in iLastEvent:
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketsReceived, 0 );
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketLoss, 0 );
+    iCalculator->iJitterObsOn = ETrue;
     
-    // One packet more...
-    iCalculator->iPrevFerValue = 0; // 0%
-    iCalculator->iCurrentSeqNum++;
-    iCalculator->iReceivedPacketCounter++; 
+    // Not the packet when calculation is done
+    iCalculator->iReceivedPacketCounter = 0;
     iCalculator->JitterObserving();
-    //Check that nothing was changed in iLastEvent:
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketsReceived, 0 );
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketLoss, 0 );
+    EUNIT_ASSERT_EQUALS( iCalculator->iReceivedPacketCounter, 1 );
     
-    //Do the packet loss, with reporting:
-    iCalculator->iStartingSeqNum = 122;
-    iCalculator->iCurrentSeqNum = 126; 
-    iCalculator->iPrevFerValue = 98000; // 9%
-    iCalculator->iPrevExpectedPackets = 1;
-    
-    iCalculator->iReceivedPacketCounter = 2; 
-    iCalculator->iCurJitter = 10000;
-    iCalculator->iJitterLevelFromClient = 10;
+    // Now the interval is reached
     iCalculator->JitterObserving();
-    //Check that values were changed in iLastEvent:
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketsReceived, 2 );
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketLoss, 20 );
+    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketsReceived, 5 ); // just making sure that callback was called
+    EUNIT_ASSERT_EQUALS( iCalculator->iReceivedPacketCounter, 0 ); // counter is zeroed
     
     // Other reporting
     iCalculator->iReportIntervalType = 998;
     iLastEvent.iPacketsReceived = 0;
     iCalculator->iJitterObsOn = ETrue;
-    iCalculator->iFrameLossObsOn = ETrue;
     iCalculator->JitterObserving();
-    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketsReceived, 2 ); // just making sure that callback was called
-    EUNIT_ASSERT_EQUALS( iLastError, KErrArgument ); 
+    EUNIT_ASSERT_EQUALS( iLastEvent.iPacketsReceived, 5 ); // just making sure that callback was called
     }
 
 void UT_CMccJitterCalculator::UT_CMccJitterCalculator_RtpPacketReceivedL()
     {
-    iCalculator->iReportIntervalType = EMccQualityPacketBased;
     // TBD: real assert for values
     
     const TInt KTestConversion = 8000;
-    TUint testSeqNum = 222;
-    iCalculator->iCurrentSeqNum = 0;
-    iCalculator->iStartingSeqNum = 0;
-    iCalculator->iReceivedPacketCounter = 0;
     
     // First packet
-    const TInt PacketTimestamp1 = 1000;
-    iCalculator->RtpPacketReceived( PacketTimestamp1, EFalse, testSeqNum );
+    const TInt firstPacketTimestamp = 1000;
+    iCalculator->RtpPacketReceived( firstPacketTimestamp, EFalse );
     EUNIT_ASSERT( iCalculator->iPrevPacketTransit != 0 );
-    EUNIT_ASSERT( iCalculator->iCurrentSeqNum == 222 );
-    EUNIT_ASSERT( iCalculator->iStartingSeqNum == 221 );
-    EUNIT_ASSERT( iCalculator->iReceivedPacketCounter == 1 );
     
-    testSeqNum++; //Increase seqnum for next packet. 
     // Second packet (fake that it is the one when reporting)
     iCalculator->iPacketsReceived = 15; // ( KJitterReportInterval - 1 )
-    const TInt PacketTimestamp2 = 3000;
-    iCalculator->RtpPacketReceived( PacketTimestamp2, EFalse, testSeqNum );
+    const TInt secondPacketTimestamp = 3000;
+    iCalculator->RtpPacketReceived( secondPacketTimestamp, EFalse );
     EUNIT_ASSERT( iCalculator->iCurJitter != 0 );
     EUNIT_ASSERT_EQUALS( (TInt)iLastEvent.iPacketsReceived, 16 ); // just making sure that callback was called
-    EUNIT_ASSERT( iCalculator->iCurrentSeqNum == 223 );
-    EUNIT_ASSERT( iCalculator->iStartingSeqNum == 221 );
-    EUNIT_ASSERT( iCalculator->iReceivedPacketCounter == 2 );
-    
-    
-    iCalculator->iReportIntervalType = EMccQualityTimeBased;
-    iCalculator->iFrameLossObsOn = EFalse;
-    testSeqNum++; //Increase seqnum for next packet. 
-
-    const TInt packetTimestamp3 = 4000;
-    iCalculator->RtpPacketReceived( packetTimestamp3, EFalse, testSeqNum );
-    EUNIT_ASSERT( iCalculator->iCurJitter != 0 );
-    EUNIT_ASSERT_EQUALS( (TInt)iLastEvent.iPacketsReceived, 16 ); // just making sure that callback wasn't called
-    EUNIT_ASSERT( iCalculator->iCurrentSeqNum == 223 );
-    EUNIT_ASSERT( iCalculator->iStartingSeqNum == 221 );
-    EUNIT_ASSERT( iCalculator->iReceivedPacketCounter == 2 );
-    
-    // Sequence number start from 0
-    iCalculator->iReportIntervalType = EMccQualityPacketBased;
-    iCalculator->iFrameLossObsOn = ETrue;
-    testSeqNum = 0;
-    const TInt packetTimestamp4 = 5000;
-    iCalculator->RtpPacketReceived( packetTimestamp4, EFalse, testSeqNum );
-    EUNIT_ASSERT( iCalculator->iCurJitter != 0 );
-    EUNIT_ASSERT_EQUALS( (TInt)iLastEvent.iPacketsReceived, 16 ); // just making sure that callback wasn't called
-    EUNIT_ASSERT_EQUALS( iCalculator->iCurrentSeqNum, 0);
-    EUNIT_ASSERT( iCalculator->iStartingSeqNum == 0 );
-    EUNIT_ASSERT( iCalculator->iReceivedPacketCounter == 3 );
-    
-    // Sequence number start from 1
-    testSeqNum = 1;
-    const TInt packetTimestamp5 = 6000;
-    iCalculator->RtpPacketReceived( packetTimestamp5, EFalse, testSeqNum );
-    EUNIT_ASSERT( iCalculator->iCurJitter != 0 );
-    EUNIT_ASSERT_EQUALS( (TInt)iLastEvent.iPacketsReceived, 16 ); // just making sure that callback wasn't called
-    EUNIT_ASSERT_EQUALS( iCalculator->iCurrentSeqNum, 1);
-    EUNIT_ASSERT( iCalculator->iStartingSeqNum == 0 );
-    EUNIT_ASSERT( iCalculator->iReceivedPacketCounter == 4 );
-    
     }
     
-
-void UT_CMccJitterCalculator::UT_CMccJitterCalculator_CalculateFerL()
-    {
-    TUint32 returnValue( 0 );
-    
-    // packet  lost
-    TUint32 prevValue( 0 );
-    TBool valueToadd( ETrue );
-    TBool flagToAdd( ETrue );
-    returnValue = iCalculator->CalculateFer( prevValue, valueToadd, flagToAdd );
-    EUNIT_ASSERT_EQUALS( returnValue, 2000 );
-    
-    // packet  lost
-    // returnValue == 2000
-    returnValue = iCalculator->CalculateFer( returnValue, valueToadd, flagToAdd );
-    EUNIT_ASSERT_EQUALS( returnValue, 3992 );
-    
-    // no packet lost - late packet - remove FER
-    // decrease fer
-    flagToAdd = EFalse;
-    // returnValue == 3996
-    returnValue = iCalculator->CalculateFer( returnValue, valueToadd, flagToAdd );
-    
-    EUNIT_ASSERT_EQUALS( returnValue, 2008 );
-    
-    // no packet lost - late packet - remove FER
-    // decrease fer
-    flagToAdd = EFalse;
-    // returnValue == 5
-    returnValue = 5;
-    returnValue = iCalculator->CalculateFer( returnValue, valueToadd, flagToAdd );
-    
-    EUNIT_ASSERT_EQUALS( returnValue, 0);
-    }
-
-void UT_CMccJitterCalculator::UT_CMccJitterCalculator_CountPacketLossPercentageL()
-    {
-    TInt percentage( 0 );
-    
-    iCalculator->iHomeTime.HomeTime();
-    
-    // Not active
-    iCalculator->JitterObserving();
-    
-    iCalculator->iPrevFerValue = 0;
-    iCalculator->iStartingSeqNum = 80;
-    iCalculator->iCurrentSeqNum = 100;
-    
-    // no packets lost
-    iCalculator->iPrevExpectedPackets = 20;
-    iCalculator->iReceivedPacketCounter = 20;
-
-    iCalculator->CountPacketLossPercentage();
-    
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevFerValue, 0 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevExpectedPackets, 20 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevPacketsReceived, 20 );
-    
-    
-    // no packets lost, inorder
-    iCalculator->iCurrentSeqNum = 102;  
-    iCalculator->iPrevExpectedPackets = 22;
-
-    iCalculator->CountPacketLossPercentage();
-    
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevFerValue, 0 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevExpectedPackets, 22 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevPacketsReceived, 20 );
-    
-	
-    // packet  lost - add FER by number of packets lost.
-    // 5 packets lost
-    iCalculator->iPrevFerValue = 0;
-    iCalculator->iStartingSeqNum = 80;
-    iCalculator->iCurrentSeqNum = 105;
-
-    iCalculator->iPrevExpectedPackets = 20;
-    iCalculator->iReceivedPacketCounter = 20;
-
-    percentage = iCalculator->CountPacketLossPercentage();
-    
-    EUNIT_ASSERT_EQUALS( percentage, 1 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevFerValue, 7952 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevExpectedPackets, 25 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevPacketsReceived, 20 );
-    }
-
-void UT_CMccJitterCalculator::UT_CMccJitterCalculator_ResetCountersL()
-    {
-    
-    iCalculator->iPacketsReceived = 20;
-    iCalculator->iCurJitter = 200;
-    iCalculator->iPrevPacketTransit = 100;
-    iCalculator->iCurrentSeqNum = 25;
-    iCalculator->iStartingSeqNum = 2;
-    iCalculator->iReceivedPacketCounter = 30;
-
-    iCalculator->ResetCounters();
-    
-    EUNIT_ASSERT_EQUALS( iCalculator->iPacketsReceived, 0 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iCurJitter, 0 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iPrevPacketTransit, 0 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iCurrentSeqNum, 0 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iStartingSeqNum, 0 );
-    EUNIT_ASSERT_EQUALS( iCalculator->iReceivedPacketCounter, 0 );
-    }
-
-
 //  TEST TABLE
 
 EUNIT_BEGIN_TEST_TABLE( 
     UT_CMccJitterCalculator,
-    "CMccJitterCalculator",
+    "Add test suite description here.",
     "UNIT" )
     
 EUNIT_TEST(
@@ -426,29 +223,6 @@
     "FUNCTIONALITY",
     SetupL, UT_CMccJitterCalculator_RtpPacketReceivedL, Teardown)
     
-
-EUNIT_TEST(
-    "CalculateFer - test ",
-    "CMccJitterCalculator",
-    "CalculateFer",
-    "FUNCTIONALITY",
-    SetupL, UT_CMccJitterCalculator_CalculateFerL, Teardown)
-
-EUNIT_TEST(
-    "CountPacketLossPercentage - test ",
-    "CMccJitterCalculator",
-    "CountPacketLossPercentage",
-    "FUNCTIONALITY",
-    SetupL, UT_CMccJitterCalculator_CountPacketLossPercentageL, Teardown)
-    
-EUNIT_TEST(
-    "ResetCounters - test ",
-    "CMccJitterCalculator",
-    "ResetCounters",
-    "FUNCTIONALITY",
-    SetupL, UT_CMccJitterCalculator_ResetCountersL, Teardown)
-    
-    
 EUNIT_END_TEST_TABLE
 
 //  END OF FILE