diff -r 000000000000 -r 1bce908db942 multimediacommscontroller/mmccsubcontroller/tsrc/ut_subcontroller/Src/UT_CMccSymDlStream.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimediacommscontroller/mmccsubcontroller/tsrc/ut_subcontroller/Src/UT_CMccSymDlStream.cpp Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,748 @@ +/* +* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + + +// CLASS HEADER +#include "UT_CMccSymDlStream.h" + +// EXTERNAL INCLUDES +#include + + +// INTERNAL INCLUDES +#include "Mccsymdlstream.h" +#include "Mccrtpmanager.h" +#include "Mcctesteventhandler.h" +#include "mmccinterfacedef.h" +#include "mccresourcepool_stub.h" +#include "mcccodecconfigurator.h" +#include "mccmultiplexer.h" +#include "mmcccryptocontext.h" +#include "mccjitterbuffer.h" + +#include "mccunittestmacros.h" + +const TUid KRtpDataSource = { KImplUidRtpDataSource }; +const TInt KAmrNbBitrate122 = 12200; +const TInt KIlbcBitrate20 = 15200; +const TInt KIlbcBitrate30 = 13330; + +// CONSTRUCTION +UT_CMccSymDlStream* UT_CMccSymDlStream::NewL() + { + UT_CMccSymDlStream* self = UT_CMccSymDlStream::NewLC(); + CleanupStack::Pop(); + + return self; + } + +UT_CMccSymDlStream* UT_CMccSymDlStream::NewLC() + { + UT_CMccSymDlStream* self = new( ELeave ) UT_CMccSymDlStream(); + CleanupStack::PushL( self ); + + self->ConstructL(); + + return self; + } + +// Destructor (virtual by CBase) +UT_CMccSymDlStream::~UT_CMccSymDlStream() + { + } + +// Default constructor +UT_CMccSymDlStream::UT_CMccSymDlStream() + { + } + +// Second phase construct +void UT_CMccSymDlStream::ConstructL() + { + // The ConstructL from the base class CEUnitTestSuiteClass must be called. + // It generates the test case table. + CEUnitTestSuiteClass::ConstructL(); + } + +// METHODS +void UT_CMccSymDlStream::SetupL() + { + iResources = CMccResourcePoolStub::NewL(); + iStreamId = 1; + iHandler = CMccTestEventHandler::NewL(); + iRtpMan = CMccRtpManager::NewL( *iHandler, *iResources, iMccSessionId ); + iStream = CMccSymDlStream::NewLC( iStreamId, iHandler, iResources, iRtpMan, 201 ); + CleanupStack::Pop( iStream ); + + TPckgBuf params( 30000 ); + iSourceStub = MDataSource::NewSourceL( KRtpDataSource, params ); + iSinkStub = MDataSink::NewSinkL( KUidMmfAudioOutput, KNullDesC8 ); + + iStream->AddSinkAndSourceL( iSinkStub, iSourceStub ); + + TMccCodecInfo cInfo; + cInfo.iFourCC = TFourCC( KMccFourCCIdAMRNB ); + cInfo.iBitrate = KAmrNbBitrate122; + cInfo.iHwFrameTime = 20; + cInfo.iFrameSize = 32; + cInfo.iPtime = 20; + cInfo.iMaxPtime = 400; // recommended "limit" 200ms + cInfo.iJitterBufBufferLength = 100; + cInfo.iPayloadType = KMinDynamicPT; + cInfo.iCodecMode = EBandwidthEfficient; + cInfo.iPayloadFormatEncoder = KImplUidAmrPayloadFormatEncode; + cInfo.iPayloadFormatDecoder = KImplUidAmrPayloadFormatDecode; + _LIT8( KFmtp, "octet-align=0" ); + TBuf8<13> buf( KFmtp() ); + iStream->LoadCodecL( cInfo, buf ); + + TUint port; + iRtpMan->CreateSessionL( port, ETrue, EFalse ); + } + +void UT_CMccSymDlStream::Setup2L() + { + iResources = CMccResourcePoolStub::NewL(); + iStreamId = 1; + iHandler = CMccTestEventHandler::NewL(); + iRtpMan = CMccRtpManager::NewL( *iHandler, *iResources, iMccSessionId ); + iStream = CMccSymDlStream::NewLC( iStreamId, iHandler, iResources, iRtpMan, 201 ); + CleanupStack::Pop( iStream ); + + TPckgBuf params( 30000 ); + iSourceStub = MDataSource::NewSourceL( KRtpDataSource, params ); + iSinkStub = MDataSink::NewSinkL( KUidMmfAudioOutput, KNullDesC8 ); + + iStream->AddSinkAndSourceL( iSinkStub, iSourceStub ); + } + +void UT_CMccSymDlStream::SetupIlbcL() + { + iResources = CMccResourcePoolStub::NewL(); + iStreamId = 1; + iHandler = CMccTestEventHandler::NewL(); + iRtpMan = CMccRtpManager::NewL( *iHandler, *iResources,iMccSessionId ); + iStream = CMccSymDlStream::NewLC( iStreamId, iHandler, iResources, iRtpMan, 201 ); + CleanupStack::Pop( iStream ); + + TPckgBuf params( 30000 ); + iSourceStub = MDataSource::NewSourceL( KRtpDataSource, params ); + iSinkStub = MDataSink::NewSinkL( KUidMmfAudioOutput, KNullDesC8 ); + + iStream->AddSinkAndSourceL( iSinkStub, iSourceStub ); + + TMccCodecInfo cInfo; + cInfo.iFourCC = TFourCC( KMccFourCCIdILBC ); + cInfo.iBitrate = KIlbcBitrate20; + cInfo.iHwFrameTime = 20; + cInfo.iFrameSize = 0; + cInfo.iPtime = 20; + cInfo.iMaxPtime = 200; + cInfo.iJitterBufBufferLength = 100; + cInfo.iPayloadType = KMinDynamicPT; + cInfo.iPayloadFormatEncoder = KImplUidiLBCPayloadFormatEncode; + cInfo.iPayloadFormatDecoder = KImplUidiLBCPayloadFormatDecode; + + iStream->LoadCodecL( cInfo, KNullDesC8 ); + + TUint port; + iRtpMan->CreateSessionL( port, ETrue, EFalse ); + } + +void UT_CMccSymDlStream::Teardown() + { + if ( iStream ) + { + delete iStream; + } + + if ( iRtpMan ) + { + delete iRtpMan; + } + + if ( iHandler ) + { + delete iHandler; + } + + delete iSourceStub; + delete iSinkStub; + delete iResources; + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_SetPrioritySettingsLL( ) + { + TMMFPrioritySettings priority; + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->SetPrioritySettingsL( priority ) ); + + iStream->iDatasink = NULL; + + MCC_EUNIT_ASSERT_SPECIFIC_LEAVE( iStream->SetPrioritySettingsL( priority ), KErrNotReady ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_CreatePayloadFormatDecoderL() + { + MCC_EUNIT_ASSERT_SPECIFIC_LEAVE( iStream->CreatePayloadFormatDecoderL(), KErrAlreadyExists ); + + TMccCodecInfo cInfo; + cInfo.iFourCC = TFourCC( KMccFourCCIdAMRNB ); + cInfo.iBitrate = KAmrNbBitrate122; + cInfo.iAlgoUsed = EGenRedUsed; + cInfo.iHwFrameTime = 20; + cInfo.iFrameSize = 32; + cInfo.iPtime = 20; + cInfo.iMaxPtime = 400; // recommended "limit" 200ms + cInfo.iJitterBufBufferLength = 100; + cInfo.iPayloadType = KMinDynamicPT; + cInfo.iRedundantPayload = KMinDynamicPT; + cInfo.iCodecMode = EBandwidthEfficient; + cInfo.iPayloadFormatEncoder = KImplUidAmrPayloadFormatEncode; + cInfo.iPayloadFormatDecoder = KImplUidAmrPayloadFormatDecode; + _LIT8( KFmtp, "octet-align=0" ); + TBuf8<13> buf( KFmtp() ); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->LoadCodecL( cInfo, buf ) ); + + delete iStream->iFormatDecode; + iStream->iFormatDecode = NULL; + delete iStream->iRedFormatDecode; + iStream->iRedFormatDecode = NULL; + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->CreatePayloadFormatDecoderL() ); + + cInfo.iAlgoUsed = ENoAlgoUsed; + iStream->iCodecInfo = cInfo; + + delete iStream->iFormatDecode; + iStream->iFormatDecode = NULL; + delete iStream->iRedFormatDecode; + iStream->iRedFormatDecode = NULL; + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->CreatePayloadFormatDecoderL() ); + + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_DoDynamicFrameSizeChangeL() + { + + MCC_EUNIT_ASSERT_SPECIFIC_LEAVE( iStream->DoDynamicFrameSizeChangeL( 20 ), KErrNotReady ); + /* + TMccCodecInfo cInfo; + cInfo.iFourCC = TFourCC( KMccFourCCIdAMRNB ); + cInfo.iBitrate = KAmrNbBitrate122; + cInfo.iAlgoUsed = EGenRedUsed; + cInfo.iHwFrameTime = 20; + cInfo.iFrameSize = 32; + cInfo.iPtime = 20; + cInfo.iMaxPtime = 400; // recommended "limit" 200ms + cInfo.iJitterBufBufferLength = 100; + cInfo.iPayloadType = KMinDynamicPT; + cInfo.iRedundantPayload = KMinDynamicPT; + cInfo.iCodecMode = EBandwidthEfficient; + cInfo.iPayloadFormatEncoder = KImplUidAmrPayloadFormatEncode; + cInfo.iPayloadFormatDecoder = KImplUidAmrPayloadFormatDecode; + _LIT8( KFmtp, "octet-align=0" ); + TBuf8<13> buf( KFmtp() ); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->LoadCodecL( cInfo, buf ) ); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->DoDynamicFrameSizeChangeL( 20 ) ); + */ + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_MultiplexerSink() + { + iStream->iCodecInfo.iAlgoUsed = EGenRedUsed; + MDataSink* sink = iStream->MultiplexerSink(); + EUNIT_ASSERT( !sink ); + iStream->iCodecInfo.iAlgoUsed = ENoAlgoUsed; + sink = iStream->MultiplexerSink(); + EUNIT_ASSERT( sink ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_AddSinkAndSourceLL( ) + { + // These two will fail because of the NULL + EUNIT_ASSERT_LEAVE( iStream->AddSinkAndSourceL( reinterpret_cast( this ), NULL ) ); + EUNIT_ASSERT_LEAVE( iStream->AddSinkAndSourceL( NULL, reinterpret_cast( this ) ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_LoadCodecLL( ) + { + TMccCodecInfo cInfo; + cInfo.iFourCC = TFourCC( KMccFourCCIdAMRNB ); + cInfo.iBitrate = KAmrNbBitrate122; + cInfo.iHwFrameTime = 20; + cInfo.iFrameSize = 32; + cInfo.iPtime = 20; + cInfo.iMaxPtime = 400; // recommended "limit" 200ms + cInfo.iJitterBufBufferLength = 100; + cInfo.iPayloadType = KMinDynamicPT; + cInfo.iCodecMode = EBandwidthEfficient; + cInfo.iPayloadFormatEncoder = KImplUidAmrPayloadFormatEncode; + cInfo.iPayloadFormatDecoder = KImplUidAmrPayloadFormatDecode; + _LIT8( KFmtp, "octet-align=0" ); + TBuf8<13> buf( KFmtp() ); + + EUNIT_ASSERT( iStream->CurrentCodecState() == CMccSymStreamBase::EStateCodecNone ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->LoadCodecL( cInfo, buf ) ); + + EUNIT_ASSERT( iStream->CurrentCodecState() == CMccSymStreamBase::EStateCodecNegotiated ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->LoadCodecL( cInfo, buf ) ); + + EUNIT_ASSERT( iStream->CurrentCodecState() == CMccSymStreamBase::EStateCodecPrepared ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->LoadCodecL( cInfo, buf ) ); + + // It seems that loading the real codec causes memory leak + EUNIT_ASSERT( iStream->CurrentCodecState() == CMccSymStreamBase::EStateCodecPrepared ); + iStream->UpdateCodecLoadingPermission( ETrue ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->LoadCodecL( cInfo, buf ) ); + + EUNIT_ASSERT( iStream->CurrentCodecState() == CMccSymStreamBase::EStateCodecLoaded ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->LoadCodecL( cInfo, buf ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_UpdateCodecInformationLL( ) + { + TMccCodecInfo cInfo; + + // iFormatDecode == NULL + EUNIT_ASSERT_LEAVE( iStream->UpdateCodecInformationL( iStream->iCodecInfo, cInfo ) ); + + cInfo.iFourCC = TFourCC( KMccFourCCIdAMRNB ); + cInfo.iBitrate = KAmrNbBitrate122; + cInfo.iHwFrameTime = 20; + cInfo.iFrameSize = 32; + cInfo.iPtime = 20; + cInfo.iMaxPtime = 400; // recommended "limit" 200ms + cInfo.iJitterBufBufferLength = 100; + cInfo.iPayloadType = KMinDynamicPT; + cInfo.iCodecMode = EBandwidthEfficient; + cInfo.iPayloadFormatEncoder = KImplUidAmrPayloadFormatEncode; + cInfo.iPayloadFormatDecoder = KImplUidAmrPayloadFormatDecode; + _LIT8( KFmtp, "octet-align=0" ); + TBuf8<13> buf( KFmtp() ); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->LoadCodecL( cInfo, buf ) ); +// TUint port; +// iRtpMan->CreateSessionL( port, ETrue, EFalse ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->UpdateCodecInformationL( iStream->iCodecInfo, cInfo ) ); + + iStream->iDatasink = NULL; + + MCC_EUNIT_ASSERT_SPECIFIC_LEAVE( iStream->UpdateCodecInformationL( + iStream->iCodecInfo, cInfo ), KErrNotReady ); + } + +void UT_CMccSymDlStream::IlbcModeChangeTestL() + { + RDebug::Print( _L("UT_CMccSymDlStream::IlbcModeChangeTestL IN") ); + + iStream->PrimeL( 0 ); + + TMccCodecInfo cInfo; + cInfo.iFourCC = TFourCC( KMccFourCCIdILBC ); + cInfo.iBitrate = KIlbcBitrate20; + cInfo.iHwFrameTime = 20; + cInfo.iFrameSize = 0; + cInfo.iPtime = 20; + cInfo.iMaxPtime = 200; + cInfo.iJitterBufBufferLength = 100; + cInfo.iPayloadType = KMinDynamicPT; + cInfo.iPayloadFormatEncoder = KImplUidiLBCPayloadFormatEncode; + cInfo.iPayloadFormatDecoder = KImplUidiLBCPayloadFormatDecode; + + iStream->iState = CMccSymStreamBase::EStateStreaming; + + // First update ptime + cInfo.iPtime = 40; + MCC_EUNIT_ASSERT_NO_LEAVE( + iStream->UpdateCodecInformationL( iStream->iCodecInfo, cInfo ) ); + + // Then update bitrate which requires also ptime adjustment + cInfo.iBitrate = KIlbcBitrate30; + cInfo.iPtime = 30; + cInfo.iMaxPtime = 180; + MCC_EUNIT_ASSERT_NO_LEAVE( + iStream->UpdateCodecInformationL( iStream->iCodecInfo, cInfo ) ); + + RDebug::Print( _L("UT_CMccSymDlStream::IlbcModeChangeTestL OUT") ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_PrimeLL( ) + { + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->PrimeL(0) ); + + // Can be called twice + iResources->iControlled = EFalse; + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->PrimeL(0) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_PlayLL( ) + { + UT_CMccSymDlStream_PrimeLL(); + + TBool streamPaused( EFalse ); + TBool enableRtcp( EFalse ); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->PlayL( 0, streamPaused, enableRtcp ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_PauseLL( ) + { + UT_CMccSymDlStream_PlayLL(); + + TBool enableRtcp( EFalse ); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->PauseL( 0, enableRtcp ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_ResumeLL( ) + { + UT_CMccSymDlStream_PauseLL(); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->ResumeL( 0, ETrue ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_StopLL( ) + { + UT_CMccSymDlStream_PlayLL(); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->StopL( 0 ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_SetBalanceLL( ) + { + TInt left( 0 ), right( 0 ); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->SetBalanceL( left, right ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_GetBalanceLL( ) + { + TInt left( 0 ), right( 0 ); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->GetBalanceL( left, right ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_GetSSRCLL( ) + { + TUint32 ssrc; + + // KErrNotSupported + EUNIT_ASSERT_LEAVE( iStream->GetSSRCL( ssrc ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_ResetCountersLL( ) + { + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->ResetCountersL() ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_SendMediaSignalL() + { + TMccEvent mmcevent; + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->SendMediaSignalL(mmcevent) ); + + iStream->iDatasource = NULL; + MCC_EUNIT_ASSERT_SPECIFIC_LEAVE( iStream->SendMediaSignalL(mmcevent), KErrNotReady ); + + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_SendRTCPReceiverReportLL( ) + { + MCC_EUNIT_ASSERT_SPECIFIC_LEAVE( iStream->SendRTCPReceiverReportL(), KErrNotReady ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->PrimeL(0) ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->SendRTCPReceiverReportL() ); + iStream->iDatasource = NULL; + EUNIT_ASSERT_LEAVE( iStream->SendRTCPReceiverReportL() ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_SendRTCPSenderReportLL( ) + { + EUNIT_ASSERT_LEAVE( iStream->SendRTCPSenderReportL() ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_StartInactivityTimerLL( ) + { + TUint32 timeoutTime( 5000 ); + + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->StartInactivityTimerL( timeoutTime ) ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_StopInactivityTimerLL( ) + { + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->StopInactivityTimerL() ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_AudioRoutingLL() + { + TUint32 route; + + // This actually works currently in emulator. + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->SetAudioRouteL( KMccAudioToPublic ) ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->GetAudioRouteL( route ) ); + EUNIT_ASSERT( KMccAudioToPublic == route ); + + // KMccAudioToPrivate + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->SetAudioRouteL( KMccAudioToPrivate ) ); + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->GetAudioRouteL( route ) ); + EUNIT_ASSERT( KMccAudioToPrivate == route ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_IsUplink() + { + EUNIT_ASSERT( !iStream->IsUplink() ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_StandByL() + { + MCC_EUNIT_ASSERT_NO_LEAVE( iStream->StandByL() ); + iStream->iDatasource = NULL; + EUNIT_ASSERT_LEAVE( iStream->StandByL() ); + + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_JitterBufferError() + { + TInt err = MJitterBufferObserver::EBufferOverflow; + iStream->JitterBufferError( err ); + + err = MJitterBufferObserver::EBufferUnderflow; + iStream->JitterBufferError( err ); + } + +void UT_CMccSymDlStream::UT_CMccSymDlStream_BindContextIntoStreamL() + { + + TMccCryptoContext context; + TUint32 endpointId = 0; + MCC_EUNIT_ASSERT_SPECIFIC_LEAVE( iStream->BindContextIntoStreamL( endpointId, context ), KErrNotFound ); + endpointId = (TUint32)( iStream->iDatasource ); + + // Key ok (stubbed) + iStream->BindContextIntoStreamL( endpointId, context ); + } + +// TEST TABLE + +EUNIT_BEGIN_TEST_TABLE( + UT_CMccSymDlStream, + "CMccSymDlStream", + "UNIT" ) + +EUNIT_TEST( + "LoadCodecL - test ", + "CMccSymDlStream", + "LoadCodecL", + "FUNCTIONALITY", + Setup2L, UT_CMccSymDlStream_LoadCodecLL, Teardown) + +EUNIT_TEST( + "SetPrioritySettingsL - test ", + "CMccSymDlStream", + "SetPrioritySettingsL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_SetPrioritySettingsLL, Teardown) + +EUNIT_TEST( + "CreatePayloadFormatDecoderL - test ", + "CMccSymDlStream", + "CreatePayloadFormatDecoderL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_CreatePayloadFormatDecoderL, Teardown) + +EUNIT_TEST( + "DoDynamicFrameSizeChangeL - test ", + "CMccSymDlStream", + "DoDynamicFrameSizeChangeL", + "FUNCTIONALITY", + Setup2L, UT_CMccSymDlStream_DoDynamicFrameSizeChangeL, Teardown) + + +EUNIT_TEST( + "MultiplexerSink - test ", + "CMccSymDlStream", + "MultiplexerSink", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_MultiplexerSink, Teardown) + + +EUNIT_TEST( + "AddSinkAndSourceL - test ", + "CMccSymDlStream", + "AddSinkAndSourceL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_AddSinkAndSourceLL, Teardown) + +EUNIT_TEST( + "UpdateCodecInformationL - test ", + "CMccSymDlStream", + "UpdateCodecInformationL", + "FUNCTIONALITY", + Setup2L, UT_CMccSymDlStream_UpdateCodecInformationLL, Teardown) + +EUNIT_TEST( + "IlbcModeChange - test ", + "CMccSymDlStream", + "IlbcModeChangeTestL", + "FUNCTIONALITY", + SetupIlbcL, IlbcModeChangeTestL, Teardown) + +EUNIT_TEST( + "PrimeL - test ", + "CMccSymDlStream", + "PrimeL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_PrimeLL, Teardown) + +EUNIT_TEST( + "PlayL - test ", + "CMccSymDlStream", + "PlayL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_PlayLL, Teardown) + +EUNIT_TEST( + "PauseL - test ", + "CMccSymDlStream", + "PauseL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_PauseLL, Teardown) + +EUNIT_TEST( + "ResumeL - test ", + "CMccSymDlStream", + "ResumeL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_ResumeLL, Teardown) + +EUNIT_TEST( + "StopL - test ", + "CMccSymDlStream", + "StopL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_StopLL, Teardown) + +EUNIT_TEST( + "SetBalanceL - test ", + "CMccSymDlStream", + "SetBalanceL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_SetBalanceLL, Teardown) + +EUNIT_TEST( + "GetBalanceL - test ", + "CMccSymDlStream", + "GetBalanceL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_GetBalanceLL, Teardown) + +EUNIT_TEST( + "GetSSRCL - test ", + "CMccSymDlStream", + "GetSSRCL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_GetSSRCLL, Teardown) + +EUNIT_TEST( + "ResetCountersL - test ", + "CMccSymDlStream", + "ResetCountersL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_ResetCountersLL, Teardown) + +EUNIT_TEST( + "SendMediaSignalL - test ", + "CMccSymDlStream", + "SendMediaSignalL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_SendMediaSignalL, Teardown) + + +EUNIT_TEST( + "SendRTCPReceiverReportL - test ", + "CMccSymDlStream", + "SendRTCPReceiverReportL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_SendRTCPReceiverReportLL, Teardown) + +EUNIT_TEST( + "SendRTCPSenderReportL - test ", + "CMccSymDlStream", + "SendRTCPSenderReportL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_SendRTCPSenderReportLL, Teardown) + +EUNIT_TEST( + "StartInactivityTimerL - test ", + "CMccSymDlStream", + "StartInactivityTimerL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_StartInactivityTimerLL, Teardown) + +EUNIT_TEST( + "StopInactivityTimerL - test ", + "CMccSymDlStream", + "StopInactivityTimerL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_StopInactivityTimerLL, Teardown) + +EUNIT_TEST( + "AudioRoutingL - test ", + "CMccSymDlStream", + "AudioRoutingL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_AudioRoutingLL, Teardown) + +EUNIT_TEST( + "IsUplink - test ", + "CMccSymDlStream", + "IsUplink", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_IsUplink, Teardown) + +EUNIT_TEST( + "StandByL - test ", + "CMccSymDlStream", + "StandByL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_StandByL, Teardown) + +EUNIT_TEST( + "JitterBufferError - test ", + "CMccSymDlStream", + "JitterBufferError", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_JitterBufferError, Teardown) + +EUNIT_TEST( + "BindContextIntoStreamL - test ", + "CMccSymDlStream", + "BindContextIntoStreamL", + "FUNCTIONALITY", + SetupL, UT_CMccSymDlStream_BindContextIntoStreamL, Teardown) + + + + +EUNIT_END_TEST_TABLE + +// END OF FILE