multimediacommscontroller/mmccrtpsourcesink/tsrc/ut_rtpsourcesink/src/UT_CMccRtpDataSink.cpp
equal
deleted
inserted
replaced
40 #include "amrpayloadformatwrite.h" |
40 #include "amrpayloadformatwrite.h" |
41 #include <srtpcryptocontext.h> |
41 #include <srtpcryptocontext.h> |
42 #include <srtpmastersalt.h> |
42 #include <srtpmastersalt.h> |
43 #include <srtpstreamout.h> |
43 #include <srtpstreamout.h> |
44 #include "mccunittestmacros.h" |
44 #include "mccunittestmacros.h" |
45 #include "mccrtpmediaclock.h" |
|
46 |
45 |
47 |
46 |
48 #define MCCEVENTDATAPCKG_TO_RTCPEVENTDATAPCKG( event )\ |
47 #define MCCEVENTDATAPCKG_TO_RTCPEVENTDATAPCKG( event )\ |
49 *reinterpret_cast<TMccRtcpEventDataPackage*>( &event.iEventData ) |
48 *reinterpret_cast<TMccRtcpEventDataPackage*>( &event.iEventData ) |
50 |
49 |
114 iRtpKeepaliveMechanism = |
113 iRtpKeepaliveMechanism = |
115 CMccRtpKeepaliveContainer::NewL( *eventHandler, |
114 CMccRtpKeepaliveContainer::NewL( *eventHandler, |
116 *iRtpApi, |
115 *iRtpApi, |
117 rtpSessionId ); |
116 rtpSessionId ); |
118 |
117 |
119 iRtpMediaClock = CMccRtpMediaClock::NewL(); |
|
120 } |
118 } |
121 |
119 |
122 void UT_CMccRtpDataSink::Teardown() |
120 void UT_CMccRtpDataSink::Teardown() |
123 { |
121 { |
124 delete iRtpKeepaliveMechanism; |
122 delete iRtpKeepaliveMechanism; |
136 if ( iRtpApi ) |
134 if ( iRtpApi ) |
137 { |
135 { |
138 delete iRtpApi; |
136 delete iRtpApi; |
139 iRtpApi = NULL; |
137 iRtpApi = NULL; |
140 } |
138 } |
141 |
|
142 if ( iRtpMediaClock ) |
|
143 { |
|
144 delete iRtpMediaClock; |
|
145 iRtpMediaClock = NULL; |
|
146 } |
|
147 } |
139 } |
148 |
140 |
149 // HELPERS |
141 // HELPERS |
150 // |
142 // |
151 |
143 |
162 iSink->SetSessionParamsL( params ); |
154 iSink->SetSessionParamsL( params ); |
163 |
155 |
164 TMccCodecInfo cInfo; |
156 TMccCodecInfo cInfo; |
165 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
157 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
166 |
158 |
167 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf, iRtpMediaClock ) ); |
159 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf ) ); |
168 } |
160 } |
169 |
161 |
170 |
162 |
171 // TEST FUNCTIONS |
163 // TEST FUNCTIONS |
172 // |
164 // |
224 data.iRtcpPacketType = KRtcpAnyPacket; |
216 data.iRtcpPacketType = KRtcpAnyPacket; |
225 EUNIT_ASSERT_LEAVE( iSink->SendMediaSignallingL( event ) ); |
217 EUNIT_ASSERT_LEAVE( iSink->SendMediaSignallingL( event ) ); |
226 |
218 |
227 TMccCodecInfo cInfo; |
219 TMccCodecInfo cInfo; |
228 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
220 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
229 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf, iRtpMediaClock ) ); |
221 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf ) ); |
230 MCC_EUNIT_ASSERT_EQUALS( iSink->SinkThreadLogon( *this ), KErrNone ); |
222 MCC_EUNIT_ASSERT_EQUALS( iSink->SinkThreadLogon( *this ), KErrNone ); |
231 iSink->SetCurrentUser( this ); |
223 iSink->SetCurrentUser( this ); |
232 EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
224 EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
233 |
225 |
234 TMccRtcpEventDataPackage& eventDataPackage = MCCEVENTDATAPCKG_TO_RTCPEVENTDATAPCKG( event ); |
226 TMccRtcpEventDataPackage& eventDataPackage = MCCEVENTDATAPCKG_TO_RTCPEVENTDATAPCKG( event ); |
295 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
287 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
296 |
288 |
297 MCC_EUNIT_ASSERT_EQUALS( iSink->SinkThreadLogon( *this ), KErrNone ); |
289 MCC_EUNIT_ASSERT_EQUALS( iSink->SinkThreadLogon( *this ), KErrNone ); |
298 iSink->SetCurrentUser( this ); |
290 iSink->SetCurrentUser( this ); |
299 EUNIT_ASSERT_NO_LEAVE( iSink->SetSessionParamsL( params ) ); |
291 EUNIT_ASSERT_NO_LEAVE( iSink->SetSessionParamsL( params ) ); |
300 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf, iRtpMediaClock ) ); |
292 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf ) ); |
301 EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
293 EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
302 iSink->SinkThreadLogoff(); |
294 iSink->SinkThreadLogoff(); |
303 } |
295 } |
304 |
296 |
305 void UT_CMccRtpDataSink::UT_CMccRtpDataSink_SinkDataTypeCodeL() |
297 void UT_CMccRtpDataSink::UT_CMccRtpDataSink_SinkDataTypeCodeL() |
372 EUNIT_ASSERT_LEAVE( iSink->SinkPrimeL() ); |
364 EUNIT_ASSERT_LEAVE( iSink->SinkPrimeL() ); |
373 |
365 |
374 TMccCodecInfo cInfo; |
366 TMccCodecInfo cInfo; |
375 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
367 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
376 |
368 |
377 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf, iRtpMediaClock ) ); |
369 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf ) ); |
378 EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
370 EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
379 EUNIT_ASSERT( iRtpKeepaliveMechanism->iStopped == EFalse ); |
371 EUNIT_ASSERT( iRtpKeepaliveMechanism->iStopped == EFalse ); |
380 |
372 |
381 // "Secure session" |
373 // "Secure session" |
382 iRtpKeepaliveMechanism->iStopped = ETrue; |
374 iRtpKeepaliveMechanism->iStopped = ETrue; |
621 EUNIT_ASSERT_LEAVE( iSink->SinkPrimeL() ); |
613 EUNIT_ASSERT_LEAVE( iSink->SinkPrimeL() ); |
622 |
614 |
623 TMccCodecInfo cInfo; |
615 TMccCodecInfo cInfo; |
624 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
616 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
625 |
617 |
626 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf, iRtpMediaClock ) ); |
618 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf ) ); |
627 EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
619 EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
628 |
620 |
629 // Create a comfort noise stream |
621 // Create a comfort noise stream |
630 //codec = KMccFourCCIdG711; |
622 //codec = KMccFourCCIdG711; |
631 //EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
623 //EUNIT_ASSERT_NO_LEAVE( iSink->SinkPrimeL() ); |
644 iSink->SetSessionParamsL( params ); |
636 iSink->SetSessionParamsL( params ); |
645 |
637 |
646 TMccCodecInfo cInfo; |
638 TMccCodecInfo cInfo; |
647 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
639 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
648 |
640 |
649 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf, iRtpMediaClock ) ); |
641 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf ) ); |
650 |
642 |
651 // This should leave because the string is too short |
643 // This should leave because the string is too short |
652 TBuf8<5> dummy; |
644 TBuf8<5> dummy; |
653 dummy.Format( _L8( "foo42" ) ); |
645 dummy.Format( _L8( "foo42" ) ); |
654 EUNIT_ASSERT_LEAVE( iSink->ConfigureL( dummy, iRtpMediaClock ) ); |
646 EUNIT_ASSERT_LEAVE( iSink->ConfigureL( dummy ) ); |
655 |
647 |
656 // Get a new sink |
648 // Get a new sink |
657 //Teardown(); |
649 //Teardown(); |
658 if( iRtpKeepaliveMechanism ) |
650 if( iRtpKeepaliveMechanism ) |
659 { |
651 { |
696 cInfo2.iRedundantPayload = 97; |
688 cInfo2.iRedundantPayload = 97; |
697 cInfo2.iRedundancyCount = 1; |
689 cInfo2.iRedundancyCount = 1; |
698 cInfo2.iAlgoUsed = EGenRedUsed; |
690 cInfo2.iAlgoUsed = EGenRedUsed; |
699 TMccCodecInfoBuffer cInfoBuf2( cInfo2 ); |
691 TMccCodecInfoBuffer cInfoBuf2( cInfo2 ); |
700 |
692 |
701 EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf2, iRtpMediaClock ) ); |
693 EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf2 ) ); |
702 } |
694 } |
703 |
695 |
704 void UT_CMccRtpDataSink::UT_CMccRtpDataSink_RemoveStreamLL() |
696 void UT_CMccRtpDataSink::UT_CMccRtpDataSink_RemoveStreamLL() |
705 { |
697 { |
706 /* |
698 /* |
747 iSink->SetSessionParamsL( params ); |
739 iSink->SetSessionParamsL( params ); |
748 |
740 |
749 TMccCodecInfo cInfo; |
741 TMccCodecInfo cInfo; |
750 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
742 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
751 |
743 |
752 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf, iRtpMediaClock ) ); |
744 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf ) ); |
753 |
745 |
754 // Wrong state |
746 // Wrong state |
755 EUNIT_ASSERT_LEAVE( iSink->SinkPlayL() ); |
747 EUNIT_ASSERT_LEAVE( iSink->SinkPlayL() ); |
756 |
748 |
757 iSink->SinkPrimeL(); |
749 iSink->SinkPrimeL(); |
776 iSink->SetSessionParamsL( params ); |
768 iSink->SetSessionParamsL( params ); |
777 |
769 |
778 TMccCodecInfo cInfo; |
770 TMccCodecInfo cInfo; |
779 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
771 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
780 |
772 |
781 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf, iRtpMediaClock ) ); |
773 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf ) ); |
782 |
774 |
783 // Wrong state |
775 // Wrong state |
784 EUNIT_ASSERT_LEAVE( iSink->SinkPauseL() ); |
776 EUNIT_ASSERT_LEAVE( iSink->SinkPauseL() ); |
785 |
777 |
786 iSink->SinkPrimeL(); |
778 iSink->SinkPrimeL(); |
803 iSink->SetSessionParamsL( params ); |
795 iSink->SetSessionParamsL( params ); |
804 |
796 |
805 TMccCodecInfo cInfo; |
797 TMccCodecInfo cInfo; |
806 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
798 TMccCodecInfoBuffer cInfoBuf( cInfo ); |
807 |
799 |
808 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf, iRtpMediaClock ) ); |
800 MCC_EUNIT_ASSERT_NO_LEAVE( iSink->ConfigureL( cInfoBuf ) ); |
809 iSink->SinkPrimeL(); |
801 iSink->SinkPrimeL(); |
810 iSink->SinkPlayL(); |
802 iSink->SinkPlayL(); |
811 |
803 |
812 // Ok |
804 // Ok |
813 EUNIT_ASSERT_NO_LEAVE( iSink->SinkStopL() ); |
805 EUNIT_ASSERT_NO_LEAVE( iSink->SinkStopL() ); |