# HG changeset patch # User hgs # Date 1287402446 -3600 # Node ID 9d4397b300d17267019f9afc96e991c68fb82a14 # Parent fcaf4606ba4e10c28863a4d6fb58b371af9fa4a1 2010wk44_01 diff -r fcaf4606ba4e -r 9d4397b300d1 devsound/a3fcharacterisationtest/eabi/char_a3f_devsound.def --- a/devsound/a3fcharacterisationtest/eabi/char_a3f_devsound.def Thu Oct 07 23:44:30 2010 +0100 +++ b/devsound/a3fcharacterisationtest/eabi/char_a3f_devsound.def Mon Oct 18 12:47:26 2010 +0100 @@ -362,4 +362,6 @@ _ZTV44RA3FDevSoundPlayEmptyBuffersWhilePlayingTest @ 361 NONAME _ZTI49RA3FDevSoundPlayPreemptedByToneAfterSetVolumeTest @ 362 NONAME _ZTV49RA3FDevSoundPlayPreemptedByToneAfterSetVolumeTest @ 363 NONAME + _ZTI41RA3FDevSoundTonePlayToneFixedSequenceTest @ 364 NONAME + _ZTV41RA3FDevSoundTonePlayToneFixedSequenceTest @ 365 NONAME diff -r fcaf4606ba4e -r 9d4397b300d1 devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_init.script --- a/devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_init.script Thu Oct 07 23:44:30 2010 +0100 +++ b/devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_init.script Mon Oct 18 12:47:26 2010 +0100 @@ -48,6 +48,7 @@ //4. Start CPeriodic to trigger timer events. //5. Call CancelInitialize() before receiving InitializeComplete() callback. //6. Wait 2 seconds to verify that InitializeComplete() callback is not received. +//7. Repeat steps 3 to 6 one more time to ensure a call to Initialise passes after CancelInitialize is called. //!@SYMTestExpectedResults: //CancelInitialize() returns KErrNone. InitializeComplete() callback shall be not received. PRINT Play tone initialisation - Call CancelInitialize() to abort initialisation for tones @@ -166,6 +167,7 @@ //4. Start CPeriodic to trigger timer events every 2 seconds. //5. Call CancelInitialize() before receiving InitializeComplete() callback . //6. On timer event, verify that InitializeComplete() callback was not received. +//7. Repeat steps 3 to 6 one more time to ensure a call to Initialise passes after CancelInitialize is called. //!@SYMTestExpectedResults: //CancelInitialize() returns KErrNone. //InitializeComplete(KErrNone) callback shall be not received. diff -r fcaf4606ba4e -r 9d4397b300d1 devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_play_tone.script --- a/devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_play_tone.script Thu Oct 07 23:44:30 2010 +0100 +++ b/devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_play_tone.script Mon Oct 18 12:47:26 2010 +0100 @@ -1139,4 +1139,22 @@ //Tone play is paused at current playing tone position. DevSound goes to “Pause Playing Tone” state. PRINT Play tone - Tone sequence - Pause. The client wants to play a tone sequence and pause it. RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0050, c:\mm_a3f_devsound_play_tone.ini -TEST_COMPLETE \ No newline at end of file +TEST_COMPLETE + +//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0064 +//!@SYMREQ: +//!@SYMPREQ: +//!@SYMTestCaseDec: Play tone - Tone sequence - Pause. The client wants to play a tone sequence and pause it. +//!@SYMTestPriority: Normal +//!@SYMTestType: Alternative Usecase +//!@SYMTestActions: +//1. Create and Initialize DevSound instance to play tones. +//1.1 Wait for InitializeComplete(KErrNone) callback response. +//2. Call CMMFDevSound->FixedSequenceCount() this should return 0 +//3. Call CMMFDevSound->FixedSequenceName() this should return KNullDesC +//4. Call CMMFDevSound->PlayFixedSequenceL this should leave with KErrNotSupported +//!@SYMTestExpectedResults: +//Calls to depricated api should return correct values +PRINT Tone - Call deprocated API's +RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0064, c:\mm_a3f_devsound_play_tone.ini +TEST_COMPLETE diff -r fcaf4606ba4e -r 9d4397b300d1 devsound/a3fcharacterisationtest/src/char_a3f_devsound_compliancesuite.cpp --- a/devsound/a3fcharacterisationtest/src/char_a3f_devsound_compliancesuite.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsound/a3fcharacterisationtest/src/char_a3f_devsound_compliancesuite.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -192,6 +192,7 @@ AddTestStepL(RA3FDevSoundTonePlayDTMFStringWithoutCallingInitializeTest::NewL(_L("MM-A3F-DEVSOUND-CHRTZ-TONE-0061"))); AddTestStepL(RA3FDevSoundTonePlayToneSequenceWithoutCallingInitializeTest::NewL(_L("MM-A3F-DEVSOUND-CHRTZ-TONE-0062"))); AddTestStepL(RA3FDevSoundTonePlayToneSequenceUsingInvalidDescriptorTest::NewL(_L("MM-A3F-DEVSOUND-CHRTZ-TONE-0063"))); + AddTestStepL(RA3FDevSoundTonePlayToneFixedSequenceTest::NewL(_L("MM-A3F-DEVSOUND-CHRTZ-TONE-0064"))); //- Record Audio Test Cases --------------------------------------------------------- AddTestStepL(RA3FDevSoundRecordConfigurationSetConfigTest::NewL(_L("MM-A3F-DEVSOUND-CHRTZ-REC-RAW-0001"))); diff -r fcaf4606ba4e -r 9d4397b300d1 devsound/a3fcharacterisationtest/src/char_a3f_devsound_initializationtest.cpp --- a/devsound/a3fcharacterisationtest/src/char_a3f_devsound_initializationtest.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsound/a3fcharacterisationtest/src/char_a3f_devsound_initializationtest.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -147,6 +147,22 @@ ERR_PRINTF2(_L("Unexpected error on CancelInitialize = %d"), err); StopTest(err); } + INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL")); + TRAP(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying)); + if(err != KErrNone) + { + ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err); + StopTest(err); + break; + } + User::After(2000); + INFO_PRINTF1(_L("Calling CMMFDevSound::CancelInitialize")); + err = iMMFDevSound->CancelInitialize(); + if(err != KErrNone) + { + ERR_PRINTF2(_L("Unexpected error on CancelInitialize = %d"), err); + StopTest(err); + } INFO_PRINTF1(_L("DevSound State: EStateInitializing")); iDevSoundState = EStateInitializing; } @@ -744,6 +760,22 @@ ERR_PRINTF2(_L("Unexpected error on CancelInitialize = %d"), err); StopTest(err); } + INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL")); + TRAP(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying)); + if(err != KErrNone) + { + ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err); + StopTest(err); + break; + } + User::After(2000); + INFO_PRINTF1(_L("Calling CMMFDevSound::CancelInitialize")); + err = iMMFDevSound->CancelInitialize(); + if(err != KErrNone) + { + ERR_PRINTF2(_L("Unexpected error on CancelInitialize = %d"), err); + StopTest(err); + } INFO_PRINTF1(_L("DevSound State: EStateInitializing")); iDevSoundState = EStateInitializing; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsound/a3fcharacterisationtest/src/char_a3f_devsound_tonetest.cpp --- a/devsound/a3fcharacterisationtest/src/char_a3f_devsound_tonetest.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsound/a3fcharacterisationtest/src/char_a3f_devsound_tonetest.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -8387,3 +8387,78 @@ } } +/* + *======================================================================================================== + * MM-A3F-DEVSOUND-CHRTZ-TONE-0064 + */ + +RA3FDevSoundTonePlayToneFixedSequenceTest::RA3FDevSoundTonePlayToneFixedSequenceTest(const TDesC& aTestName) + : RA3FDevSoundTestBase(aTestName) + { + } + +RA3FDevSoundTonePlayToneFixedSequenceTest* RA3FDevSoundTonePlayToneFixedSequenceTest::NewL(const TDesC& aTestName) + { + RA3FDevSoundTonePlayToneFixedSequenceTest * self = new(ELeave)RA3FDevSoundTonePlayToneFixedSequenceTest(aTestName); + return self; + } + +void RA3FDevSoundTonePlayToneFixedSequenceTest::DoKickoffTestL() + { + } + +void RA3FDevSoundTonePlayToneFixedSequenceTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError) + { + switch (iDevSoundState) + { + case EStateCreated: + { + __ASSERT_ALWAYS((aError == KErrNone), Panic(_L("RA3FDevSoundTonePlayToneFixedSequenceTest"), EFsmIncorrectErrorPassed)); + if (aDevSoundEvent == EEventInitialize) + { + //FixedSequenceCount is deprecated and should return 0 + INFO_PRINTF1(_L("Calling CMMFDevSound->FixedSequenceCount()")); + iFixedSequenceCount = iMMFDevSound->FixedSequenceCount(); + if(iFixedSequenceCount != 0) + { + INFO_PRINTF2(_L("CMMFDevSound->FixedSequenceCount() returned incorrect value %d"),iFixedSequenceCount); + StopTest(EFail); + break; + } + + //FixedSequenceName is deprecated and should return a Null descriptor + INFO_PRINTF1(_L("Calling CMMFDevSound->FixedSequenceName()")); + TDesC fSeqName = iMMFDevSound->FixedSequenceName(0); + if(fSeqName != KNullDesC) + { + INFO_PRINTF1(_L("CMMFDevSound->FixedSequenceName() returned wrong name")); + StopTest(EFail); + break; + } + + //PlayFixedSequenceL is not supported + INFO_PRINTF1(_L("Calling iMMFDevSound->PlayFixedSequenceL()")); + TRAPD(err, iMMFDevSound->PlayFixedSequenceL(0)); + if(err!=KErrNotSupported) + { + INFO_PRINTF1(_L("CMMFDevSound->PlayFixedSequenceL() did not leave with KErrNotSupported")); + StopTest(EFail); + break; + } + StopTest(); + } + break; + } + + default: + { + ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState); + StopTest(aError, EFail); + } + + } + + } + + + diff -r fcaf4606ba4e -r 9d4397b300d1 devsound/a3fcharacterisationtest/src/char_a3f_devsound_tonetest.h --- a/devsound/a3fcharacterisationtest/src/char_a3f_devsound_tonetest.h Thu Oct 07 23:44:30 2010 +0100 +++ b/devsound/a3fcharacterisationtest/src/char_a3f_devsound_tonetest.h Mon Oct 18 12:47:26 2010 +0100 @@ -1351,6 +1351,23 @@ TBuf8 iInvalidToneSequence; }; +/* + *======================================================================================================== + * MM-A3F-DEVSOUND-CHRTZ-TONE-0064 + */ + +class RA3FDevSoundTonePlayToneFixedSequenceTest : public RA3FDevSoundTestBase + { +public: + static RA3FDevSoundTonePlayToneFixedSequenceTest* NewL(const TDesC& aTestName); +private: + RA3FDevSoundTonePlayToneFixedSequenceTest(const TDesC& aTestName); + void Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError); + void DoKickoffTestL(); + +private: + TInt iFixedSequenceCount; + }; #endif //CHAR_A3F_DEVSOUND_TONETEST_H diff -r fcaf4606ba4e -r 9d4397b300d1 devsound/a3fdevsound/src/devsoundadaptor/cdevcommoncontrol.cpp --- a/devsound/a3fdevsound/src/devsoundadaptor/cdevcommoncontrol.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsound/a3fdevsound/src/devsoundadaptor/cdevcommoncontrol.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -640,10 +640,11 @@ iDevAudio->iActiveState = EDevSoundAdaptorCreated_Uninitialised; + // This will unregister audio callback observers in case they are registered again + ContextEventStopDevSoundNotifications(); + if (iDevAudio->iReinitializing) { - ContextEventStopDevSoundNotifications(); - TInt err = iDevAudio->Initialize(iDevAudio->iTargetFormat, iDevAudio->iTargetMode); if(err) { diff -r fcaf4606ba4e -r 9d4397b300d1 devsound/a3fdevsound/src/mmfdevsoundproxy/mmfdevsoundcallbackhandler.cpp --- a/devsound/a3fdevsound/src/mmfdevsoundproxy/mmfdevsoundcallbackhandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsound/a3fdevsound/src/mmfdevsoundproxy/mmfdevsoundcallbackhandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -288,22 +288,20 @@ // the chunk has been closed by the server. No action should be taken. TBool requestChunk = iDataBuffer==NULL; // if we have no buffer, tell server we need a chunk handle TInt handle = iDevSoundProxy->BufferToBeFilledData(requestChunk, iSetPckg); - if(handle >= KErrNone) + User::LeaveIfError(handle); + + if ( iSetPckg().iChunkOp == EOpen ) { - if ( iSetPckg().iChunkOp == EOpen ) - { - AssignDataBufferToChunkL(handle); - } - else - { - UpdateDataBufferL(); - } - iDataBuffer->SetStatus(EAvailable); - - // Let the MMF fill the buffer with data - - iDevSoundObserver.BufferToBeFilled(iDataBuffer); + AssignDataBufferToChunkL(handle); } + else + { + UpdateDataBufferL(); + } + iDataBuffer->SetStatus(EAvailable); + + // Let the MMF fill the buffer with data + iDevSoundObserver.BufferToBeFilled(iDataBuffer); SYMBIAN_DEBPRN0(_L("CMsgQueueHandler[0x%x]::DoBTBFCompleteL - Exit")); } @@ -320,16 +318,18 @@ // any error is assumed to be due to a pending RecordError(), so the error here is ignored - the RecordError() call will ensure the client remains lively // the chunk has been closed by the server. No action should be taken. TInt handle = iDevSoundProxy->BufferToBeEmptiedData(iSetPckg); - if(handle >= KErrNone) + User::LeaveIfError(handle); + + if ( iSetPckg().iChunkOp == EOpen ) { - if ( iSetPckg().iChunkOp == EOpen ) - { - AssignDataBufferToChunkL(handle); - } - iDataBuffer->SetStatus(EFull); - iDataBuffer->Data().SetLength(iSetPckg().iRequestSize); - iDevSoundObserver.BufferToBeEmptied(iDataBuffer); + AssignDataBufferToChunkL(handle); } + + __ASSERT_ALWAYS(iDataBuffer, User::Leave(KErrGeneral)); //iDataBuffer should never be empty here + iDataBuffer->SetStatus(EFull); + iDataBuffer->Data().SetLength(iSetPckg().iRequestSize); + iDevSoundObserver.BufferToBeEmptied(iDataBuffer); + SYMBIAN_DEBPRN0(_L("CMsgQueueHandler[0x%x]::DoBTBECompleteL - Exit")); } @@ -416,7 +416,7 @@ void CMsgQueueHandler::UpdateDataBufferL() { SYMBIAN_DEBPRN0(_L("CMsgQueueHandler[0x%x]::UpdateDataBufferL - Enter")); - ASSERT(iDataBuffer); // to get here, we should have a data buffer + __ASSERT_ALWAYS(iDataBuffer, User::Leave(KErrGeneral)); // to get here, we should have a data buffer iDataBuffer->SetPtr(iChunkDataPtr); iDataBuffer->SetRequestSizeL(iSetPckg().iRequestSize); iDataBuffer->SetLastBuffer(EFalse); diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/audiorouting/Output/AudioOutputMessageHandler/src/AudioOutputMessageHandler.cpp --- a/devsoundextensions/audiorouting/Output/AudioOutputMessageHandler/src/AudioOutputMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/audiorouting/Output/AudioOutputMessageHandler/src/AudioOutputMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -47,8 +47,9 @@ CAudioOutput* audioOutput = (CAudioOutput*)aCustomInterface; CAudioOutputMessageHandler* self = new (ELeave) CAudioOutputMessageHandler(audioOutput, aContainer); - + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/audiorouting/Output/AudioOutputProxy/src/AudioOutputProxy.cpp --- a/devsoundextensions/audiorouting/Output/AudioOutputProxy/src/AudioOutputProxy.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/audiorouting/Output/AudioOutputProxy/src/AudioOutputProxy.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -52,7 +52,9 @@ CCustomInterfaceUtility* aCustomInterfaceUtility) { CAudioOutputProxy* self = new(ELeave) CAudioOutputProxy(aMessageHandler,aCustomCommand,aCustomInterfaceUtility); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/group/ciextnserverplugin.mmp --- a/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/group/ciextnserverplugin.mmp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/group/ciextnserverplugin.mmp Mon Oct 18 12:47:26 2010 +0100 @@ -28,7 +28,6 @@ SOURCEPATH ../src SOURCE ciextnserverplugin.cpp -SOURCE ciextnserverpluginwrapper.cpp SOURCE main.cpp USERINCLUDE . diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.cpp --- a/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -59,11 +59,7 @@ { DEB_TRACE0(_L("*CI* CCIExtnServerPlugin::Setup")); TInt status(KErrNone); - TRAPD(err, iCiExtnServerPluginWrapper = CIExtnServerPluginWrapper::NewL(aInterface)); - if (err == KErrNone) - { - iMCustomInterface = iCiExtnServerPluginWrapper->GetInterface(); - } + iMCustomInterface = &aInterface; TRAP_IGNORE(InitializeMsgHndlrPluginsL()); return status; } @@ -111,7 +107,6 @@ iMCIMsgHndlrIntfcList.Reset(); iMCIMsgHndlrIntfcList.Close(); - iCiExtnServerPluginWrapper->Release(); REComSession::DestroyedImplementation(iDestructorKey); diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.h --- a/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.h Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.h Mon Oct 18 12:47:26 2010 +0100 @@ -24,7 +24,6 @@ // Include files #include #include -#include "ciextnserverpluginwrapper.h" // Forward declarations class MCustomInterface; @@ -99,12 +98,6 @@ MCustomInterface* iMCustomInterface; /** - * Reference to MCustomInterface interface - * Not own. - */ - CIExtnServerPluginWrapper* iCiExtnServerPluginWrapper; - - /** * Uid of the plugin object passed by the framework via PassDestructorKey() */ TUid iDestructorKey; diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverpluginwrapper.cpp --- a/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverpluginwrapper.cpp Thu Oct 07 23:44:30 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,149 +0,0 @@ -/* - * Copyright (c) 2002-2008 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 definition of server plugin wrapper implementing S60 custom interface. - * - */ - -#include "ciextnserverpluginwrapper.h" -#include "citraces.h" -#include -#include - -#define KMuxTempBufferSize 20 - -#ifdef __WINSCW__ -class MyMCustomInterface - { -public: - virtual TAny* CustomInterface(TUid aCustomeInterface) = 0; - virtual void Release() = 0; - virtual void PassDestructionKey(TUid aUid) = 0; - }; -#endif - -CIExtnServerPluginWrapper* CIExtnServerPluginWrapper::NewL( - MCustomInterface& aInterfaceRef) - { - DEB_TRACE0(_L("CIExtnServerPluginWrapper::NewL Begin")); - CIExtnServerPluginWrapper* self = new (ELeave) CIExtnServerPluginWrapper( - aInterfaceRef); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - DEB_TRACE0(_L("CIExtnServerPluginWrapper::NewL End")); - return self; - } - -CIExtnServerPluginWrapper::~CIExtnServerPluginWrapper() - { - DEB_TRACE0(_L("CIExtnServerPluginWrappers::~CIExtnServerPluginWrapper Begin")); - DEB_TRACE0(_L("CIExtnServerPluginWrapper::~CIExtnServerPluginWrapper End")); - } - -CIExtnServerPluginWrapper::CIExtnServerPluginWrapper( - MCustomInterface& aInterfaceRef) : - iCustomInterfaceRef(&aInterfaceRef) - { - } - -void CIExtnServerPluginWrapper::ConstructL() - { -#ifdef __WINSCW__ - DEB_TRACE0(_L("Try Loading CI Stub Plugin")); - TUid interfaceUid = - { - 0x10207C71 - }; - TAny* pluginRef; - TRAPD(error, pluginRef = REComSession::CreateImplementationL( interfaceUid, iDtor_ID_Key )); - if (pluginRef) - { - DEB_TRACE1(_L("CreateImplementationL Uid [0x%x]"), iDtor_ID_Key.iUid); - iCustomInterfaceStub = (MyMCustomInterface*) pluginRef; - iCustomInterfaceStub->PassDestructionKey(iDtor_ID_Key); - DEB_TRACE0(_L("CI Stub Loaded")); - } -#endif - - } - -MCustomInterface* CIExtnServerPluginWrapper::GetInterface() - { - DEB_TRACE0(_L("CIExtnServerPluginWrappers::GetInterface")); - return (MCustomInterface*) this; - } - -TAny* CIExtnServerPluginWrapper::CustomInterface(TUid aInterfaceId) - { - DEB_TRACE0(_L("*CI* CIExtnServerPluginWrapper::CustomInterface")); - TAny* pluginRef = NULL; - pluginRef = iCustomInterfaceRef->CustomInterface(aInterfaceId); -#ifdef __WINSCW__ - if (!pluginRef) - { - DEB_TRACE0(_L("*CI* Try Loading CI Stub if present")); - pluginRef = iCustomInterfaceStub->CustomInterface(aInterfaceId); - if (pluginRef) - { - DEB_TRACE0(_L("*CI* CI Stub Loaded")); - } - } -#endif - return pluginRef; - } - -void CIExtnServerPluginWrapper::Release() - { - DEB_TRACE0(_L("CIExtnServerPluginWrappers::Release >> ENTER")); -#ifdef __WINSCW__ - iCustomInterfaceStub->Release(); -#endif - DEB_TRACE0(_L("CIExtnServerPluginWrappers::Release >> EXIT")); - delete this; - } - -/* - TAny* CIExtnServerPluginWrapper::CustomInterface(TUid aInterfaceId) - { - DEB_TRACE0(_L("CIExtnServerPluginWrappers::CustomInterface")); - TUid interfaceUid = - { - 0x10207C49 - }; - TEComResolverParams resolverParams; - DEB_TRACE1(_L("Findig CustomInterface with Uid [0x%x]"),aInterfaceId.iUid); - TInt uidAsInteger = aInterfaceId.iUid; - TBuf8 tempBuffer; - tempBuffer.Num(uidAsInteger, EHex); - resolverParams.SetDataType(tempBuffer); - - TAny* ptr = NULL; - TRAPD(err, ptr=REComSession::CreateImplementationL( - interfaceUid, - _FOFF(CIExtnServerPluginWrapper, iDtor_ID_Key),resolverParams)); - if (err != KErrNone) - { - DEB_TRACE1(_L("No Custom Interface found: Error [%d]"),err); - } - if (ptr) - { - DEB_TRACE1(_L("Stub Present for Uid [0x%x]"),interfaceUid); - return ptr; - } - else - { - return iCustomInterfaceRef->CustomInterface(aInterfaceId); - } - } - */ diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverpluginwrapper.h --- a/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverpluginwrapper.h Thu Oct 07 23:44:30 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -/* -* Copyright (c) 2002-2008 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: Header definition of server plugin wrapper class implementig S60 custom interface. -* -*/ - - -#ifndef CIEXTNSERVERPLUGINWRAPPER_H -#define CIEXTNSERVERPLUGINWRAPPER_H - -#include -#include - -// Forward declarations -class MCustomInterface; -class MyMCustomInterface; - -class CIExtnServerPluginWrapper : public CBase, - public MCustomInterface - { - public: // Constructors and destructor - - /** - * Constructs, and returns a pointer to, a new CIExtnCustomInterfaceS60 object. - * Leaves on failure.. - * @param MCustomInterface& aInterfaceRef A reference to MCustomInterface. - * @return CIExtnCustomInterfaceS60* A pointer to newly created object. - */ - static CIExtnServerPluginWrapper* NewL(MCustomInterface& aInterfaceRef); - - /** - * Destructor. - */ - ~CIExtnServerPluginWrapper(); - - public: - /** - Obtain a custom interface - @param aInterfaceId The UID of the required custom interface - @return a pointer to the custom interface - */ - TAny* CustomInterface(TUid aInterfaceId); - - public: - MCustomInterface* GetInterface(); - void Release(); - private: - - /** - * Default Constructor - */ - CIExtnServerPluginWrapper(MCustomInterface& aInterfaceRef); - - /** - * Second phase constructor. - */ - void ConstructL(); - - private: - MCustomInterface* iCustomInterfaceRef; - MyMCustomInterface* iCustomInterfaceStub; - - private: - TUid iDtor_ID_Key; - }; - -#endif // CIEXTNSERVERPLUGINWRAPPER_H diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/drmaudioplayer/DRMPlayServer/src/DRMPlaySession.cpp --- a/devsoundextensions/drmaudioplayer/DRMPlayServer/src/DRMPlaySession.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/drmaudioplayer/DRMPlayServer/src/DRMPlaySession.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -362,6 +362,7 @@ aMessage.Read(1,params); aMessage.Read(2,iErrDurPckg); HBufC16* inputBuf = HBufC16::NewL(aMessage.GetDesLengthL(3)); + CleanupStack::PushL(inputBuf); TPtr16 ptr = inputBuf->Des(); aMessage.Read(3,ptr); const TDataStruct &theStruct = params(); @@ -371,6 +372,7 @@ *this, iPriority, iPref); + CleanupStack::Pop(inputBuf); delete inputBuf; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/drmaudioplayer/DRMPlayUtility/src/MediaClientDrm.cpp --- a/devsoundextensions/drmaudioplayer/DRMPlayUtility/src/MediaClientDrm.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/drmaudioplayer/DRMPlayUtility/src/MediaClientDrm.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -1160,7 +1160,9 @@ s.Open(*iMetaDataBuffer); CleanupClosePushL(s); CMMFMetaDataEntry* theMetaDataEntry = CMMFMetaDataEntry::NewL(); + CleanupStack::PushL(theMetaDataEntry); theMetaDataEntry->InternalizeL(s); + CleanupStack::Pop(theMetaDataEntry); CleanupStack::PopAndDestroy();//s return theMetaDataEntry; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/AudioEqualizer/AudioEqualizerMessageHandler/src/AudioEqualizerMessageHandler.cpp --- a/devsoundextensions/effects/AudioEqualizer/AudioEqualizerMessageHandler/src/AudioEqualizerMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/AudioEqualizer/AudioEqualizerMessageHandler/src/AudioEqualizerMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -48,7 +48,9 @@ { CAudioEqualizer* audioEqualizer = (CAudioEqualizer*)aCustomInterface; CAudioEqualizerMessageHandler* self = new (ELeave) CAudioEqualizerMessageHandler(audioEqualizer); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/BassBoost/BassBoostMessageHandler/src/BassBoostMessageHandler.cpp --- a/devsoundextensions/effects/BassBoost/BassBoostMessageHandler/src/BassBoostMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/BassBoost/BassBoostMessageHandler/src/BassBoostMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -48,7 +48,9 @@ { CBassBoost* bassboost = (CBassBoost*)aCustomInterface; CBassBoostMessageHandler* self = new (ELeave) CBassBoostMessageHandler(bassboost); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/DistAtten/DistanceAttenuationMessageHandler/src/DistanceAttenuationMessageHandler.cpp --- a/devsoundextensions/effects/DistAtten/DistanceAttenuationMessageHandler/src/DistanceAttenuationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/DistAtten/DistanceAttenuationMessageHandler/src/DistanceAttenuationMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -47,7 +47,9 @@ { CDistanceAttenuation* aDistanceAttenuation = (CDistanceAttenuation*)aCustomInterface; CDistanceAttenuationMessageHandler* self = new (ELeave) CDistanceAttenuationMessageHandler(aDistanceAttenuation); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/EnvReverb/EnvironmentalReverbMessageHandler/src/EnvironmentalReverbMessageHandler.cpp --- a/devsoundextensions/effects/EnvReverb/EnvironmentalReverbMessageHandler/src/EnvironmentalReverbMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/EnvReverb/EnvironmentalReverbMessageHandler/src/EnvironmentalReverbMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -48,7 +48,9 @@ { CEnvironmentalReverb* environmentalReverb = (CEnvironmentalReverb*)aCustomInterface; CEnvironmentalReverbMessageHandler* self = new (ELeave) CEnvironmentalReverbMessageHandler(environmentalReverb); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/ListDoppler/ListenerDopplerMessageHandler/src/ListenerDopplerMessageHandler.cpp --- a/devsoundextensions/effects/ListDoppler/ListenerDopplerMessageHandler/src/ListenerDopplerMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/ListDoppler/ListenerDopplerMessageHandler/src/ListenerDopplerMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -48,7 +48,9 @@ { CListenerDoppler* doppler = (CListenerDoppler*)aCustomInterface; CListenerDopplerMessageHandler* self = new (ELeave) CListenerDopplerMessageHandler(doppler); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/ListLocation/ListenerLocationMessageHandler/src/ListenerLocationMessageHandler.cpp --- a/devsoundextensions/effects/ListLocation/ListenerLocationMessageHandler/src/ListenerLocationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/ListLocation/ListenerLocationMessageHandler/src/ListenerLocationMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -48,7 +48,9 @@ { CListenerLocation* bassboost = (CListenerLocation*)aCustomInterface; CListenerLocationMessageHandler* self = new (ELeave) CListenerLocationMessageHandler(bassboost); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/ListOrient/ListenerOrientationMessageHandler/src/ListenerOrientationMessageHandler.cpp --- a/devsoundextensions/effects/ListOrient/ListenerOrientationMessageHandler/src/ListenerOrientationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/ListOrient/ListenerOrientationMessageHandler/src/ListenerOrientationMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -48,7 +48,9 @@ { CListenerOrientation* bassboost = (CListenerOrientation*)aCustomInterface; CListenerOrientationMessageHandler* self = new (ELeave) CListenerOrientationMessageHandler(bassboost); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/Loudness/LoudnessMessageHandler/src/LoudnessMessageHandler.cpp --- a/devsoundextensions/effects/Loudness/LoudnessMessageHandler/src/LoudnessMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/Loudness/LoudnessMessageHandler/src/LoudnessMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -47,7 +47,9 @@ { CLoudness* aLoudness = (CLoudness*)aCustomInterface; CLoudnessMessageHandler* self = new (ELeave) CLoudnessMessageHandler(aLoudness); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/RoomLevel/RoomLevelMessageHandler/src/RoomLevelMessageHandler.cpp --- a/devsoundextensions/effects/RoomLevel/RoomLevelMessageHandler/src/RoomLevelMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/RoomLevel/RoomLevelMessageHandler/src/RoomLevelMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -49,7 +49,9 @@ { CRoomLevel* roomLevel = (CRoomLevel*)aCustomInterface; CRoomLevelMessageHandler* self = new (ELeave) CRoomLevelMessageHandler(roomLevel); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/SrcDoppler/SourceDopplerMessageHandler/src/SourceDopplerMessageHandler.cpp --- a/devsoundextensions/effects/SrcDoppler/SourceDopplerMessageHandler/src/SourceDopplerMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/SrcDoppler/SourceDopplerMessageHandler/src/SourceDopplerMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -48,7 +48,9 @@ { CSourceDoppler* doppler = (CSourceDoppler*)aCustomInterface; CSourceDopplerMessageHandler* self = new (ELeave) CSourceDopplerMessageHandler(doppler); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/SrcLocation/SourceLocationMessageHandler/src/SourceLocationMessageHandler.cpp --- a/devsoundextensions/effects/SrcLocation/SourceLocationMessageHandler/src/SourceLocationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/SrcLocation/SourceLocationMessageHandler/src/SourceLocationMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -48,7 +48,9 @@ { CSourceLocation* bassboost = (CSourceLocation*)aCustomInterface; CSourceLocationMessageHandler* self = new (ELeave) CSourceLocationMessageHandler(bassboost); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/SrcOrientation/SourceOrientationMessageHandler/src/SourceOrientationMessageHandler.cpp --- a/devsoundextensions/effects/SrcOrientation/SourceOrientationMessageHandler/src/SourceOrientationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/SrcOrientation/SourceOrientationMessageHandler/src/SourceOrientationMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -48,7 +48,9 @@ { CSourceOrientation* bassboost = (CSourceOrientation*)aCustomInterface; CSourceOrientationMessageHandler* self = new (ELeave) CSourceOrientationMessageHandler(bassboost); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/effects/StereoWidening/StereoWideningMessageHandler/src/StereoWideningMessageHandler.cpp --- a/devsoundextensions/effects/StereoWidening/StereoWideningMessageHandler/src/StereoWideningMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/effects/StereoWidening/StereoWideningMessageHandler/src/StereoWideningMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -47,7 +47,9 @@ { CStereoWidening* aStereoWidening = (CStereoWidening*)aCustomInterface; CStereoWideningMessageHandler* self = new (ELeave) CStereoWideningMessageHandler(aStereoWidening); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/mmextfw/custominterfaceutility/CustomInterfaceUtility/src/CustomInterfaceUtility.cpp --- a/devsoundextensions/mmextfw/custominterfaceutility/CustomInterfaceUtility/src/CustomInterfaceUtility.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/mmextfw/custominterfaceutility/CustomInterfaceUtility/src/CustomInterfaceUtility.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -30,16 +30,18 @@ EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CMdaAudioConvertUtility& aUtility) { CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); + CleanupStack::PushL(customCommandUtility); CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); - + CleanupStack::Pop(customCommandUtility); return util; } EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CMdaAudioPlayerUtility& aUtility) { CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); + CleanupStack::PushL(customCommandUtility); CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); - + CleanupStack::Pop(customCommandUtility); return util; } @@ -47,8 +49,9 @@ TBool aRecordStream) { CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility,aRecordStream); + CleanupStack::PushL(customCommandUtility); CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); - + CleanupStack::Pop(customCommandUtility); return util; } @@ -78,8 +81,9 @@ EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CMidiClientUtility& aUtility) { CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); + CleanupStack::PushL(customCommandUtility); CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); - + CleanupStack::Pop(customCommandUtility); return util; } @@ -93,24 +97,27 @@ EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CDrmPlayerUtility& aUtility) { CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); + CleanupStack::PushL(customCommandUtility); CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); - + CleanupStack::Pop(customCommandUtility); return util; } EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CVideoPlayerUtility& aUtility) { CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); + CleanupStack::PushL(customCommandUtility); CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); - + CleanupStack::Pop(customCommandUtility); return util; } EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CVideoRecorderUtility& aUtility) { CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); + CleanupStack::PushL(customCommandUtility); CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); - + CleanupStack::Pop(customCommandUtility); return util; } diff -r fcaf4606ba4e -r 9d4397b300d1 devsoundextensions/restrictedaudiooutput/RestrictedAudioOutputMessageHandler/src/RestrictedAudioOutputMessageHandler.cpp --- a/devsoundextensions/restrictedaudiooutput/RestrictedAudioOutputMessageHandler/src/RestrictedAudioOutputMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/devsoundextensions/restrictedaudiooutput/RestrictedAudioOutputMessageHandler/src/RestrictedAudioOutputMessageHandler.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -39,8 +39,9 @@ { CRestrictedAudioOutput* audioOutput = (CRestrictedAudioOutput*)aCustomInterface; CRestrictedAudioOutputMessageHandler* self = new (ELeave) CRestrictedAudioOutputMessageHandler(audioOutput); - + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); return self; } diff -r fcaf4606ba4e -r 9d4397b300d1 mmaudio_pub/drm_audio_player_api/tsrc/Conf/DRMAudioPlaybackRegressionTestModuleFH.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmaudio_pub/drm_audio_player_api/tsrc/Conf/DRMAudioPlaybackRegressionTestModuleFH.cfg Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,4518 @@ + +//************************** +//* Play 3GPP , 3g2 and MP4 +//************************** +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.3GP.3g2.mp4.FH.1 - Play mp4 audio +SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +Expected Duration 28 978 000 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.3GP.3g2.mp4.FH.2 - Play 3gpp-aac audio +SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +Expected Duration 29 1020 000 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.3GP.3g2.mp4.FH.3 - Play 3gpp-amr audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +Expected Duration 37 420 000 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.3GP.3g2.mp4.FH.4 - Play 3gpp-awb audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +Expected Duration 38 460 000 +ErrorRange 1 500 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.3GP.3g2.mp4.FH.5 - Play 3gpp2-aac audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.3GP.3g2.mp4.FH.6 - Play 3gpp2-amr audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.3GP.3g2.mp4.FH.7 - Play 3gpp2-awb audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +ErrorRange 1 500 000 +[End_TestCase] + + + + +//************************** +//* Play and Stop (ID 1021) +//************************** + +#[TestCase] +#id 1021 +#Title Plugin.DRM.3GP.3g2.mp4.FH.8 - PlayStop mp4 audio +#SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +#SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.3GP.3g2.mp4.FH.9 - PlayStop 3gpp-aac audio +#SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +#SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.3GP.3g2.mp4.FH.10 - PlayStop 3gpp-amr audio +#SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +#SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.3GP.3g2.mp4.FH.11 - PlayStop 3gpp-awb audio +#SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +#SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.3GP.3g2.mp4.FH.12 - Play 3gpp2-aac audio +#SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +#SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.3GP.3g2.mp4.FH.13 - Play 3gpp2-amr audio +#SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +#SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.3GP.3g2.mp4.FH.14 - Play 3gpp2-awb audio +#SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +#SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + +//************************** +//* Play Pause Play (ID 1022) +//************************** + +[TestCase] +id 1022 +Title Plugin.DRM.3GP.3g2.mp4.FH.15 - PlayPausePlay mp4 audio +SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.3GP.3g2.mp4.FH.16 - PlayPausePlay 3gpp-aac audio +SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.3GP.3g2.mp4.FH.17 - PlayPausePlay 3gpp-amr audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.3GP.3g2.mp4.FH.18 - PlayPausePlay 3gpp-awb audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 1 500 000 +[End_TestCase] + + +[TestCase] +id 1022 +Title Plugin.DRM.3GP.3g2.mp4.FH.19 - Play 3gpp2-aac audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.3GP.3g2.mp4.FH.20 - Play 3gpp2-amr audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 1 500 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.3GP.3g2.mp4.FH.21 - Play 3gpp2-awb audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 1 500 000 +[End_TestCase] + + +//************************** +//* Set Position - Play (ID 1024) +//************************** + +[TestCase] +id 1024 +Title Plugin.DRM.3GP.3g2.mp4.FH.22 - SetPosition_Play mp4 audio +SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +Position 20 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.3GP.3g2.mp4.FH.23 - SetPosition_Play 3gpp-aac audio +SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.3GP.3g2.mp4.FH.24 - SetPosition_Play 3gpp-amr audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.3GP.3g2.mp4.FH.25 - SetPosition_Play 3gpp-awb audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.3GP.3g2.mp4.FH.26 - Play 3gpp2-aac audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.3GP.3g2.mp4.FH.27 - Play 3gpp2-amr audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.3GP.3g2.mp4.FH.28 - Play 3gpp2-awb audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + + +//************************** +//* Play - Get Position (ID 1025) +//************************** +// Delay is the setting position, meaning every delay value, the get position is called. +// This info be seen on the log file. + +[TestCase] +id 1025 +Title Plugin.DRM.3GP.3g2.mp4.FH.29 - GetPosition_Play mp4 audio +SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.3GP.3g2.mp4.FH.30 - GetPosition_Play 3gpp-aac audio +SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.3GP.3g2.mp4.FH.31 - GetPosition_Play 3gpp-amr audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.3GP.3g2.mp4.FH.32 - GetPosition_Play 3gpp-awb audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.3GP.3g2.mp4.FH.33 - Play 3gpp2-aac audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.3GP.3g2.mp4.FH.34 - Play 3gpp2-amr audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.3GP.3g2.mp4.FH.35 - Play 3gpp2-awb audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Get Duration (ID 1026) +//************************** + +[TestCase] +id 1026 +Title Plugin.DRM.3GP.3g2.mp4.FH.36 - GetDuration mp4 audio +SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.3GP.3g2.mp4.FH.37 - GetDuration 3gpp-aac audio +SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.3GP.3g2.mp4.FH.38 - GetDuration 3gpp-amr audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.3GP.3g2.mp4.FH.39 - GetDuration 3gpp-awb audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.3GP.3g2.mp4.FH.40 - GetDuration 3gpp2-aac audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.3GP.3g2.mp4.FH.41 - GetDuration 3gpp2-amr audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.3GP.3g2.mp4.FH.42 - GetDuration 3gpp2-awb audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +Delay 1000000 +[End_TestCase] + + + + +//************************** +//* Play - Volume Ramping (ID 1023) +//************************** + +[TestCase] +id 1023 +Title Plugin.DRM.3GP.3g2.mp4.FH.43 - VolumeRamping mp4 audio +SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.3GP.3g2.mp4.FH.44 - VolumeRamping 3gpp-aac audio +SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.3GP.3g2.mp4.FH.45 - VolumeRamping 3gpp-amr audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.3GP.3g2.mp4.FH.46 - VolumeRamping 3gpp-awb audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.3GP.3g2.mp4.FH.47 - VolumeRamping 3gpp2-aac audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.3GP.3g2.mp4.FH.48 - VolumeRamping 3gpp2-amr audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.3GP.3g2.mp4.FH.49 - VolumeRamping 3gpp2-awb audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Set Playback Window (ID 1027) +//************************** + +[TestCase] +id 1027 +Title Plugin.DRM.3GP.3g2.mp4.FH.50 - SetPlaybackWindow mp4 audio +SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.3GP.3g2.mp4.FH.51 - SetPlaybackWindow 3gpp-aac audio +SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.3GP.3g2.mp4.FH.52 - SetPlaybackWindow 3gpp-amr audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.3GP.3g2.mp4.FH.53 - SetPlaybackWindow 3gpp-awb audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.3GP.3g2.mp4.FH.54 - SetPlaybackWindow 3gpp2-aac audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.3GP.3g2.mp4.FH.55 - SetPlaybackWindow 3gpp2-amr audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.3GP.3g2.mp4.FH.56 - SetPlaybackWindow 3gpp2-awb audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + + +//************************** +//* Play - Delete Playback Window (ID 1028) +//************************** + +[TestCase] +id 1028 +Title Plugin.DRM.3GP.3g2.mp4.FH.57 - DeletePlaybackWindow mp4 audio +SoundFile e:\sounds\3gpp\10s_MP4_16kbps_22.05khz_mono.mp4 +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.3GP.3g2.mp4.FH.58 - DeletePlaybackWindow 3gpp-aac audio +SoundFile e:\sounds\3gpp\10s_3GP_AAC+_24kbps_16khz_mono.3gp +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.3GP.3g2.mp4.FH.59 - DeletePlaybackWindow 3gpp-amr audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_NB_mode3.3gp +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.3GP.3g2.mp4.FH.60 - DeletePlaybackWindow 3gpp-awb audio +SoundFile e:\sounds\3gpp\10s_3GP_AMR_WB_mode0.3gp +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1028 +Title Plugin.DRM.3GP.3g2.mp4.FH.61 - DeletePlaybackWindow 3gpp2-aac audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AAC_Generic.3g2 +StartPosition 15 000 000 +EndPosition 35 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.3GP.3g2.mp4.FH.62 - DeletePlaybackWindow 3gpp2-amr audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AMR_Generic.3g2 +StartPosition 15 000 000 +EndPosition 35 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.3GP.3g2.mp4.FH.63 - DeletePlaybackWindow 3gpp2-awb audio +SoundFile e:\sounds\3gpp2\10s_3GPP2_AWB_Generic.3g2 +StartPosition 15 000 000 +EndPosition 35 000 000 +Delay 1000000 +[End_TestCase] + + +//************************************ +//* Play AAC-ADTS LC (ID 1020) +//************************************ +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.1 - Play 8Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_8khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.2 - Play 11Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_11.025khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.3 - Play 12Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_12khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.4 - Play 16Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_16khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.5 - Play 22Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_22.05khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.6 - Play 24Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_24khz_stereo.aac +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.7 - Play 32Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_32khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.8 - Play 44Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_44.1khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.9 - Play 48Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_48khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.10 - Play 64Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_44kbps_64khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.11 - Play 88Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_44kbps_88khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.12 - Play 96Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_44kbps_96khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + + + +//************************************ +//* Play AAC-ADTS MPEG2 (ID 1020) +//************************************ +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.13 - Play 44Khz ADTS MPEG2 +SoundFile e:\sounds\aac\ADTS\MPEG2\10s_AAC_LC_42kbps_44.1khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.14 - Play 88Khz ADTS MPEG2 +SoundFile e:\sounds\aac\ADTS\MPEG2\10s_AAC_LC_68kbps_88khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + + +//************************************ +//* Play AAC-ADTS MPEG4 (ID 1020) +//************************************ +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.15 - Play 11Khz ADTS MPEG4 +SoundFile e:\sounds\aac\ADTS\MPEG4\10s_AAC_LC_64kbps_11.025khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.16 - Play 48Khz ADTS MPEG4 +SoundFile e:\sounds\aac\ADTS\MPEG4\10s_AAC_LC_44kbps_48khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.17 - Play 88Khz ADTS MPEG4 +SoundFile e:\sounds\aac\ADTS\MPEG4\10s_AAC_LC_83kbps_88khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + + +//************************************ +//* Play AAC-ADTS LC (ID 1021) +//************************************ +// Testing Play Stop Play to EOF + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.18 - PlayStop 8Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_8khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_8khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.19 - PlayStop 11Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_11.025khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_11.025khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.20 - PlayStop 12Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_12khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_12khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.21 - PlayStop 16Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_16khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_16khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.22 - PlayStop 22Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_22.05khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_22.05khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.23 - PlayStop 24Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_24khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_24khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.24 - PlayStop 32Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_32khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_32khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.25 - PlayStop 44Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_44.1khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_44.1khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.26 - PlayStop 48Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_48khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_48khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.27 - PlayStop 64Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_44kbps_64khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_44kbps_64khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.28 - PlayStop 88Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_44kbps_88khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_44kbps_88khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1021 +Title Plugin.DRM.AAC.FH.29 - PlayStop 96Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_44kbps_96khz_stereo.aac +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_44kbps_96khz_stereo.aac +Delay 1000000 +[End_TestCase] + + +//************************************ +//* Play AAC-ADIF (ID 1020) +//************************************ +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.30 - Play ADIF mono +SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +# ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AAC.FH.31 - Play ADIF stereo +SoundFile e:\sounds\aac\ADIF\10s_AAC_LC_56kbps_44.1khz_stereo.aac +# ErrorRange 1 000 000 +[End_TestCase] + + +//************************************ +//* Play AAC-ADIF (ID 1021) +//************************************ +// Testing Play Stop Play to EOF + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AAC.FH.32 - PlayStop ADIF mono +#SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +#SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +#Delay 1000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AAC.FH.33 - PlayStop ADIF stereo +#SoundFile e:\sounds\aac\ADIF\10s_AAC_LC_56kbps_44.1khz_stereo.aac +#SoundFile e:\sounds\aac\ADIF\10s_AAC_LC_56kbps_44.1khz_stereo.aac +#Delay 1000000 +#[End_TestCase] + + + +//******************************** +//* Play - Volume Ramping (ID 1023) +//******************************** + +[TestCase] +id 1023 +Title Plugin.DRM.AAC.FH.34 - VolumeRamping AAC ADTS +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_16kbps_11.025khz_stereo.aac +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.AAC.FH.35 - VolumeRamping AAC ADTS +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_20kbps_22.05khz_stereo.aac +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.AAC.FH.36 - VolumeRamping AAC ADIF +SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + + +//---------------------------- +//Add following cases for Inc9 +//---------------------------- + + +//************************** +//* Play Pause Play (ID 1022) +//************************** +[TestCase] +id 1022 +Title Plugin.DRM.AAC.FH.37 - PlayPausePlay AAC 24Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_24khz_stereo.aac +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 5 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.AAC.FH.38 - PlayPausePlay AAC 44Khz ADTS MPEG2 +SoundFile e:\sounds\aac\ADTS\MPEG2\10s_AAC_LC_42kbps_44.1khz_stereo.aac +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 5 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.AAC.FH.39 - PlayPausePlay AAC 48Khz ADTS MPEG4 +SoundFile e:\sounds\aac\ADTS\MPEG4\10s_AAC_LC_44kbps_48khz_stereo.aac +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 4 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.AAC.FH.40 - PlayPausePlay AAC ADIF mono +SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 4 000 000 +[End_TestCase] + + + +//****************************** +//* Set Position - Play (ID 1024) +//****************************** + +[TestCase] +id 1024 +Title Plugin.DRM.AAC.FH.41 - SetPosition_Play AAC 24Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_24khz_stereo.aac +Position 000 500 000 +ErrorRange 4 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.AAC.FH.42 - SetPosition_Play AAC 44Khz ADTS MPEG2 +SoundFile e:\sounds\aac\ADTS\MPEG2\10s_AAC_LC_42kbps_44.1khz_stereo.aac +Position 5 000 000 +ErrorRange 4 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.AAC.FH.43 - SetPosition_Play AAC 48Khz ADTS MPEG4 +SoundFile e:\sounds\aac\ADTS\MPEG4\10s_AAC_LC_44kbps_48khz_stereo.aac +Position 5 000 000 +ErrorRange 4 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.AAC.FH.44 - SetPosition_Play AAC ADIF mono +SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +Position 20 000 000 +ErrorRange 4 000 000 +[End_TestCase] + + + +//******************************* +//* Play - Get Position (ID 1025) +//******************************* +// Delay is the setting position, meaning every delay value, the get position is called. +// This info be seen on the log file. + + +[TestCase] +id 1025 +Title Plugin.DRM.AAC.FH.45 - GetPosition_Play AAC 24Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_24khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.AAC.FH.46 - GetPosition_Play AAC 44Khz ADTS MPEG2 +SoundFile e:\sounds\aac\ADTS\MPEG2\10s_AAC_LC_42kbps_44.1khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.AAC.FH.47 - GetPosition_Play AAC 48Khz ADTS MPEG4 +SoundFile e:\sounds\aac\ADTS\MPEG4\10s_AAC_LC_44kbps_48khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.AAC.FH.48 - GetPosition_Play AAC ADIF mono +SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +Delay 1000000 +[End_TestCase] + + +//****************************** +//* Play - Get Duration (ID 126) +//****************************** + +[TestCase] +id 1026 +Title Plugin.DRM.AAC.FH.49 - GetDuration AAC 24Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_24khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.AAC.FH.50 - GetDuration AAC 44Khz ADTS MPEG2 +SoundFile e:\sounds\aac\ADTS\MPEG2\10s_AAC_LC_42kbps_44.1khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.AAC.FH.51 - GetDuration AAC 48Khz ADTS MPEG4 +SoundFile e:\sounds\aac\ADTS\MPEG4\10s_AAC_LC_44kbps_48khz_stereo.aac +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.AAC.FH.52 - GetDuration AAC ADIF mono +SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +Delay 1000000 +[End_TestCase] + +//************************************* +//* Play - Set Playback Window (ID 1027) +//************************************* + +#[TestCase] +#id 1027 +#Title Plugin.DRM.AAC.FH.53 - SetPlaybackWindow AAC 24Khz ADTS LC +#SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_24khz_stereo.aac +#StartPosition 3 000 000 +#EndPosition 7 000 000 +#ErrorRange 2 000 000 +#Delay 1000000 +#[End_TestCase] + +#[TestCase] +#id 1027 +#Title Plugin.DRM.AAC.FH.54 - SetPlaybackWindow AAC 44Khz ADTS MPEG2 +#SoundFile e:\sounds\aac\ADTS\MPEG2\10s_AAC_LC_42kbps_44.1khz_stereo.aac +#StartPosition 3 000 000 +#EndPosition 7 000 000 +#ErrorRange 2 000 000 +#Delay 1000000 +#[End_TestCase] + +#[TestCase] +#id 1027 +#Title Plugin.DRM.AAC.FH.55 - SetPlaybackWindow AAC 48Khz ADTS MPEG4 +#SoundFile e:\sounds\aac\ADTS\MPEG4\10s_AAC_LC_44kbps_48khz_stereo.aac +#StartPosition 3 000 000 +#EndPosition 7 000 000 +#ErrorRange 2 000 000 +#Delay 1000000 +#[End_TestCase] + +#[TestCase] +#id 127 +#Title Plugin.DRM.AAC.FH.56 - SetPlaybackWindow AAC ADIF mono +#SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +#StartPosition 3 000 000 +#EndPosition 7 000 000 +#ErrorRange 2 000 000 +#Delay 1000000 +#[End_TestCase] + + + +//**************************************** +//* Play - Delete Playback Window (ID 1028) +//**************************************** +[TestCase] +id 1028 +Title Plugin.DRM.AAC.FH.57 - DeletePlaybackWindow AAC 24Khz ADTS LC +SoundFile e:\sounds\aac\ADTS\SampleRate\10s_AAC_LC_56kbps_24khz_stereo.aac +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.AAC.FH.58 - DeletePlaybackWindow AAC 44Khz ADTS MPEG2 +SoundFile e:\sounds\aac\ADTS\MPEG2\10s_AAC_LC_42kbps_44.1khz_stereo.aac +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.AAC.FH.59 - DeletePlaybackWindow AAC 48Khz ADTS MPEG4 +SoundFile e:\sounds\aac\ADTS\MPEG4\10s_AAC_LC_44kbps_48khz_stereo.aac +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.AAC.FH.60 - DeletePlaybackWindow AAC ADIF mono +SoundFile e:\sounds\aac\ADIF\10s_AAC_44khz_mono.aac +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play AMR NB Modes 0-7 (ID 1020) +//************************** +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.1 - Play 10s_AMR_NB_mode0.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode0.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.2 - Play 10s_AMR_NB_mode1.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode1.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.3 - Play 10s_AMR_NB_mode1.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode1.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.4 - Play 10s_AMR_NB_mode3.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode3.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.5 - Play 10s_AMR_NB_mode4.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode4.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.6 - Play 10s_AMR_NB_mode5.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode5.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.7 - Play 10s_AMR_NB_mode6.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode6.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.8 - Play 10s_AMR_NB_mode7.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode7.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.9 - Play AMR without ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode4_no_ext +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AMR.FH.10 - Play AMR with other ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode7_other_ext.3gp +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +//************************** +//* Play and Stop (ID 1021) +//************************** + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.11 - PlayStop 10s_AMR_NB_mode0.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode0.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode0.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.12 - PlayStop 10s_AMR_NB_mode1.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode1.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode1.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.13 - PlayStop 10s_AMR_NB_mode1.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode1.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode1.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.14 - PlayStop 10s_AMR_NB_mode3.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode3.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode3.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.15 - PlayStop 10s_AMR_NB_mode4.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode4.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode4.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.16 - PlayStop 10s_AMR_NB_mode5.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode5.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode5.amr +#StopDelay 2500000 +#PlayDelay 10000000 +[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.17 - PlayStop 10s_AMR_NB_mode6.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode6.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode6.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.18 - PlayStop 10s_AMR_NB_mode7.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode7.amr +#SoundFile e:\sounds\amr\10s_AMR_NB_mode7.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.19 - PlayStop AMR without ext +#SoundFile e:\sounds\amr\10s_AMR_NB_mode4_no_ext +#SoundFile e:\sounds\amr\10s_AMR_NB_mode4_no_ext +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.20 - PlayStop AMR with other ext +#SoundFile e:\sounds\amr\10s_AMR_NB_mode7_other_ext.3gp +#SoundFile e:\sounds\amr\10s_AMR_NB_mode7_other_ext.3gp +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + + +//************************** +//* Play Pause Play (ID 1022) +//************************** + +[TestCase] +id 1022 +Title Plugin.DRM.AMR.FH.21 - PlayPausePlay 10s_AMR_NB_mode0.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode0.amr +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.AMR.FH.22 - PlayPausePlay AMR without ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_no_ext +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.AMR.FH.23 - PlayPausePlay AMR with other ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_other_ext.3gp +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +//************************** +//* Set Position - Play (ID 1024) +//************************** + +[TestCase] +id 1024 +Title Plugin.DRM.AMR.FH.24 - SetPosition_Play 10s_AMR_NB_mode0.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode0.amr +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.AMR.FH.25 - SetPosition_Play AMR without ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_no_ext +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.AMR.FH.26 - SetPosition_Play AMR with other ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_other_ext.3gp +Position 20 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +//************************** +//* Play - Get Position (ID 1025) +//************************** +// Delay is the setting position, meaning every delay value, the get position is called. +// This info be seen on the log file. + +[TestCase] +id 1025 +Title Plugin.DRM.AMR.FH.27 - GetPosition_Play 10s_AMR_NB_mode0.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode0.amr +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.AMR.FH.28 - GetPosition_Play AMR without ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.AMR.FH.29 - GetPosition_Play AMR with other ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_other_ext.3gp +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Get Duration (ID 1026) +//************************** + +[TestCase] +id 1026 +Title Plugin.DRM.AMR.FH.30 - GetDuration 10s_AMR_NB_mode0.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode0.amr +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.AMR.FH.31 - GetDuration AMR without ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.AMR.FH.32 - GetDuration AMR with other ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_other_ext.3gp +Delay 1000000 +[End_TestCase] + + +//************************** +//* Play - Volume Ramping (ID 1023) +//************************** + +[TestCase] +id 1023 +Title Plugin.DRM.AMR.FH.33 - VolumeRamping 10s_AMR_NB_mode0.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode0.amr +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.AMR.FH.34 - VolumeRamping AMR without ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_no_ext +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.AMR.FH.35 - VolumeRamping AMR with other ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_other_ext.3gp +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Set Playback Window (ID 1027) +//************************** + +[TestCase] +id 1027 +Title Plugin.DRM.AMR.FH.36 - SetPlaybackWindow 10s_AMR_NB_mode7.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode7.amr +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.AMR.FH.37 - SetPlaybackWindow AMR without ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode7_no_ext +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.AMR.FH.38 - SetPlaybackWindow AMR with other ext +SoundFile e:\sounds\amr\10s_3GP_AMR_NB_12.2kbps.3gp +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Delete Playback Window (ID 1028) +//************************** + +[TestCase] +id 1028 +Title Plugin.DRM.AMR.FH.39 - DeletePlaybackWindow 10s_AMR_NB_mode0.amr +SoundFile e:\sounds\amr\10s_AMR_NB_mode0.amr +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.AMR.FH.40 - DeletePlaybackWindow AMR without ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_no_ext +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.AMR.FH.41 - DeletePlaybackWindow AMR with other ext +SoundFile e:\sounds\amr\10s_AMR_NB_mode0_other_ext.3gp +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play AMR WB Modes 0-8 (ID 1020) +//************************** +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.1 - Play 10s_AMR_WB_6.6kbps.amr +SoundFile e:\sounds\awb\10s_AMR_WB_6.6kbps.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.2 - Play 10s_AMR_WB_8.85kbps.amr +SoundFile e:\sounds\awb\10s_AMR_WB_8.85kbps.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.3 - Play 10s_AMR_WB_12.65kbps.amr +SoundFile e:\sounds\awb\10s_AMR_WB_12.65kbps.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.4 - Play 10s_AMR_WB_14.25kbps.amr +SoundFile e:\sounds\awb\10s_AMR_WB_14.25kbps.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.5 - Play 10s_AMR_WB_15.85kbps.awb +SoundFile e:\sounds\awb\10s_AMR_WB_15.85kbps.awb +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.6 - Play 10s_AMR_WB_18.25kbps.amr +SoundFile e:\sounds\awb\10s_AMR_WB_18.25kbps.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.7 - Play 10s_AMR_WB_19.85kbps.amr +SoundFile e:\sounds\awb\10s_AMR_WB_19.85kbps.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.8 - Play 10s_AMR_WB_23.05kbps.amr +SoundFile e:\sounds\awb\10s_AMR_WB_23.05kbps.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.9 - Play 10s_AMR_WB_23.85kbps.amr +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps.amr +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.10 - Play AWB without ext +SoundFile e:\sounds\awb\10s_AMR_WB_mode8_no_ext +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.AWB.FH.11 - Play AWB with other ext +SoundFile e:\sounds\awb\10s_3GP_AMR_WB_mode8.3gp +Expected Duration 2 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +//************************** +//* Play and Stop (ID 1021) +//************************** + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.12 - PlayStop 10s_AMR_WB_mode0.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode0.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode0.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.13 - PlayStop 10s_AMR_WB_mode1.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode1.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode1.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.14 - PlayStop 10s_AMR_WB_mode2.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode2.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode2.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.15 - PlayStop 10s_AMR_WB_mode3.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode3.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode3.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.16 - PlayStop 10s_AMR_WB_mode4.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode4.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode4.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.17 - PlayStop 10s_AMR_WB_mode5.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode5.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode5.amr +#StopDelay 2500000 +#PlayDelay 10000000 +[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.18 - PlayStop 10s_AMR_WB_mode6.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode6.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode6.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.19 - PlayStop 10s_AMR_WB_mode7.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode7.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode7.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.20 - PlayStop 10s_AMR_WB_mode7.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode8.amr +#SoundFile e:\sounds\awb\10s_AMR_WB_mode8.amr +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.21 - PlayStop AMR without ext +#SoundFile e:\sounds\awb\10s_AMR_WB_mode4_no_ext +#SoundFile e:\sounds\awb\10s_AMR_WB_mode4_no_ext +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.AMR.FH.22 - PlayStop AMR with other ext +#SoundFile e:\sounds\awb\10s_3GP_AMR_WB_mode8.3gp +#SoundFile e:\sounds\awb\10s_3GP_AMR_WB_mode8.3gp +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + +//************************** +//* Play Pause Play (ID 1022) +//************************** + +[TestCase] +id 1022 +Title Plugin.DRM.AWB.FH.23 - PlayPausePlay 10s_AMR_WB_23.85kbps_Generic.awb +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic.awb +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.AWB.FH.24 - PlayPausePlay AWB without ext +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic_no_ext +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.AWB.FH.25 - PlayPausePlay AWB with other ext +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic_other_ext.3gp +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 1 000 000 +[End_TestCase] + +//************************** +//* Set Position - Play (ID 1024) +//************************** + +[TestCase] +id 1024 +Title Plugin.DRM.AWB.FH.26 - SetPosition_Play 10s_AMR_WB_15.85kbps.awb +SoundFile e:\sounds\awb\10s_AMR_WB_15.85kbps.awb +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.AWB.FH.27 - SetPosition_Play AWB without ext +SoundFile e:\sounds\awb\10s_AMR_WB_15.85kbps_no_ext +Position 10 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.AWB.FH.28 - SetPosition_Play AWB with other ext +SoundFile e:\sounds\awb\10s_AMR_WB_15.85kbps_other_ext.3gp +Position 20 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +//************************** +//* Play - Get Position (ID 1025) +//************************** +// Delay is the setting position, meaning every delay value, the get position is called. +// This info be seen on the log file. + +[TestCase] +id 1025 +Title Plugin.DRM.AWB.FH.29 - GetPosition_Play 10s_AMR_WB_15.85kbps.awb +SoundFile e:\sounds\awb\10s_AMR_WB_15.85kbps.awb +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.AWB.FH.30 - GetPosition_Play AWB without ext +SoundFile e:\sounds\awb\10s_AMR_WB_15.85kbps_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.AWB.FH.31 - GetPosition_Play AWB with other ext +SoundFile e:\sounds\awb\10s_AMR_WB_15.85kbps_other_ext.3gp +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Get Duration (ID 1026) +//************************** + +[TestCase] +id 1026 +Title Plugin.DRM.AWB.FH.32 - GetDuration 10s_AMR_WB_23.85kbps_Generic.awb +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic.awb +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.AWB.FH.33 - GetDuration AWB without ext +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.AWB.FH.34 - GetDuration AWB with other ext +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic_other_ext.3gp +Delay 1000000 +[End_TestCase] + + +//************************** +//* Play - Volume Ramping (ID 1023) +//************************** + +[TestCase] +id 1023 +Title Plugin.DRM.AWB.FH.38 - VolumeRamping 10s_AMR_WB_23.85kbps_Generic.awb +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic.awb +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.AWB.FH.39 - VolumeRamping AWB without ext +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic_no_ext +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.AWB.FH.40 - VolumeRamping AWB with other ext +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic_other_ext.3gp +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Set Playback Window (ID 1027) +//************************** + +[TestCase] +id 1027 +Title Plugin.DRM.AWB.FH.41 - SetPlaybackWindow 10s_AMR_WB_23.05kbps.amr +SoundFile e:\sounds\awb\10s_AMR_WB_23.05kbps.amr +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.AWB.FH.42 - SetPlaybackWindow AWB without ext +SoundFile e:\sounds\awb\10s_AMR_WB_23.05kbps_no_ext +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.AWB.FH.43 - SetPlaybackWindow AWB with other ext +SoundFile e:\sounds\awb\10s_3GP_AMR_WB_23.05kbps.3gp +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Delete Playback Window (ID 1028) +//************************** + +[TestCase] +id 1028 +Title Plugin.DRM.AWB.FH.44 - DeletePlaybackWindow 10s_AMR_WB_23.85kbps_Generic.awb +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic.awb +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.AWB.FH.45 - DeletePlaybackWindow AWB without ext +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic_no_ext +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.AWB.FH.46 - DeletePlaybackWindow AWB with other ext +SoundFile e:\sounds\awb\10s_AMR_WB_23.85kbps_Generic_other_ext.3gp +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +//******************************************* +//* Play 3gp EAAC+ audio files (ID 1020) +//******************************************* +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.1 - Play implicit stereo 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode0.3gp +ErrorRange 1 000 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.2 - Play explicit non-backwards compatible stereo 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.3 - Play 20kbps 32khz 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AAC+_20kbps_32khz_Mono.3gp +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.4 - Play 16kbps 32khz mono 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AAC+_16kbps_32khz_Mono.3gp +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.5 - Play 24kbps 32khz stereo 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AAC+_24kbps_32khz_Stereo.3gp +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.6 - Play 20kbps 32khz 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AAC+_20kbps_32khz_Stereo.3gp +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.7 - Play 16kbps 32khz mono 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AAC+_16kbps_32khz_Mono.3gp +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.8 - Play 24kbps 32khz stereo 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AAC+_24kbps_32khz_Stereo.3gp +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.9 - Play 20kbps 32khz stereo 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AAC+_20kbps_32khz_Mono.3gp +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.10 - Play 16kbps 32khz 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AAC+_16kbps_32khz_Mono.3gp +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.11 - Play 24kbps 32khz stereo 3gp audio +SoundFile e:\sounds\HeAAC\10s_3GP_AAC+_24kbps_32khz_Stereo.3gp +ErrorRange 1 000 000 +[End_TestCase] + + +//******************************************* +//* Play mp4 EAAC+ audio files (ID 1020) +//******************************************* +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.12 - Play implicit pstereo mp4 audio +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_0.mp4 +ErrorRange 1 000 000 +[End_TestCase] + + + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.13 - Play explicit backwards compatible pstereo mp4 audio +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +ErrorRange 1 000 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.14 - Play explicit non-backwards compatible pstereo mp4 audio +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_2.mp4 +ErrorRange 1 000 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.15 - Play implicit stereo mp4 audio +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +ErrorRange 1 000 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.16 - Play explicit backwards compatible stereo mp4 audio +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_1.mp4 +ErrorRange 1 000 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.HeAAC.FH.17 - Play explicit non-backwards compatible stereo mp4 audio +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_2.mp4 +ErrorRange 1 000 000 +[End_TestCase] + + +//************************************ +//* Play EAAC+ (ID 1021) +//************************************ +// Testing Play Stop Play to EOF + +#[TestCase] +#id 1021 +#Title Plugin.DRM.HeAAC.FH.18 - PlayStop implicit stereo 3gp audio +#SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode0.3gp +#SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode0.3gp +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + +#[TestCase] +#id 1021 +#Title Plugin.DRM.HeAAC.FH.19 - PlayStop explicit non-backwards compatible stereo 3gp audio +#SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +#SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.HeAAC.FH.20 - PlayStop implicit pstereo mp4 audio +#SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_0.mp4 +#SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_0.mp4 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + + +#[TestCase] +#id 1021 +#Title Plugin.DRM.HeAAC.FH.21 - PlayStop explicit backwards compatible pstereo mp4 audio +#SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +#SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + +#[TestCase] +#id 1021 +#Title Plugin.DRM.HeAAC.FH.22 - PlayStop explicit non-backwards compatible pstereo mp4 audio +#SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_2.mp4 +#SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_2.mp4 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + +#[TestCase] +#id 1021 +#Title Plugin.DRM.HeAAC.FH.23 - PlayStop implicit stereo mp4 audio +#SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +#SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.HeAAC.FH.24 - PlayStop explicit backwards compatible stereo mp4 audio +#SoundFile e:\sounds\HeAAC\10s_MP4_stereo_1.mp4 +#SoundFile e:\sounds\HeAAC\10s_MP4_stereo_1.mp4 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + +#[TestCase] +#id 1021 +#Title Plugin.DRM.HeAAC.FH.25 - PlayStop explicit non-backwards compatible stereo mp4 audio +#SoundFile e:\sounds\HeAAC\10s_MP4_stereo_2.mp4 +#SoundFile e:\sounds\HeAAC\10s_MP4_stereo_2.mp4 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + +//******************************** +//* Play - Volume Ramping (ID 1023) +//******************************** + +[TestCase] +id 1023 +Title Plugin.DRM.HeAAC.FH.26 - VolumeRamping 10s_MP4_stereo_0.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1023 +Title Plugin.DRM.HeAAC.FH.27 - VolumeRamping 10s_3GP_AMR_NB_mode2.3gp +SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1023 +Title Plugin.DRM.HeAAC.FH.28 - VolumeRamping 10s_MP4_pstereo_1.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + + +//************************** +//* Play Pause Play (ID 1022) +//************************** + +[TestCase] +id 1022 +Title Plugin.DRM.HeAAC.FH.29 - PlayPausePlay 10s_MP4_stereo_0.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + + +[TestCase] +id 1022 +Title Plugin.DRM.HeAAC.FH.30 - PlayPausePlay 10s_3GP_AMR_NB_mode2.3gp +SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + + +[TestCase] +id 1022 +Title Plugin.DRM.HeAAC.FH.31 - PlayPausePlay 10s_MP4_pstereo_1.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + + +//****************************** +//* Set Position - Play (ID 1024) +//****************************** + +[TestCase] +id 1024 +Title Plugin.DRM.HeAAC.FH.32 - SetPosition_Play 10s_MP4_stereo_0.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +Position 000 500 000 +ErrorRange 3 000 000 +[End_TestCase] + + +[TestCase] +id 1024 +Title Plugin.DRM.HeAAC.FH.33 - SetPosition_Play 10s_3GP_AMR_NB_mode2.3gp +SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +Position 000 500 000 +ErrorRange 3 000 000 +[End_TestCase] + + +[TestCase] +id 1024 +Title Plugin.DRM.HeAAC.FH.34 - SetPosition_Play 10s_MP4_pstereo_1.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +Position 20 000 000 +ErrorRange 3 000 000 +[End_TestCase] + + + +//******************************* +//* Play - Get Position (ID 1025) +//******************************* +// Delay is the setting position, meaning every delay value, the get position is called. +// This info be seen on the log file. +[TestCase] +id 1025 +Title Plugin.DRM.HeAAC.FH.35 - GetPosition_Play 10s_MP4_stereo_0.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1025 +Title Plugin.DRM.HeAAC.FH.36 - GetPosition_Play 10s_3GP_AMR_NB_mode2.3gp +SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1025 +Title Plugin.DRM.HeAAC.FH.37 - GetPosition_Play 10s_MP4_pstereo_1.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +Delay 1000000 +[End_TestCase] + + + +//****************************** +//* Play - Get Duration (ID 1026) +//****************************** +[TestCase] +id 1026 +Title Plugin.DRM.HeAAC.FH.38 - GetDuration 10s_MP4_stereo_0.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1026 +Title Plugin.DRM.HeAAC.FH.39 - GetDuration 10s_3GP_AMR_NB_mode2.3gp +SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1026 +Title Plugin.DRM.HeAAC.FH.40 - GetDuration 10s_MP4_pstereo_1.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +Delay 1000000 +[End_TestCase] + + +//************************************* +//* Play - Set Playback Window (ID 1027) +//************************************* + +[TestCase] +id 1027 +Title Plugin.DRM.HeAAC.FH.41 - SetPlaybackWindow 10s_MP4_stereo_0.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1027 +Title Plugin.DRM.HeAAC.FH.42 - SetPlaybackWindow 10s_3GP_AMR_NB_mode2.3gp +SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1027 +Title Plugin.DRM.HeAAC.FH.43 - SetPlaybackWindow 10s_MP4_pstereo_1.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +StartPosition 0 000 000 +EndPosition 5 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + + + +//**************************************** +//* Play - Delete Playback Window (ID 1028) +//**************************************** + + +[TestCase] +id 1028 +Title Plugin.DRM.HeAAC.FH.44 - DeletePlaybackWindow 10s_MP4_stereo_0.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_stereo_0.mp4 +StartPosition 3 000 000 +EndPosition 7 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1028 +Title Plugin.DRM.HeAAC.FH.45 - DeletePlaybackWindow 10s_3GP_AMR_NB_mode2.3gp +SoundFile e:\sounds\HeAAC\10s_3GP_AMR_NB_mode2.3gp +StartPosition 3 000 000 +EndPosition 7 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1028 +Title Plugin.DRM.HeAAC.FH.46 - DeletePlaybackWindow 10s_MP4_pstereo_1.mp4 +SoundFile e:\sounds\HeAAC\10s_MP4_pstereo_1.mp4 +StartPosition 0 000 000 +EndPosition 5 000 000 +Delay 1000000 +[End_TestCase] + +//******************************************* +//* Play M4a Sample Rate and BiteRate(ID 1020) +//******************************************* +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.1 - Play Mono 8kbps 11kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.2 - Play Mono 16kbps 22kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_16kbps_22.05khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.3 - Play Mono 20kbps 24kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_20kbps_24khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.4 - Play Mono 24kbps 32kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_24kbps_32khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.5 - Play 28kbps 32kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_28kbps_32khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.6 - Play Mono 32kbps 32kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_32kbps_32khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.7 - Play Mono 40kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_40kbps_44.1khz_mono.m4a +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.8 - Play Mono 48kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_48kbps_44.1khz_mono.m4a +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.9 - Play Mono 56kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_56kbps_44.1khz_mono.m4a +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.10 - Play Mono 64kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_64kbps_44.1khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.11 - Play Mono 80kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_80kbps_44.1khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.12 - Play Mono 96kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_96kbps_44.1khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.13 - Play Mono 112kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_112kbps_44.1khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.14 - Play Mono 128kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_128kbps_44.1khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.15 - Play Mono 160kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_160kbps_44.1khz_mono.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.16 - Play Stereo 16kbps 11kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.17 - Play Stereo 20kbps 11kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_20kbps_16khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.18 - Play Stereo 24kbps 16kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_24kbps_16khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.19 - Play Stereo 28kbps 16kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_28kbps_16khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.20 - Play Stereo 32kbps 22kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_32kbps_22.05khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.21 - Play Stereo 40kbps 24kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_40kbps_24khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.22 - Play Stereo 48kbps 32kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_48kbps_32khz_stereo.m4a +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.23 - Play Stereo 56kbps 32kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_56kbps_32khz_stereo.m4a +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.24 - Play Stereo 64kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_64kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.25 - Play Stereo 80kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_80kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.26 - Play Stereo 96kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_96kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.27 - Play Stereo 112kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_112kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.28 - Play Stereo 128kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_128kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.29 - Play Stereo 160kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_160kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.30 - Play Stereo 192kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_192kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.31 - Play Stereo 224kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_224kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.32 - Play Stereo 256kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_256kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.33 - Play Stereo 320kbps 44kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_320kbps_44.1khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.34 - Play Stereo 112kbps 48kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_112kbps_48khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.35 - Play Stereo 128kbps 48kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_128kbps_48khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.36 - Play Stereo 160kbps 48kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_160kbps_48khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.37 - Play Stereo 192kbps 48kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_192kbps_48khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.38 - Play Stereo 224kbps 48kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_224kbps_48khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.39 - Play Stereo 256kbps 48kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_256kbps_48khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.M4a.FH.40 - Play Stereo 320kbps 48kHz m4a audio +SoundFile e:\sounds\m4a\10s_AAC_LC_320kbps_48khz_stereo.m4a +ErrorRange 1 000 000 +[End_TestCase] + + + +//************************************ +//* Play M4a (ID 1021) +//************************************ +// Testing Play Stop Play to EOF + +#[TestCase] +#id 1021 +#Title Plugin.DRM.M4a.FH.41 - PlayStop Mono 8kbps 11kHz m4a audio +#SoundFile e:\sounds\M4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +#SoundFile e:\sounds\M4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + +#[TestCase] +#id 1021 +#Title Plugin.DRM.M4a.FH.42 - PlayStop Stereo 16kbps 11kHz m4a audio +#SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +#SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + + +//******************************** +//* Play - Volume Ramping (ID 1023) +//******************************** + +[TestCase] +id 1023 +Title Plugin.DRM.M4a.FH.43 - VolumeRamping Mono 8kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1023 +Title Plugin.DRM.M4a.FH.44 - VolumeRamping Stereo 16kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + + +//************************** +//* Play Pause Play (ID 1022) +//************************** + +[TestCase] +id 1022 +Title Plugin.DRM.M4a.FH.45 - PlayPausePlay Mono 8kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + + +[TestCase] +id 1022 +Title Plugin.DRM.M4a.FH.46 - PlayPausePlay Stereo 16kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + + +//****************************** +//* Set Position - Play (ID 1024) +//****************************** + +[TestCase] +id 1024 +Title Plugin.DRM.M4a.FH.47 - SetPosition_Play Mono 8kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +Position 000 500 000 +ErrorRange 3 000 000 +[End_TestCase] + + +[TestCase] +id 1024 +Title Plugin.DRM.M4a.FH.48 - SetPosition_Play Stereo 16kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +Position 000 500 000 +ErrorRange 3 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.M4a.FH.49 - SetPosition_Play Mono 16kbps 22.05kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_22.05khz_mono.m4a +Position 20 000 000 +ErrorRange 3 000 000 +[End_TestCase] + + + +//******************************* +//* Play - Get Position (ID 1025) +//******************************* +// Delay is the setting position, meaning every delay value, the get position is called. +// This info be seen on the log file. + + +[TestCase] +id 1025 +Title Plugin.DRM.M4a.FH.50 - GetPosition_Play Mono 8kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1025 +Title Plugin.DRM.M4a.FH.51 - GetPosition_Play Stereo 16kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +Delay 1000000 +[End_TestCase] + + + +//****************************** +//* Play - Get Duration (ID 1026) +//****************************** + +[TestCase] +id 1026 +Title Plugin.DRM.M4a.FH.52 - GetDuration Mono 8kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1026 +Title Plugin.DRM.M4a.FH.53 - GetDuration Stereo 16kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +Delay 1000000 +[End_TestCase] + + +//************************************* +//* Play - Set Playback Window (ID 1027) +//************************************* + + +[TestCase] +id 1027 +Title Plugin.DRM.M4a.FH.54 - SetPlaybackWindow Mono 8kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1027 +Title Plugin.DRM.M4a.FH.55 - SetPlaybackWindow Stereo 16kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + + + +//**************************************** +//* Play - Delete Playback Window (ID 1028) +//**************************************** + + +[TestCase] +id 1028 +Title Plugin.DRM.M4a.FH.56 - DeletePlaybackWindow Mono 8kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_8kbps_11.025khz_mono.m4a +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1028 +Title Plugin.DRM.M4a.FH.57 - DeletePlaybackWindow Stereo 16kbps 11kHz m4a audio +SoundFile e:\sounds\M4a\10s_AAC_LC_16kbps_11.025khz_stereo.m4a +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play MIDI, SP-MIDI, RMF audio file (ID 1020) +//************************** +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.1 - Play midi 10s_MID_Generic.mid +SoundFile e:\sounds\mid\10s_MID_Generic.mid +//Expected Duration 4 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.2 - Play midi without ext +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext +//Expected Duration 4 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.3 - Play midi with different ext +SoundFile e:\sounds\mid\10s_MID_Generic_other_ext.3gp +//Expected Duration 4 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.4 - Play sp-midi 10s_SP_MID_Generic.mid +SoundFile e:\sounds\mid\10s_SP_MID_Generic.mid +//Expected Duration 13 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.5 - Play sp-midi 10s_SP_MID_Generic_no_ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_no_ext +//Expected Duration 13 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.6 - Play sp-midi 10s_SP_MID_Generic_other_ext.amr +SoundFile e:\sounds\mid\10s_SP_MID_Generic_other_ext.amr +//Expected Duration 13 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.7 - Play rmf 10s_RMF_MID.rmf +SoundFile e:\sounds\mid\10s_RMF_MID.rmf +//Expected Duration 12 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.8 - Play rmf piano +SoundFile e:\sounds\mid\10s_RMF_MID_no_ext +//Expected Duration 12 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.9 - Play rmf piano.awb +SoundFile e:\sounds\mid\10s_RMF_MID_other_ext.awb +//Expected Duration 12 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.10 - Play mxmf 10s_MXMF.mxmf +SoundFile e:\sounds\mxmf\10s_MXMF.mxmf +//Expected Duration 12 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.11 - Play mxmf 10s_MXMF_no_ext +SoundFile e:\sounds\mxmf\10s_MXMF_no_ext +//Expected Duration 12 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MIDI.FH.12 - Play mxmf 10s_MXMF_other_ext.awb +SoundFile e:\sounds\mxmf\10s_MXMF_other_ext.awb +//Expected Duration 12 000 000 +ErrorRange 1 000 000 +[End_TestCase] + +//************************** +//* Play Pause Play (ID 1022) +//************************** + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.25 - PlayPausePlay midi 10s_MID_Generic.mid +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext.mid +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.26 - PlayPausePlay midi without ext +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.27 - PlayPausePlay midi with other ext +SoundFile e:\sounds\mid\10s_MID_Generic_other_ext.amr +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.28 - PlayPausePlay sp-midi 10s_SP_MID_Generic.mid +SoundFile e:\sounds\mid\10s_SP_MID_Generic.mid +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.29 - PlayPausePlay sp-midi without ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_no_ext +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.30 - PlayPausePlay sp-midi with other ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_other_ext.amr +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.31 - PlayPausePlay rmf 10s_RMF_MID.rmf +SoundFile e:\sounds\mid\10s_RMF_MID.rmf +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.32 - PlayPausePlay rmf without ext +SoundFile e:\sounds\mid\10s_RMF_MID_no_ext +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.33 - PlayPausePlay rmf with other ext +SoundFile e:\sounds\mid\10s_RMF_MID_other_ext.awb +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.34 - PlayPausePlay mxmf 10s_MXMF.mxmf +SoundFile e:\sounds\mxmf\10s_MXMF.mxmf +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.35 - PlayPausePlay mxmf without ext +SoundFile e:\sounds\mxmf\10s_MXMF_no_ext +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MIDI.FH.36 - PlayPausePlay mxmf with other ext +SoundFile e:\sounds\mxmf\10s_MXMF_other_ext.awb +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + + +//************************** +//* Set Position - Play (ID 1024) +//************************** + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.37 - SetPosition_Play midi 10s_MID_Generic.mid +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext.mid +Position 4 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.38 - SetPosition_Play midi without ext +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext +Position 4 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.39 - SetPosition_Play midi with other ext +SoundFile e:\sounds\mid\10s_MID_Generic_other_ext.amr +Position 4 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.40 - SetPosition_Play sp-midi 10s_SP_MID_Generic.mid +SoundFile e:\sounds\mid\10s_SP_MID_Generic.mid +Position 20 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.41 - SetPosition_Play sp-midi without ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_no_ext +Position 10 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.42 - SetPosition_Play sp-midi with other ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_other_ext.amr +Position 10 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.43 - SetPosition_Play rmf 10s_RMF_MID.rmf +SoundFile e:\sounds\mid\10s_RMF_MID.rmf +Position 10 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.44 - SetPosition_Play rmf without ext +SoundFile e:\sounds\mid\10s_RMF_MID_no_ext +Position 10 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.45 - SetPosition_Play rmf with other ext +SoundFile e:\sounds\mid\10s_RMF_MID_other_ext.awb +Position 10 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.46 - SetPosition_Play mxmf 10s_MXMF.mxmf +SoundFile e:\sounds\mxmf\10s_MXMF.mxmf +Position 10 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.47 - SetPosition_Play mxmf without ext +SoundFile e:\sounds\mxmf\10s_MXMF_no_ext +Position 10 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MIDI.FH.48 - SetPosition_Play mxmf with other ext +SoundFile e:\sounds\mxmf\10s_MXMF_other_ext.awb +Position 10 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +//************************** +//* Play - Get Position (ID 1025) +//************************** +// Delay is the setting position, meaning every delay value, the get position is called. +// This info be seen on the log file. + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.49 - GetPosition_Play midi 10s_MID_Generic.mid +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext.mid +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.50 - GetPosition_Play midi without ext +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.51 - GetPosition_Play midi with other ext +SoundFile e:\sounds\mid\10s_MID_Generic_other_ext.amr +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.52 - GetPosition_Play sp-midi 10s_SP_MID_Generic.mid +SoundFile e:\sounds\mid\10s_SP_MID_Generic.mid +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.53 - GetPosition_Play sp-midi without ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.54 - GetPosition_Play sp-midi with other ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_other_ext.amr +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.55 - GetPosition_Play rmf 10s_RMF_MID.rmf +SoundFile e:\sounds\mid\10s_RMF_MID.rmf +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.56 - GetPosition_Play rmf without ext +SoundFile e:\sounds\mid\10s_RMF_MID_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.57 - GetPosition_Play rmf with other ext +SoundFile e:\sounds\mid\10s_RMF_MID_other_ext.awb +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.58 - GetPosition_Play mxmf 10s_MXMF.mxmf +SoundFile e:\sounds\mxmf\10s_MXMF.mxmf +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.59 - GetPosition_Play mxmf without ext +SoundFile e:\sounds\mxmf\10s_MXMF_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MIDI.FH.60 - GetPosition_Play mxmf with other ext +SoundFile e:\sounds\mxmf\10s_MXMF_other_ext.awb +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Get Duration (ID 1026) +//************************** + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.61 - GetDuration mid 10s_MID_Generic.mid +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext.mid +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.62 - GetDuration mid without ext +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.63 - GetDuration mid with other ext +SoundFile e:\sounds\mid\10s_MID_Generic_other_ext.amr +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.64 - GetDuration sp-mid 10s_SP_MID_Generic.mid +SoundFile e:\sounds\mid\10s_SP_MID_Generic.mid +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.65 - GetDuration sp-mid without ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.66 - GetDuration sp-mid with other ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_other_ext.amr +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.67 - GetDuration rmf 10s_RMF_MID.rmf +SoundFile e:\sounds\mid\10s_RMF_MID.rmf +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.68 - GetDuration rmf without ext +SoundFile e:\sounds\mid\10s_RMF_MID_no_ext +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.69 - GetDuration rmf with other ext +SoundFile e:\sounds\mid\10s_RMF_MID_other_ext.awb +Delay 1000000 +[End_TestCase] + + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.70 - GetDuration mxmf 10s_MXMF.mxmf +SoundFile e:\sounds\mxmf\10s_MXMF.mxmf +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.71 - GetDuration mxmf without ext +SoundFile e:\sounds\mxmf\10s_MXMF.mxmf +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MIDI.FH.72 - GetDuration mxmf with other ext +SoundFile e:\sounds\mxmf\10s_MXMF_other_ext.awb +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Volume Ramping (ID 1023) +//************************** + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.73 - VolumeRamping mid 10s_MID_Generic.mid +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext.mid +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.74 - VolumeRamping mid without ext +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.75 - VolumeRamping mid with other ext +SoundFile e:\sounds\mid\10s_MID_Generic_other_ext.amr +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.76 - VolumeRamping sp-mid 10s_SP_MID_Generic.mid +SoundFile e:\sounds\mid\10s_SP_MID_Generic.mid +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.77 - VolumeRamping sp-mid without ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_no_ext +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.78 - VolumeRamping sp-mid with other ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_other_ext.amr +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.79 - VolumeRamping rmf 10s_RMF_MID.rmf +SoundFile e:\sounds\mid\10s_RMF_MID.rmf +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.80 - VolumeRamping rmf without ext +SoundFile e:\sounds\mid\10s_RMF_MID_no_ext +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.81 - VolumeRamping rmf with other ext +SoundFile e:\sounds\mid\10s_RMF_MID_other_ext.awb +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.82 - VolumeRamping mxmf 10s_MXMF.mxmf +SoundFile e:\sounds\mxmf\10s_MXMF.mxmf +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.83 - VolumeRamping mxmf without ext +SoundFile e:\sounds\mxmf\10s_MXMF_no_ext +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MIDI.FH.84 - VolumeRamping mxmf with other ext +SoundFile e:\sounds\mxmf\10s_MXMF_other_ext.awb +RampDuration 3 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Set Playback Window (ID 1027) +//************************** + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.85 - SetPlaybackWindow midi 10s_MID_Generic.mid +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext.mid +StartPosition 2 000 000 +EndPosition 5 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.86 - SetPlaybackWindow midi without ext +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext +StartPosition 2 000 000 +EndPosition 5 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.87 - SetPlaybackWindow midi with other ext +SoundFile e:\sounds\mid\10s_MID_Generic_other_ext.amr +StartPosition 2 000 000 +EndPosition 5 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.88 - SetPlaybackWindow sp-midi 10s_SP_MID_Generic.mid +SoundFile e:\sounds\mid\10s_SP_MID_Generic.mid +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.89 - SetPlaybackWindow sp-midi without ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_no_ext +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.90 - SetPlaybackWindow sp-midi with other ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_other_ext.awb +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.91 - SetPlaybackWindow rmf 10s_RMF_MID.rmf +SoundFile e:\sounds\mid\10s_RMF_MID.rmf +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.92 - SetPlaybackWindow rmf without ext +SoundFile e:\sounds\mid\10s_RMF_MID_no_ext +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.93 - SetPlaybackWindow rmf with other ext +SoundFile e:\sounds\mid\10s_RMF_MID_other_ext.3gp +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.94 - SetPlaybackWindow mxmf 10s_MXMF.mxmf +SoundFile e:\sounds\mxmf\10s_MXMF.mxmf +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.95 - SetPlaybackWindow mxmf without ext +SoundFile e:\sounds\mxmf\10s_MXMF_no_ext +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MIDI.FH.96 - SetPlaybackWindow mxmf with other ext +SoundFile e:\sounds\mxmf\10s_MXMF_other_ext.awb +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play - Delete Playback Window (ID 1028) +//************************** + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.97 - DeletePlaybackWindow midi 10s_MID_Generic.mid +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext.mid +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.98 - DeletePlaybackWindow midi without ext +SoundFile e:\sounds\mid\10s_MID_Generic_no_ext +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.99 - DeletePlaybackWindow midi with other ext +SoundFile e:\sounds\mid\10s_MID_Generic_other_ext.amr +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.100 - DeletePlaybackWindow sp-midi 10s_SP_MID_Generic.mid +SoundFile e:\sounds\mid\10s_SP_MID_Generic.mid +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.101 - DeletePlaybackWindow sp-midi without ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_no_ext +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.102 - DeletePlaybackWindow sp-midi with other ext +SoundFile e:\sounds\mid\10s_SP_MID_Generic_other_ext.awb +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.103 - DeletePlaybackWindow rmf 10s_RMF_MID.rmf +SoundFile e:\sounds\mid\10s_RMF_MID.rmf +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.104 - DeletePlaybackWindow rmf without ext +SoundFile e:\sounds\mid\10s_RMF_MID_no_ext +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.105 - DeletePlaybackWindow rmf with other ext +SoundFile e:\sounds\mid\10s_RMF_MID_other_ext.3gp +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.106 - DeletePlaybackWindow mxmf 10s_MXMF.mxmf +SoundFile e:\sounds\mxmf\10s_MXMF.mxmf +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.107 - DeletePlaybackWindow mxmf without ext +SoundFile e:\sounds\mxmf\10s_MXMF_no_ext +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MIDI.FH.108 - DeletePlaybackWindow mxmf with other ext +SoundFile e:\sounds\mxmf\10s_MXMF_other_ext.awb +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +//************************** +//* Play MP3 Sample Rate (ID 1020) +//************************** +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.1 - Play 8Khz MPEG2.5 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2.5_8kbps_8khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.2 - Play 11Khz MPEG2.5 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2.5_16kbps_11.025khz_stereo.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.3 - Play 12Khz MPEG2.5 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2.5_8kbps_12khz_stereo.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.4 - Play 16Khz MPEG2 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_16kbps_24khz_stereo.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.5 - Play 22Khz MPEG2 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_8kbps_22.05khz_stereo.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.6 - Play 24 Khz MPEG2 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_112kbps_24khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.7 - Play 32 Khz MPEG1 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_32kbps_32khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.8 - Play 44 Khz MPEG1 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_32kbps_44.1khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.9 - Play 48 Khz MPEG1 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_32kbps_48khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + + +//********************************** +//* Play and Stop SampleRate(ID 1021) +//********************************** + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.10 - PlayStop 8Khz MPEG2.5 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2.5_8kbps_8khz_mono.mp3 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2.5_8kbps_8khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.11 - PlayStop 11Khz MPEG2.5 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2.5_16kbps_11.025khz_stereo.mp3 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2.5_16kbps_11.025khz_stereo.mp3 +#Delay 1000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.12 - PlayStop 12Khz MPEG2.5 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2.5_8kbps_12khz_stereo.mp3 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2.5_8kbps_12khz_stereo.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.13 - PlayStop 16Khz MPEG2 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_16kbps_24khz_stereo.mp3 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_16kbps_24khz_stereo.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.14 - PlayStop 22Khz MPEG2 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_8kbps_22.05khz_stereo.mp3 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_8kbps_22.05khz_stereo.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.15 - PlayStop 24Khz MPEG2 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_112kbps_24khz_mono.mp3 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_112kbps_24khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.16 - PlayStop 32Khz MPEG1 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_32kbps_32khz_mono.mp3 +#SoundFile e:\sounds\mp3\SampleRate\10s_MP3_32kbps_32khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.17 - PlayStop 44Khz MPEG1 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_32kbps_44.1khz_mono.mp3 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_32kbps_44.1khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.18 - PlayStop 48Khz MPEG1 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_32kbps_48khz_mono.mp3 +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_32kbps_48khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + + +//********************************** +//* Play MP3 Bit Rate MPEG1 (ID 1020) +//********************************** +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.19 - Play 32Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_32kbps_32khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.20 - Play 40Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_40kbps_32khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.21 - Play 48Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_48kbps_48khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.22 - Play 56Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_56kbps_44.1khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.23 - Play 64Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_64kbps_32khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.24 - Play 80Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_80kbps_32khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.25 - Play 96Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_96kbps_32khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.26 - Play 112Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_112kbps_44.1khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.27 - Play 128Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_128kbps_44.1khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.28 - Play 160Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_160kbps_48khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.29 - Play 192Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_192kbps_32khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.30 - Play 224Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_224kbps_48khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.31 - Play 256Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_256kbps_32khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.32 - Play 320Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_320kbps_44.1khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + + +//******************************************* +//* Play and Stop MP3 Bit Rate MPEG1 (ID 1021) +//******************************************* + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.33 - PlayStop 32Kbps MPEG1 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_32kbps_32khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_32kbps_32khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.34 - PlayStop 40Kbps MPEG1 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_40kbps_32khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_40kbps_32khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.35 - PlayStop 48Kbps MPEG1 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_48kbps_48khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_48kbps_48khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.FH.36 - PlayStop 56Kbps MPEG1 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_56kbps_44.1khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_56kbps_44.1khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.MP3.DRM.FH.37 - PlayStop 64Kbps MPEG1 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_64kbps_32khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_64kbps_32khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.38 - PlayStop 80Kbps MPEG1 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_80kbps_32khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_80kbps_32khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.39 - PlayStop 96Kbps MPEG1 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_96kbps_32khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_96kbps_32khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.40 - PlayStop 112Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_112kbps_44.1khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_112kbps_44.1khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.41 - PlayStop 128Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_128kbps_44.1khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_128kbps_44.1khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.42 - PlayStop 160Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_160kbps_48khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_160kbps_48khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.43 - PlayStop 192Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_192kbps_32khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_192kbps_32khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.44 - PlayStop 224Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_224kbps_48khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_224kbps_48khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.45 - PlayStop 256Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_256kbps_32khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_256kbps_32khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.46 - PlayStop 320Kbps MPEG1 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_320kbps_44.1khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_320kbps_44.1khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + + + + + +//************************************** +//* Play MP3 Bit Rate MPEG2/2.5 (ID 1020) +//************************************** +// Testing Playback to EOF + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.47 - Play 8Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_8kbps_16khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.48 - Play 16Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_16kbps_22.05khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.49 - Play 24Kbps MPEG2.5 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2.5_24kbps_12khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.50 - Play 32Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_32kbps_16khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.51 - Play 40Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_40kbps_16khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.52 - Play 48Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_48kbps_22.05khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.53 - Play 56Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_56kbps_24khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.54 - Play 64Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_64kbps_24khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.55 - Play 80Kbps MPEG2.5 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2.5_80kbps_11.025khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.56 - Play 96Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_96kbps_16khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.57 - Play 112Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_112kbps_24khz_stereo.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.58 - Play 128Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_128kbps_16khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.59 - Play 144Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_144kbps_24khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + +[TestCase] +id 1020 +Title Plugin.DRM.MP3.FH.60 - Play 160Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_160kbps_16khz_mono.mp3 +ErrorRange 1 000 000 +[End_TestCase] + + +//****************************************** +//* PlayStop MP3 Bit Rate MPEG2/2.5 (ID 1021) +//****************************************** + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.61 - PlayStop 8Kbps MPEG2 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_8kbps_16khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_8kbps_16khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.62 - PlayStop 16Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_16kbps_22.05khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_16kbps_22.05khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.63 - PlayStop 24Kbps MPEG2.5 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2.5_24kbps_12khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2.5_24kbps_12khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.64 - PlayStop 32Kbps MPEG2 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_32kbps_16khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_32kbps_16khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.65 - PlayStop 40Kbps MPEG2 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_40kbps_16khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_40kbps_16khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.66 - PlayStop 48Kbps MPEG2 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_48kbps_22.05khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_48kbps_22.05khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.67 - PlayStop 56Kbps MPEG2 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_56kbps_24khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_56kbps_24khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.68 - PlayStop 64Kbps MPEG2 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_64kbps_24khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_64kbps_24khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.69 - PlayStop 80Kbps MPEG2.5 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2.5_80kbps_11.025khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2.5_80kbps_11.025khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.70 - PlayStop 96Kbps MPEG2 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_96kbps_16khz_mono.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_96kbps_16khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.71 - PlayStop 112Kbps MPEG2 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_112kbps_24khz_stereo.mp3 +#SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_112kbps_24khz_stereo.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.72 - PlayStop 128Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_128kbps_16khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_128kbps_16khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.73 - PlayStop 144Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_144kbps_24khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_144kbps_24khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + +#[TestCase] +#id 1021 +#Title Plugin.DRM.MP3.FH.74 - PlayStop 160Kbps MPEG2 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_160kbps_16khz_mono.mp3 +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_160kbps_16khz_mono.mp3 +#StopDelay 2500000 +#PlayDelay 10000000 +#[End_TestCase] + + + + + +//************************** +//* Play Pause Play (ID 1022) +//************************** + +[TestCase] +id 1022 +Title Plugin.DRM.MP3.FH.75 - PlayPausePlay MP3 MPEG2 24KHz 160Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_160kbps_22.05khz_stereo.mp3 +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MP3.FH.76 - PlayPausePlay MP3 MPEG2 24KHz 56Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_56kbps_24khz_stereo.mp3 +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1022 +Title Plugin.DRM.MP3.FH.77 - PlayPausePlay MP3 MPEG1 48KHz 224Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_224kbps_48khz_stereo.mp3 +PauseDelay 5000000 +PlayDelay 10000000 +ErrorRange 2 000 000 +[End_TestCase] + + +//****************************** +//* Set Position - Play (ID 1024) +//****************************** + +[TestCase] +id 1024 +Title Plugin.DRM.MP3.FH.78 - SetPosition_Play MP3 MPEG1 48KHz 224Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_224kbps_48khz_stereo.mp3 +Position 000 500 000 +ErrorRange 3 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MP3.FH.79 - SetPosition_Play MP3 MPEG1 48KHz 96Kbps +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_96kbps_48khz_stereo.mp3 +Position 5 000 000 +ErrorRange 2 000 000 +[End_TestCase] + +[TestCase] +id 1024 +Title Plugin.DRM.MP3.FH.80 - SetPosition_Play MP3 MPEG2 24KHz 56Kbps +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_56kbps_24khz_stereo.mp3 +Position 20 000 000 +ErrorRange 2 000 000 +[End_TestCase] + + +//******************************* +//* Play - Get Position (ID 1025) +//******************************* +// Delay is the setting position, meaning every delay value, the get position is called. +// This info be seen on the log file. + +[TestCase] +id 1025 +Title Plugin.DRM.MP3.FH.81 - GetPosition_Play MP3 MPEG2 24KHz 160Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_160kbps_22.05khz_stereo.mp3 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MP3.FH.82 - GetPosition_Play MP3 MPEG2 24KHz 56Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_56kbps_24khz_stereo.mp3 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1025 +Title Plugin.DRM.MP3.FH.83 - GetPosition_Play MP3 MPEG1 48KHz 96Kbps +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_96kbps_48khz_stereo.mp3 +Delay 1000000 +[End_TestCase] + +//****************************** +//* Play - Get Duration (ID 1026) +//****************************** + +[TestCase] +id 1026 +Title Plugin.DRM.MP3.FH.84 - GetDuration MP3 MPEG1 48KHz 96Kbps +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_96kbps_48khz_stereo.mp3 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MP3.FH.85 - GetDuration MP3 MPEG1 48KHz 224Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_224kbps_48khz_stereo.mp3 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1026 +Title Plugin.DRM.MP3.FH.86 - GetDuration MP3 MPEG2 24KHz 56Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_56kbps_24khz_stereo.mp3 +Delay 1000000 +[End_TestCase] + + +//******************************** +//* Play - Volume Ramping (ID 1023) +//******************************** + +[TestCase] +id 1023 +Title Plugin.DRM.MP3.FH.87 - VolumeRamping MP3 MPEG2 24KHz 56Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_56kbps_24khz_stereo.mp3 +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MP3.FH.88 - VolumeRamping MP3 MPEG2 24KHz 160Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_160kbps_22.05khz_stereo.mp3 +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1023 +Title Plugin.DRM.MP3.FH.89 - VolumeRamping MPEG1 48KHz 224Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_224kbps_48khz_stereo.mp3 +RampDuration 5 000 000 +Delay 1000000 +[End_TestCase] + +//************************************* +//* Play - Set Playback Window (ID 1027) +//************************************* + +[TestCase] +id 1027 +Title Plugin.DRM.MP3.FH.90 - SetPlaybackWindow MP3 MPEG1 48KHz 224Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_224kbps_48khz_stereo.mp3 +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MP3.FH.91 - SetPlaybackWindow MP3 MPEG1 48KHz 96Kbps +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_96kbps_48khz_stereo.mp3 +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1027 +Title Plugin.DRM.MP3.FH.92 - SetPlaybackWindow MP3 MPEG2 24KHz 56Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_MPEG2_56kbps_24khz_stereo.mp3 +StartPosition 3 000 000 +EndPosition 7 000 000 +ErrorRange 2 000 000 +Delay 1000000 +[End_TestCase] + +//**************************************** +//* Play - Delete Playback Window (ID 1028) +//**************************************** + +[TestCase] +id 1028 +Title Plugin.DRM.MP3.FH.93 - DeletePlaybackWindow MP3 MPEG1 48KHz 224Kbps +SoundFile e:\sounds\mp3\BitRate\10s_MP3_224kbps_48khz_stereo.mp3 +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MP3.FH.94 - DeletePlaybackWindow MP3 MPEG1 48KHz 96Kbps +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_96kbps_48khz_stereo.mp3 +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] + +[TestCase] +id 1028 +Title Plugin.DRM.MP3.FH.95 - DeletePlaybackWindow MP3 MPEG2 24KHz 160Kbps +SoundFile e:\sounds\mp3\SampleRate\10s_MP3_MPEG2_160kbps_22.05khz_stereo.mp3 +StartPosition 10 000 000 +EndPosition 20 000 000 +Delay 1000000 +[End_TestCase] diff -r fcaf4606ba4e -r 9d4397b300d1 mmaudio_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/DRMAudioPlay_core.cpp --- a/mmaudio_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/DRMAudioPlay_core.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmaudio_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/DRMAudioPlay_core.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -655,6 +655,11 @@ TTimeIntervalMicroSeconds ExpectedDuration = TTimeIntervalMicroSeconds(I64INT(sndPlayer->GetDuration().Int64()) - I64INT(Position.Int64())); iLogger->Log(_L("ExpectedDuration: %d") ,ExpectedDuration.Int64() ); + + //if total duration less than the setposition value, set the expected duration to zero + //to handle test cases with setposition > total duration. + if(ExpectedDuration.Int64() < 0) + ExpectedDuration = TTimeIntervalMicroSeconds(I64INT(0)); if ( Abs(ExpectedDuration.Int64() - PerceivedDuration.Int64()) > ErrorRange.Int64() ) { //Durations too different diff -r fcaf4606ba4e -r 9d4397b300d1 mmaudio_pub/drm_audio_player_api/tsrc/data/mmc/drm/test3gp.dcf diff -r fcaf4606ba4e -r 9d4397b300d1 mmaudio_pub/drm_audio_player_api/tsrc/data/mmc/drm/testmp3.dcf diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/SecureDRM/src/Client/MmfDrmPluginServerProxy.cpp --- a/mmlibs/mmfw/SecureDRM/src/Client/MmfDrmPluginServerProxy.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/SecureDRM/src/Client/MmfDrmPluginServerProxy.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -38,7 +38,7 @@ TInt err = CreateSession(KDrmPluginServerName, TVersion(KMMFDRMPluginServerVersion, KMMFDRMPluginServerMinorVersionNumber, KMMFDRMPluginServerBuildVersionNumber)); - if(err == KErrNotFound) + if(err == KErrNotFound || err == KErrServerTerminated) { // Server not running // Construct the server binary name @@ -46,7 +46,7 @@ RProcess server; err = server.Create(KDrmPluginServerFileName, KNullDesC, serverUid); - if(err != KErrNone) + if(err != KErrNone && err != KErrAlreadyExists) return err; // Synchronise with the server TRequestStatus reqStatus; diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.cpp --- a/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -1313,20 +1313,29 @@ // HDMI is preferred over AV Out. // update external display window data - iExtDisplayHandler->UpdateWindow(); - TRect externalDisplayRect(TPoint(0, 0), iExtDisplayHandler->DisplaySizeInPixels()); - (*iWindowsArrayPtr)[0].iClipRect = externalDisplayRect; - (*iWindowsArrayPtr)[0].iVideoExtent = externalDisplayRect; - TRAPD(err, (*iWindowsArrayPtr)[0].iAutoScaleType = ExtDisplayAutoScaleTypeL()); - if(err == KErrNone) + if(iExtDisplayHandler) { - RemoveBackgroundSurface(ETrue); - RedrawWindows(iCropRegion); + iExtDisplayHandler->UpdateWindow(); + TRect externalDisplayRect(TPoint(0, 0), iExtDisplayHandler->DisplaySizeInPixels()); + (*iWindowsArrayPtr)[0].iClipRect = externalDisplayRect; + (*iWindowsArrayPtr)[0].iVideoExtent = externalDisplayRect; + TRAPD(err, (*iWindowsArrayPtr)[0].iAutoScaleType = ExtDisplayAutoScaleTypeL()); + if(err == KErrNone) + { + RemoveBackgroundSurface(ETrue); + RedrawWindows(iCropRegion); + } + else + { + // Not a lot we can do. Just keep as it is but external display output will be incorrect. + DEBUG_PRINTF2("CMediaClientVideoDisplayBody::MedcpcExtDisplayNotifyConnected ExtDisplayAutoScaleTypeL failed %d", err); + } } else { - // Not a lot we can do. Just keep as it is but external display output will be incorrect. - DEBUG_PRINTF2("CMediaClientVideoDisplayBody::MedcpcExtDisplayNotifyConnected ExtDisplayAutoScaleTypeL failed %d", err); + // External display handler does not exist, probably because there was a failure during its earlier construction. + // Ignore notification. + DEBUG_PRINTF("CMediaClientVideoDisplayBody::MedcpcExtDisplayNotifyConnected iExtDisplayHandler does not exist - switch not attempted!"); } } } diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/conf/externaldisplaytest_1020730b.txt Binary file mmlibs/mmfw/tsrc/mmfintegrationtest/conf/externaldisplaytest_1020730b.txt has changed diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/group/videogroup/bld.inf --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/group/videogroup/bld.inf Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/group/videogroup/bld.inf Mon Oct 18 12:47:26 2010 +0100 @@ -24,4 +24,12 @@ #include "../../vclnt/group/bld.inf" #include "../../vclntavi/group/bld.inf" +#include "../../mmfmediaclienttestplugin/group/bld.inf" +PRJ_TESTEXPORTS + +// centrep repo for external display tests +../../conf/externaldisplaytest_1020730b.txt /epoc32/release/winscw/udeb/z/private/10202be9/1020730b.txt +../../conf/externaldisplaytest_1020730b.txt /epoc32/release/winscw/urel/z/private/10202be9/1020730b.txt +../../conf/externaldisplaytest_1020730b.txt /epoc32/data/z/private/10202be9/1020730b.txt + diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/group/bld.inf Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,23 @@ +// Copyright (c) 2010 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: +// + +PRJ_TESTEXPORTS +../rom/mmfmediaclientextdisplaytestprovider.iby /epoc32/rom/include/mmfmediaclientextdisplaytestprovider.iby + +PRJ_TESTMMPFILES + +./mmfmediaclientextdisplaytestprovider.mmp + + diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/group/mmfmediaclientextdisplaytestprovider.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/group/mmfmediaclientextdisplaytestprovider.mmp Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,42 @@ +// Copyright (c) 2010 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: +// + +TARGET mmfmediaclientextdisplaytestprovider.dll +CAPABILITY ALL -TCB +TARGETTYPE plugin + +// ECom Dll recognition UID followed by the unique UID for this dll +UID 0x10009D8D 0x20031C93 +VENDORID 0x70000001 + +SOURCEPATH ../src +SOURCE mmfmediaclientextdisplaytestprovider.cpp +SOURCE mmfmediaclientextdisplaytestfactory.cpp + +USERINCLUDE ../src + +MW_LAYER_SYSTEMINCLUDE_SYMBIAN + +START RESOURCE mmfmediaclientextdisplaytestprovider.rss +TARGET mmfmediaclientextdisplaytestprovider.rsc +END + +LIBRARY euser.lib +Library efsrv.lib +Library mediaclientvideodisplay.lib +Library ws32.lib +Library bafl.lib + +SMPSAFE diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/rom/mmfmediaclientextdisplaytestprovider.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/rom/mmfmediaclientextdisplaytestprovider.iby Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,23 @@ +// Copyright (c) 2010 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: +// + +#ifndef MMFMEDIACLIENTEXTDISPLAYTESTPROVIDER_IBY +#define MMFMEDIACLIENTEXTDISPLAYTESTPROVIDER_IBY + + +ECOM_PLUGIN(mmfmediaclientextdisplaytestprovider.dll,mmfmediaclientextdisplaytestprovider.rsc) + +#endif // MMFMEDIACLIENTEXTDISPLAYTESTPROVIDER_IBY + diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestfactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestfactory.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +#include +#include "mmfmediaclientextdisplaytestprovider.h" +#include "mmfmediaclientextdisplaytestprovider.hrh" + +// __________________________________________________________________________ +// Exported proxy for instantiation method resolution +// Define the interface UIDs + +/** +* +* ImplementationTable +* +*/ +const TImplementationProxy ImplementationTable[] = + { + IMPLEMENTATION_PROXY_ENTRY(KMediaDisplayExtTestProviderImplUid, CExtDisplayTestConnectionProvider::NewL) + }; + +/** +* ImplementationGroupProxy +* @param aTableCount +* @return "TImplementationProxy*" +*/ + +EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) + { + aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); + return ImplementationTable; + } + diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,210 @@ +// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +/** + @file + @internalComponent +*/ + +#include "mmfmediaclientextdisplaytestprovider.h" +#include "mmfmediaclientextdisplaytesttrace.h" + +#include +#include + +static const TInt KExternalDisplayTestNumber = 0; + +_LIT(KInitExtDisplayHDMI, "C:\\vclntavi\\InitExtDisplayHDMI.txt"); +_LIT(KInitExtDisplayAnalog, "C:\\vclntavi\\InitExtDisplayAnalog.txt"); +_LIT(KConnectExtDisplayOverHDMI, "C:\\vclntavi\\ConnectExtDisplayOverHDMI.txt"); +_LIT(KConnectExtDisplayOverAnalog, "C:\\vclntavi\\ConnectExtDisplayOverAnalog.txt"); +_LIT(KDisconnectExtDisplay, "C:\\vclntavi\\DisconnectExtDisplay.txt"); + +CExtDisplayTestConnectionProvider* CExtDisplayTestConnectionProvider::NewL() + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::NewL +++"); + CExtDisplayTestConnectionProvider* self = new(ELeave) CExtDisplayTestConnectionProvider(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::NewL ---"); + return self; + } + +CExtDisplayTestConnectionProvider::CExtDisplayTestConnectionProvider() + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::CExtDisplayTestConnectionProvider +++"); + + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::CExtDisplayTestConnectionProvider ---"); + } + +void CExtDisplayTestConnectionProvider::ConstructL() + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::ConstructL +++"); + + ReadConnectionInfoL(); + InitialiseConnectionChangeTimerL(); + + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::ConstructL ---"); + } + +CExtDisplayTestConnectionProvider::~CExtDisplayTestConnectionProvider() + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::~CExtDisplayTestConnectionProvider +++"); + + if(iExtDisplayConnectionTimer != NULL) + { + iExtDisplayConnectionTimer->Cancel(); + delete iExtDisplayConnectionTimer; + } + + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::~CExtDisplayTestConnectionProvider ---"); + } + +TExtDisplayConnectionProviderConnType CExtDisplayTestConnectionProvider::ExtDisplayConnType() + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::ExtDisplayConnType +++"); + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::ExtDisplayConnType ---"); + return iInitialConnectionType; + } + +TInt CExtDisplayTestConnectionProvider::ExtDisplayId() + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::ExtDisplayId +++"); + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::ExtDisplayId ---"); + return KExternalDisplayTestNumber; + } + +void CExtDisplayTestConnectionProvider::SetExtDisplayConnectionProviderCallback(MExtDisplayConnectionProviderCallback& aCallback) + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::SetExtDisplayConnectionProviderCallback +++"); + + iCallback = &aCallback; + + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::SetExtDisplayConnectionProviderCallback ---"); + } + +void CExtDisplayTestConnectionProvider::ReadConnectionInfoL() + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::ReadConnectionInfoL +++"); + + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + // determine initial connection type + if(BaflUtils::FileExists(fs, KInitExtDisplayHDMI)) + { + iInitialConnectionType = EExtDisplayConnectionProviderConnTypeHdmi; + } + else if(BaflUtils::FileExists(fs, KInitExtDisplayAnalog)) + { + iInitialConnectionType = EExtDisplayConnectionProviderConnTypeAnalog; + } + else + { + iInitialConnectionType = EExtDisplayConnectionProviderConnTypeDisconnected; + } + + // determine change connection type + if(BaflUtils::FileExists(fs, KConnectExtDisplayOverHDMI)) + { + iConnectionTypeToBeNotified = EExtDisplayConnectionProviderConnTypeHdmi; + } + else if(BaflUtils::FileExists(fs, KConnectExtDisplayOverAnalog)) + { + iConnectionTypeToBeNotified = EExtDisplayConnectionProviderConnTypeAnalog; + } + else if(BaflUtils::FileExists(fs, KDisconnectExtDisplay)) + { + iConnectionTypeToBeNotified = EExtDisplayConnectionProviderConnTypeDisconnected; + } + else + { + iConnectionTypeToBeNotified = iInitialConnectionType; + } + + CleanupStack::PopAndDestroy(1, &fs); + + DEBUG_PRINTF3("CExtDisplayTestConnectionProvider::ReadConnectionInfoL Initial = %d, Next = %d", + iInitialConnectionType, iConnectionTypeToBeNotified); + + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::ReadConnectionInfoL ---"); + } + +void CExtDisplayTestConnectionProvider::InitialiseConnectionChangeTimerL() + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::InitialiseConnectionChangeTimerL +++"); + + if(iInitialConnectionType != iConnectionTypeToBeNotified) + { + iExtDisplayConnectionTimer = CExtDisplayConnectionTimer::NewL(this, 2000000); + iExtDisplayConnectionTimer->Start(); + } + + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::InitialiseConnectionChangeTimerL ---"); + } + +void CExtDisplayTestConnectionProvider::TimerExpired() + { + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::TimerExpired +++"); + + iCallback->MedcpcExtDisplayNotifyConnected(iConnectionTypeToBeNotified); + + DEBUG_PRINTF("CExtDisplayTestConnectionProvider::TimerExpired ---"); + } + + +CExtDisplayConnectionTimer* CExtDisplayConnectionTimer::NewL(CExtDisplayTestConnectionProvider* aParent, TTimeIntervalMicroSeconds32 aInterval) + { + DEBUG_PRINTF("CExtDisplayConnectionTimer::NewL +++"); + + CExtDisplayConnectionTimer* self = new (ELeave) CExtDisplayConnectionTimer(aParent, aInterval); + CleanupStack::PushL(self); + self->ConstructL(); // inherited + CleanupStack::Pop(self); + + DEBUG_PRINTF("CExtDisplayConnectionTimer::NewL ---"); + return self; + } + +CExtDisplayConnectionTimer::CExtDisplayConnectionTimer(CExtDisplayTestConnectionProvider* aParent, TTimeIntervalMicroSeconds32 aInterval) + : CTimer(EPriorityNormal), iParent(aParent), iInterval(aInterval) + { + DEBUG_PRINTF("CExtDisplayConnectionTimer::CExtDisplayConnectionTimer +++"); + + CActiveScheduler::Add(this); + + DEBUG_PRINTF("CExtDisplayConnectionTimer::CExtDisplayConnectionTimer ---"); + } + +void CExtDisplayConnectionTimer::Start() + { + DEBUG_PRINTF("CExtDisplayConnectionTimer::Start +++"); + + After(iInterval); + + DEBUG_PRINTF("CExtDisplayConnectionTimer::Start ---"); + } + +void CExtDisplayConnectionTimer::RunL() + { + DEBUG_PRINTF("CExtDisplayConnectionTimer::RunL +++"); + + iParent->TimerExpired(); + + DEBUG_PRINTF("CExtDisplayConnectionTimer::RunL ---"); + + } diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.h Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,71 @@ +// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +/** + @file + @internalComponent +*/ + +#ifndef MMFMEDIACLIENTEXTDISPLAYTESTPROVIDER_H_ +#define MMFMEDIACLIENTEXTDISPLAYTESTPROVIDER_H_ + +#include +#include + +class CExtDisplayTestConnectionProvider; + +class CExtDisplayConnectionTimer : public CTimer + { +public: + static CExtDisplayConnectionTimer* NewL(CExtDisplayTestConnectionProvider* iParent, TTimeIntervalMicroSeconds32 aInterval); + void Start(); + +private: + void RunL(); + CExtDisplayConnectionTimer(CExtDisplayTestConnectionProvider* iParent, TTimeIntervalMicroSeconds32 aInterval); + +private: + CExtDisplayTestConnectionProvider* iParent; + TTimeIntervalMicroSeconds32 iInterval; + }; + +NONSHARABLE_CLASS(CExtDisplayTestConnectionProvider) : public CExtDisplayConnectionProviderInterface + { +public: + static CExtDisplayTestConnectionProvider* NewL(); + ~CExtDisplayTestConnectionProvider(); + + // Used by CExtDisplayConnectionTimer + void TimerExpired(); + + // CExtDisplayConnectionProviderInterface + void SetExtDisplayConnectionProviderCallback(MExtDisplayConnectionProviderCallback& aCallback); + TExtDisplayConnectionProviderConnType ExtDisplayConnType(); + TInt ExtDisplayId(); + +private: + CExtDisplayTestConnectionProvider(); + void ConstructL(); + void ReadConnectionInfoL(); + void InitialiseConnectionChangeTimerL(); + +private: + MExtDisplayConnectionProviderCallback* iCallback; // not owned + TExtDisplayConnectionProviderConnType iInitialConnectionType; + TExtDisplayConnectionProviderConnType iConnectionTypeToBeNotified; + CExtDisplayConnectionTimer* iExtDisplayConnectionTimer; + }; + +#endif /* MMFMEDIACLIENTEXTDISPLAYTESTPROVIDER_H_ */ diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.hrh Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,22 @@ +// Copyright (c) 2010 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: +// + +#ifndef MEDIACLIENTEXTDISPLAYTESTPROVIDER_HRH +#define MEDIACLIENTEXTDISPLAYTESTPROVIDER_HRH + +#define KMediaDisplayExtTestProviderDllUid 0x20031C93 +#define KMediaDisplayExtTestProviderImplUid 0x20031C94 + +#endif // MEDIACLIENTEXTDISPLAYTESTPROVIDER_HRH diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.rss Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,47 @@ +// Copyright (c) 2010 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: +// + +#include "mmfmediaclientextdisplaytestprovider.hrh" +#include +#include + +RESOURCE REGISTRY_INFO theInfo + { + resource_format_version = RESOURCE_FORMAT_VERSION_2; + + dll_uid = KMediaDisplayExtTestProviderDllUid; //The DLL's 3rd UID. + interfaces = + { + INTERFACE_INFO + { + interface_uid = KMediaDisplayExtProviderInterfaceUid; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = KMediaDisplayExtTestProviderImplUid; //UID for this provider + // Same value as in implementation table. + version_no = 1; + display_name = "S60 External Test Display Provider"; //Human readable string for UI purposes. + default_data = "S60 External Tests Display Provider"; + opaque_data = ""; + rom_only = 1; + } + }; + } + }; + } + + diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytesttrace.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytesttrace.h Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,40 @@ +// Copyright (c) 2010 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: +// +// + +#ifndef MMFMEDIACLIENTEXTDISPLAYTESTTRACE_H_ +#define MMFMEDIACLIENTEXTDISPLAYTESTTRACE_H_ + +#ifdef _DEBUG + +#include + +#define DEBUG_PRINTF(a) RDebug::Printf(a) +#define DEBUG_PRINTF2(a,b) RDebug::Printf(a,b) +#define DEBUG_PRINTF3(a,b,c) RDebug::Printf(a,b,c) +#define DEBUG_PRINTF4(a,b,c,d) RDebug::Printf(a,b,c,d) +#define DEBUG_PRINTF5(a, b, c, d, e) RDebug::Printf(a,b,c,d,e) + +#else // _DEBUG + +#define DEBUG_PRINTF(a) +#define DEBUG_PRINTF2(a, b) +#define DEBUG_PRINTF3(a, b, c) +#define DEBUG_PRINTF4(a, b, c, d) +#define DEBUG_PRINTF5(a, b, c, d, e) + +#endif // _DEBUG + +#endif // MMFMEDIACLIENTEXTDISPLAYTESTTRACE_H_ diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/inc/TSI_MMFVCLNT.h --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/inc/TSI_MMFVCLNT.h Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/inc/TSI_MMFVCLNT.h Mon Oct 18 12:47:26 2010 +0100 @@ -46,7 +46,7 @@ // stolen from CMmfVideoTestControllerUIDs.hrh #define KMmfVideoTestControllerUid 0x101F88D9 -// Uncomment this line for Jetstream project +// Uncomment this line for specific project tests //#define JETSTREAM_TESTS 1 diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/OpenFileByHandle0036.cpp --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/OpenFileByHandle0036.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/OpenFileByHandle0036.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -74,7 +74,7 @@ TInt failCount = 1; TBool completed = EFalse; - iAllocTestStepResult = EPass; // TODO check?? assume pass + iAllocTestStepResult = EPass; // XXX check?? assume pass TBool reachedEnd = EFalse; // Note: declare outside loop to help with debugging for(;;) { diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/OpenFileByHandle0524.cpp --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/OpenFileByHandle0524.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/OpenFileByHandle0524.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -70,7 +70,7 @@ TInt failCount = 1; TBool completed = EFalse; - iAllocTestStepResult = EPass; // TODO check?? assume pass + iAllocTestStepResult = EPass; // XXX check?? assume pass TBool reachedEnd = EFalse; // Note: declare outside loop to help with debugging for(;;) { diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/TestPlayer.cpp --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/TestPlayer.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/TestPlayer.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -109,7 +109,6 @@ CActiveScheduler::Start(); } - // Until JetStream #ifndef JETSTREAM_TESTS if(iError == KErrNotSupported) ret = EPass; @@ -284,7 +283,6 @@ CActiveScheduler::Start(); } - // Until JetStream #ifndef JETSTREAM_TESTS if(iError == KErrNotSupported) ret = EPass; @@ -421,7 +419,6 @@ INFO_PRINTF1(_L("CVideoPlayerUtility: Opening URL")); CActiveScheduler::Start(); - // Until JetStream #ifndef JETSTREAM_TESTS if(iError == KErrNotSupported) ret = EPass; @@ -939,7 +936,7 @@ } else { - // TBD - arguments to be correctly set + // XXX - arguments to be correctly set CWsScreenDevice sd; RBlankWindow window; TRect rect, clipRect; diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/group/tsi_mmf_vclntavi_excl_test.iby --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/group/tsi_mmf_vclntavi_excl_test.iby Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/group/tsi_mmf_vclntavi_excl_test.iby Mon Oct 18 12:47:26 2010 +0100 @@ -23,6 +23,9 @@ #include #endif +// central repository repo file for external display testing +data=ZPRIVATE\10202be9\1020730b.txt private\10202be9\1020730b.txt // centrep repo + //data files //exported using copydatatocf.bat and usbldr.pm, so removed from iby file diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/testvideoplayer.h --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/testvideoplayer.h Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/testvideoplayer.h Mon Oct 18 12:47:26 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2005-2010 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" @@ -539,4 +539,27 @@ RFile iFile; }; +/** + * Load and initialise a video file. + * Set external display control + * + * RTestVclntExternalDisplayControl + * + */ +class RTestVclntExternalDisplayControl : public RTestVclntAviPlayerStep + { +public: + RTestVclntExternalDisplayControl(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); + static RTestVclntExternalDisplayControl* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); + virtual TVerdict DoTestStepL(); + virtual TVerdict DoTestL(CVideoPlayerUtility* aVideo); + virtual void FsmL(TVclntTestPlayEvents aEventCode); + virtual TVerdict SetCacheSize(); + TVerdict SetExternalDisplayControl(); +protected: + const TBool iPlay; + TTimeIntervalMicroSeconds iDuration; + TBool iExternalDisplayControl; + }; + #endif //__TESTVIDEOPLAYER_H__ diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/testvideoplayer2.h --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/testvideoplayer2.h Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/testvideoplayer2.h Mon Oct 18 12:47:26 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -51,6 +51,44 @@ }; #ifdef SYMBIAN_BUILD_GCE /** + * Test external display feature using CMediaClientVideoDisplay. + * + * RTestMediaClientExternalDisplay + * + */ +class RTestMediaClientExternalDisplay : public RTestVclnt2AviPlayerStep + { +public: + static RTestMediaClientExternalDisplay* NewL(const TDesC& aTestName); + +protected: + virtual TVerdict DoTestStepPreambleL(); + virtual TVerdict DoTestStepPostambleL(); + + virtual void FsmL(TVclntTestPlayEvents aEventCode); + + virtual void HandleIdleL(); + virtual void HandleOpenCompleteL(); + virtual void HandlePrepareCompleteL(); + virtual void HandlePlayCompleteL(); + + // called by HandlePrepareCompleteL to trigger the video playback + virtual void StartPlayback(); + + // constructor + RTestMediaClientExternalDisplay(const TDesC& aTestName); + + TVerdict SetInitialConnectionType(); + TVerdict SetConnectionTypeNotification(); + TVerdict SetExternalDisplayControl(); + +private: + TPtrC iInitialExternalDisplayTypeFilename; + TPtrC iNextExternalDisplayTypeFilename; + TBool iExternalDisplayControl; + }; + +/** * Test CMediaClientVideoDisplay.This test makes sure that the new dll * (mediaclientvideodisplay) is loaded and used. * @@ -79,7 +117,7 @@ // constructor RTestMediaClientVideoDisplay(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); }; - + #endif diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/mmpfiles/tsi_mmf_vclntavi.mmp --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/mmpfiles/tsi_mmf_vclntavi.mmp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/mmpfiles/tsi_mmf_vclntavi.mmp Mon Oct 18 12:47:26 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2005-2010 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" @@ -34,6 +34,7 @@ SOURCE testvideorecorder_par_audio.cpp #ifdef SYMBIAN_BUILD_GCE SOURCE testvideoplayer2.cpp +SOURCE testexternaldisplay.cpp SOURCE teststepvclnt2crp.cpp #endif #ifdef SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/scripts/tsi_mmf_vclntavi_play.script --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/scripts/tsi_mmf_vclntavi_play.script Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/scripts/tsi_mmf_vclntavi_play.script Mon Oct 18 12:47:26 2010 +0100 @@ -446,3 +446,25 @@ RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1013-HP c:\vclntavi\video_avi.ini TEST_COMPLETE DELAY 5000 + +// +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1220 +//!@SYMTestCaseDesc Play video file with external display control enabled +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Initialise video utility with a video file, enable external display control and play. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1220 c:\vclntavi\video_avi.ini +TEST_COMPLETE +DELAY 10000 + +// +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1221 +//!@SYMTestCaseDesc Play video file with external display control disabled +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Initialise video utility with a video file, disabled external display control and play. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1221 c:\vclntavi\video_avi.ini +TEST_COMPLETE +DELAY 10000 diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/scripts/tsi_mmf_vclntavi_surf.script --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/scripts/tsi_mmf_vclntavi_surf.script Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/scripts/tsi_mmf_vclntavi_surf.script Mon Oct 18 12:47:26 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 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" @@ -272,6 +272,228 @@ RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-0435 c:\vclntavi\video_avi.ini TEST_COMPLETE +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1201 +//!@SYMTestCaseDesc Test HDMI external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate HDMI display is connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@ Set exetrnal display to be enabled. +//!@ Initialise video utility with a video file and play. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1201 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1202 +//!@SYMTestCaseDesc Test HDMI external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate HDMI display is connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@ Set exetrnal display to be disabled. +//!@ Initialise video utility with a video file and play. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1202 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1203 +//!@SYMTestCaseDesc Test Analog (aka. composite or TV Out) external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate analog display is connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@ Set exetrnal display to be enabled. +//!@ Initialise video utility with a video file and play. +//!@ Switch to analog is not expected for this test as cenrep setting is unavailable. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1203 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1204 +//!@SYMTestCaseDesc Test Analog (aka. composite or TV Out) external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate analog display is connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@ Set exetrnal display to be disabled. +//!@ Initialise video utility with a video file and play. +//!@ Switch to analog is not expected for this test as cenrep setting is unavailable. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1204 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1205 +//!@SYMTestCaseDesc Test Switch from disconnected external display to HDMI external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate external display is disconnected. +//!@ Set exetrnal display to be enabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate HDMI external display has been +//!@ connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1205 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1206 +//!@SYMTestCaseDesc Test Switch from disconnected external display to HDMI external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate external display is disconnected. +//!@ Set exetrnal display to be disabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate HDMI external display has been +//!@ connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1206 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1207 +//!@SYMTestCaseDesc Test Switch from HDMI external display to disconnected external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate HDMI display is connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@ Set exetrnal display to be enabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate external display has been +//!@ disconnected. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1207 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1208 +//!@SYMTestCaseDesc Test Switch from HDMI external display to disconnected external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate HDMI display is connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@ Set external display to be disabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate external display has been +//!@ disconnected. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1208 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1209 +//!@SYMTestCaseDesc Test Switch from disconnected external display to Analog external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate external display is disconnected. +//!@ Set external display to be enabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate Analog external display has been +//!@ connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1209 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1210 +//!@SYMTestCaseDesc Test Switch from disconnected external display to Analog external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate external display is disconnected. +//!@ Set external display to be disabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate Analog external display has been +//!@ connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1210 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1211 +//!@SYMTestCaseDesc Test Switch from Analog external display to disconnected external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate Analog display is connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@ Set external display to be enabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate external display has been +//!@ disconnected. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1211 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1212 +//!@SYMTestCaseDesc Test Switch from Analog external display to disconnected external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate Analog display is connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@ Set external display to be disabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate external display has been +//!@ disconnected. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1212 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1213 +//!@SYMTestCaseDesc Test Switch from HDMI external display to Analog external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate HDMI display is connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@ Set external display to be enabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate HDMI external display has been +//!@ disconnected and Analog external display has been connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1213 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1214 +//!@SYMTestCaseDesc Test Switch from HDMI external display to Analog external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate HDMI display is connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@ Set external display to be disabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate HDMI external display has been +//!@ disconnected and Analog external display has been connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1214 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1215 +//!@SYMTestCaseDesc Test Switch from Analog external display to HDMI external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate Analog display is connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@ Set external display to be enabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate Analog external display has been +//!@ disconnected and HDMI external display has been connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1215 c:\vclntavi\video_avi.ini +TEST_COMPLETE + +//!@SYMTestCaseID MM-MMF-VCLNTAVI-I-1216 +//!@SYMTestCaseDesc Test Switch from Analog external display to HDMI external display. +//!@SYMREQ REQ417-72064, SUBREQ417-73832 +//!@SYMTestPriority 1 +//!@SYMTestActions Configure external display test plugin to indicate Analog display is connected. +//!@ Analog is mapped to display 0 as no display 1 is available. +//!@ Set external display to be disabled. +//!@ Initialise video utility with a video file and play. +//!@ Configure external display test plugin to indicate Analog external display has been +//!@ disconnected and HDMI external display has been connected. +//!@ HDMI is mapped to display 0 as no display 1 is available. +//!@SYMTestExpectedResults KErrNone +RUN_TEST_STEP 200000 TSI_MMF_VCLNTAVI MM-MMF-VCLNTAVI-I-1216 c:\vclntavi\video_avi.ini +TEST_COMPLETE + /////////////////////////////// NEGATIVE TESTS ///////////////////////////////////// //!@SYMTestCaseID MM-MMF-VCLNTAVI-I-0500 diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/scripts/video_avi.ini --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/scripts/video_avi.ini Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/scripts/video_avi.ini Mon Oct 18 12:47:26 2010 +0100 @@ -44,6 +44,120 @@ subtitleCorrupt = \vclntavi\xvid_subtitle_corrupt.avi binarycomp = false +[MM-MMF-VCLNTAVI-I-1201] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayHDMI.txt +externalDisplayControl = true + +[MM-MMF-VCLNTAVI-I-1202] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayHDMI.txt +externalDisplayControl = false + +[MM-MMF-VCLNTAVI-I-1203] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayAnalog.txt +externalDisplayControl = true + +[MM-MMF-VCLNTAVI-I-1204] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayAnalog.txt +externalDisplayControl = false + +[MM-MMF-VCLNTAVI-I-1205] +filename = \vclntavi\aud_vid.avi +binarycomp = false +nextExternalDisplayType = c:\vclntavi\ConnectExtDisplayOverHDMI.txt +externalDisplayControl = true + +[MM-MMF-VCLNTAVI-I-1206] +filename = \vclntavi\aud_vid.avi +binarycomp = false +nextExternalDisplayType = c:\vclntavi\ConnectExtDisplayOverHDMI.txt +externalDisplayControl = false + +[MM-MMF-VCLNTAVI-I-1207] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayHDMI.txt +nextExternalDisplayType = c:\vclntavi\DisconnectExtDisplay.txt +externalDisplayControl = true + +[MM-MMF-VCLNTAVI-I-1208] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayHDMI.txt +nextExternalDisplayType = c:\vclntavi\DisconnectExtDisplay.txt +externalDisplayControl = false + +[MM-MMF-VCLNTAVI-I-1209] +filename = \vclntavi\aud_vid.avi +binarycomp = false +nextExternalDisplayType = c:\vclntavi\ConnectExtDisplayOverAnalog.txt +externalDisplayControl = true + +[MM-MMF-VCLNTAVI-I-1210] +filename = \vclntavi\aud_vid.avi +binarycomp = false +nextExternalDisplayType = c:\vclntavi\ConnectExtDisplayOverAnalog.txt +externalDisplayControl = false + +[MM-MMF-VCLNTAVI-I-1211] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayAnalog.txt +nextExternalDisplayType = c:\vclntavi\DisconnectExtDisplay.txt +externalDisplayControl = true + +[MM-MMF-VCLNTAVI-I-1212] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayAnalog.txt +nextExternalDisplayType = c:\vclntavi\DisconnectExtDisplay.txt +externalDisplayControl = false + +[MM-MMF-VCLNTAVI-I-1213] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayHDMI.txt +nextExternalDisplayType = c:\vclntavi\ConnectExtDisplayOverAnalog.txt +externalDisplayControl = true + +[MM-MMF-VCLNTAVI-I-1214] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayHDMI.txt +nextExternalDisplayType = c:\vclntavi\ConnectExtDisplayOverAnalog.txt +externalDisplayControl = false + +[MM-MMF-VCLNTAVI-I-1215] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayAnalog.txt +nextExternalDisplayType = c:\vclntavi\ConnectExtDisplayOverHDMI.txt +externalDisplayControl = true + +[MM-MMF-VCLNTAVI-I-1216] +filename = \vclntavi\aud_vid.avi +binarycomp = false +initialExternalDisplayType = c:\vclntavi\InitExtDisplayAnalog.txt +nextExternalDisplayType = c:\vclntavi\ConnectExtDisplayOverHDMI.txt +externalDisplayControl = false + +[MM-MMF-VCLNTAVI-I-1220] +filename = \vclntavi\aud_vid.avi +externalDisplayControl = true +binarycomp = false + +[MM-MMF-VCLNTAVI-I-1221] +filename = \vclntavi\aud_vid.avi +externalDisplayControl = false +binarycomp = false + [MM-MMF-VCLNTAVI-I-0700] filename = \vclntavi\xvidonly.avi binarycomp = false diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testexternaldisplay.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testexternaldisplay.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -0,0 +1,314 @@ +// Copyright (c) 2010 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: +// + +#include "testvideoplayer2.h" +#include + +// file names used to control plugin through their existence. If any are new files are added make sure +// they are also added to TidyFiles(). +_LIT(KInitExtDisplayHDMI, "c:\\vclntavi\\InitExtDisplayHDMI.txt"); +_LIT(KInitExtDisplayAnalog, "c:\\vclntavi\\InitExtDisplayAnalog.txt"); +_LIT(KConnectExtDisplayOverHDMI, "c:\\vclntavi\\ConnectExtDisplayOverHDMI.txt"); +_LIT(KConnectExtDisplayOverAnalog, "c:\\vclntavi\\ConnectExtDisplayOverAnalog.txt"); +_LIT(KDisconnectExtDisplay, "c:\\vclntavi\\DisconnectExtDisplay.txt"); +void TidyFiles() + { + RFs fs; + TInt error= fs.Connect(); + if(error == KErrNone) + { + if(BaflUtils::FileExists(fs, KInitExtDisplayHDMI)) + { + fs.Delete(KInitExtDisplayHDMI); + } + if(BaflUtils::FileExists(fs, KInitExtDisplayAnalog)) + { + fs.Delete(KInitExtDisplayAnalog); + } + if(BaflUtils::FileExists(fs, KConnectExtDisplayOverHDMI)) + { + fs.Delete(KConnectExtDisplayOverHDMI); + } + if(BaflUtils::FileExists(fs, KConnectExtDisplayOverAnalog)) + { + fs.Delete(KConnectExtDisplayOverAnalog); + } + if(BaflUtils::FileExists(fs, KDisconnectExtDisplay)) + { + fs.Delete(KDisconnectExtDisplay); + } + } +} + +_LIT(KFilename, "filename"); + +// +// RTestMediaClientExternalDisplay +// + +/** + * RTestMediaClientExternalDisplay::Constructor + */ +RTestMediaClientExternalDisplay::RTestMediaClientExternalDisplay(const TDesC& aTestName) + : RTestVclnt2AviPlayerStep(aTestName, aTestName, KFilename, KErrNone) + { + } + +/** + * RTestMediaClientExternalDisplay::NewL + */ +RTestMediaClientExternalDisplay* RTestMediaClientExternalDisplay::NewL(const TDesC& aTestName) + { + RTestMediaClientExternalDisplay* self = new (ELeave) RTestMediaClientExternalDisplay(aTestName); + return self; + } + +/** + * RTestMediaClientExternalDisplay::DoTestStepPreambleL + */ +TVerdict RTestMediaClientExternalDisplay::DoTestStepPreambleL() + { + TidyFiles(); + + TVerdict verdict = SetInitialConnectionType(); + if(verdict != EPass) + { + return verdict; + } + + verdict = SetConnectionTypeNotification(); + if(verdict != EPass) + { + return verdict; + } + + verdict = SetExternalDisplayControl(); + if(verdict != EPass) + { + return verdict; + } + + return RTestVclnt2AviPlayerStep::DoTestStepPreambleL(); + } + +TVerdict RTestMediaClientExternalDisplay::SetInitialConnectionType() + { + // Create a file as named in ini file. When external display test plugin is constructed it + // checks to see what filenames exist and sets inital connection type as appropriate. + // If string does not exist in ini file then plugin initialises with exetrnal display disconnected. + if(GetStringFromConfig(iSectName, _L("initialExternalDisplayType"), iInitialExternalDisplayTypeFilename)) + { + if(iInitialExternalDisplayTypeFilename.Compare(KInitExtDisplayHDMI) == 0) + { + INFO_PRINTF2(_L("Creating %S"), &iInitialExternalDisplayTypeFilename); + INFO_PRINTF1(_L("External HDMI Display initially connected")); + } + else if(iInitialExternalDisplayTypeFilename.Compare(KInitExtDisplayAnalog) == 0) + { + INFO_PRINTF2(_L("Creating %S"), &iInitialExternalDisplayTypeFilename); + INFO_PRINTF1(_L("External Analog Display initially connected")); + } + else + { + INFO_PRINTF2(_L("External display setting unkown, %S"), &iInitialExternalDisplayTypeFilename); + return EInconclusive; + } + + // connect to file system and open file + RFs fs; + if(fs.Connect() != KErrNone) + { + return EInconclusive; + } + RFile file; + if(file.Replace(fs, iInitialExternalDisplayTypeFilename, EFileWrite) != KErrNone) + { + fs.Close(); + return EInconclusive; + } + + file.Close(); + fs.Close(); + } + else + { + INFO_PRINTF1(_L("External Display initially disconnected!")); + } + + return EPass; + } + +TVerdict RTestMediaClientExternalDisplay::SetConnectionTypeNotification() + { + // Now create file for the next connection type. This is used to emit a connect or disocnnect notification + // after a few seconds. Note that if the initial and next connection types are the same the external + // display test plugin will not emit a notification. + if(GetStringFromConfig(iSectName, _L("nextExternalDisplayType"), iNextExternalDisplayTypeFilename)) + { + if(iNextExternalDisplayTypeFilename.Compare(KConnectExtDisplayOverHDMI) == 0) + { + INFO_PRINTF2(_L("Creating %S"), &iNextExternalDisplayTypeFilename); + INFO_PRINTF1(_L("External HDMI Display to be connected and notification emitted")); + } + else if(iNextExternalDisplayTypeFilename.Compare(KConnectExtDisplayOverAnalog) == 0) + { + INFO_PRINTF2(_L("Creating %S"), &iNextExternalDisplayTypeFilename); + INFO_PRINTF1(_L("External Analog Display to be connected and notification emitted")); + } + else if(iNextExternalDisplayTypeFilename.Compare(KDisconnectExtDisplay) == 0) + { + INFO_PRINTF2(_L("Creating %S"), &iNextExternalDisplayTypeFilename); + INFO_PRINTF1(_L("External Display to be disconnected and notification emitted")); + } + else + { + INFO_PRINTF2(_L("External display switch setting unkown, %S"), &iNextExternalDisplayTypeFilename); + return EInconclusive; + } + + // connect to file system and open file + RFs fs; + if(fs.Connect() != KErrNone) + { + return EInconclusive; + } + RFile file; + if(file.Replace(fs, iNextExternalDisplayTypeFilename, EFileWrite) != KErrNone) + { + fs.Close(); + return EInconclusive; + } + + file.Close(); + fs.Close(); + } + else + { + INFO_PRINTF1(_L("No External Display switching requested!")); + } + + return EPass; + } + +TVerdict RTestMediaClientExternalDisplay::SetExternalDisplayControl() + { + if(GetBoolFromConfig(iSectName, _L("externalDisplayControl"), iExternalDisplayControl)) + { + INFO_PRINTF2(_L("External display switch control set to %d"), iExternalDisplayControl); + } + else + { + return EInconclusive; + } + return EPass; + } + +/** + * RTestMediaClientExternalDisplay::DoTestStepPostambleL + */ +TVerdict RTestMediaClientExternalDisplay::DoTestStepPostambleL() + { + RFs fs; + // connect to file system and open file + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + if((iInitialExternalDisplayTypeFilename.Length()!= 0) && BaflUtils::FileExists(fs, iInitialExternalDisplayTypeFilename)) + { + User::LeaveIfError(fs.Delete(iInitialExternalDisplayTypeFilename)); + } + + if((iNextExternalDisplayTypeFilename.Length()!= 0) && BaflUtils::FileExists(fs, iNextExternalDisplayTypeFilename)) + { + User::LeaveIfError(fs.Delete(iNextExternalDisplayTypeFilename)); + } + + CleanupStack::PopAndDestroy(1); //fs + + return RTestVclnt2AviPlayerStep::DoTestStepPostambleL(); + } + +/** + * RTestMediaClientExternalDisplay::FsmL + */ +void RTestMediaClientExternalDisplay::FsmL(TVclntTestPlayEvents aEventCode) + { + if (FsmCheck(aEventCode)) + { + switch (aEventCode) + { + case EVPIdle: + HandleIdleL(); + break; + + case EVPOpenComplete: + HandleOpenCompleteL(); + break; + + case EVPPrepareComplete: + HandlePrepareCompleteL(); + break; + + case EVPPlayComplete: + HandlePlayCompleteL(); + break; + } + } + } + +void RTestMediaClientExternalDisplay::HandleIdleL() + { + // Open iVideoPlayer + INFO_PRINTF2(_L("iVideoPlayer2->OpenFileL() %S"), &iFilename); + iVideoPlayer2->OpenFileL(iFilename, KMmfTestAviPlayControllerUid); + PrepareState(EVPOpenComplete, KErrNone); + } + +void RTestMediaClientExternalDisplay::HandleOpenCompleteL() + { + // Prepare iVideoPlayer2 + INFO_PRINTF1(_L("iVideoPlayer2->Prepare()")); + iVideoPlayer2->Prepare(); + PrepareState(EVPPrepareComplete, KErrNone); + } + +void RTestMediaClientExternalDisplay::HandlePrepareCompleteL() + { + // Add display window using default values - ie. video extent & window clipping + // defaulted to whole window + INFO_PRINTF1(_L("iVideoPlayer2->AddDisplayWindowL()")); + iVideoPlayer2->AddDisplayWindowL(iWs, *iScreen, *iWindow); + + // set external display control + iVideoPlayer2->SetExternalDisplaySwitchingL((*iScreen).GetScreenNumber(), iExternalDisplayControl); + + // trigger the video to start playing + StartPlayback(); + } + +void RTestMediaClientExternalDisplay::HandlePlayCompleteL() + { + iTestStepResult = EPass; + CActiveScheduler::Stop(); + } + +void RTestMediaClientExternalDisplay::StartPlayback() + { + iError = KErrTimedOut; + INFO_PRINTF1(_L("iVideoPlayer2->Play()")); + PrepareState(EVPPlayComplete, KErrNone); + iVideoPlayer2->Play(); + } + diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testvideoplayer.cpp --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testvideoplayer.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testvideoplayer.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -2947,3 +2947,131 @@ } } } + + +// +// RTestVclntExternalDisplayControl +// + +/** + * RTestVclntExternalDisplayControl::Constructor + */ +RTestVclntExternalDisplayControl::RTestVclntExternalDisplayControl(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay) + : RTestVclntAviPlayerStep(aTestName, aSectName, aKeyName, aExpectedError), iPlay(aPlay) + { + iHeapSize = 2000000; //-2MB + } + +/** + * RTestVclntExternalDisplayControl::NewL + */ +RTestVclntExternalDisplayControl* RTestVclntExternalDisplayControl::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay) + { + RTestVclntExternalDisplayControl* self = new (ELeave) RTestVclntExternalDisplayControl(aTestName, aSectName, aKeyName, aExpectedError, aPlay); + return self; + } + +/** + * RTestVclntExternalDisplayControl::DoTestStepL + */ +TVerdict RTestVclntExternalDisplayControl::DoTestStepL() + { + // read external display control + SetExternalDisplayControl(); + + // WDP:We are going to start the test now + // Ensure we set paging memory to appropriate cache size for tests which need it + //ignore other tests + TVerdict verdict=SetCacheSize(); + if(verdict!=EPass) + { + return verdict; + } + + // Call the state handler from IDLE state + FsmL(EVPIdle); + User::LeaveIfError(iError); + // Start the scheduler - Done only once ! + CActiveScheduler::Start(); + + return iTestStepResult; + } + +//Default SetCache size +TVerdict RTestVclntExternalDisplayControl::SetCacheSize() + { + //Do not try to increase cache size for tests which dont need it + return EPass; + + } + +/** + * RTestVclntExternalDisplayControl::FsmL + */ +void RTestVclntExternalDisplayControl::FsmL(TVclntTestPlayEvents aEventCode) + { + if (FsmCheck(aEventCode)) + { + //TInt err = KErrNone; + switch (aEventCode) + { + case EVPIdle: + // Open iVideoPlayer + INFO_PRINTF2(_L("iVideoPlayer->OpenFileL() %S"), &iFilename); + TRAP(iError, iVideoPlayer->OpenFileL(iFilename, ControllerUid())); + PrepareState(EVPOpenComplete, KErrNone); + break; + case EVPOpenComplete: + // set external display control + iVideoPlayer->SetExternalDisplaySwitchingL((*iScreen).GetScreenNumber(), iExternalDisplayControl); + // Prepare iVideoPlayer + INFO_PRINTF1(_L("iVideoPlayer->Prepare()")); + iVideoPlayer->Prepare(); + PrepareState(EVPPrepareComplete, KErrNone); + break; + case EVPPrepareComplete: + iTestStepResult = DoTestL(iVideoPlayer); + break; + case EVPPlayComplete: + iTestStepResult = EPass; + CActiveScheduler::Stop(); + break; + } + } + } + +/** + * RTestVclntExternalDisplayControl::DoTestL + */ +TVerdict RTestVclntExternalDisplayControl::DoTestL(CVideoPlayerUtility* /*aPlayer*/) + { + TVerdict ret = EFail; + + if(iPlay) + { + iError = KErrTimedOut; + INFO_PRINTF1(_L("iVideoPlayer->Play()")); + PrepareState(EVPPlayComplete, KErrNone); + iVideoPlayer->Play(); + } + else + { + CActiveScheduler::Stop(); + ret = EPass; + } + + return ret; + } + +TVerdict RTestVclntExternalDisplayControl::SetExternalDisplayControl() + { + if(GetBoolFromConfig(iSectName, _L("externalDisplayControl"), iExternalDisplayControl)) + { + INFO_PRINTF2(_L("External display switch control set to %d"), iExternalDisplayControl); + } + else + { + return EInconclusive; + } + return EPass; + } diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testvideoplayer2.cpp --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testvideoplayer2.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testvideoplayer2.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -460,6 +460,15 @@ iMediaClientVideoDisplay->RemoveDisplayWindow(*iWindow); INFO_PRINTF1(_L("iMediaClientVideoDisplay->RemoveDisplayWindow()")); + iMediaClientVideoDisplay->SetExternalDisplaySwitchingL(ETrue); + iMediaClientVideoDisplay->SetExternalDisplaySwitchingL(EFalse); + iMediaClientVideoDisplay->SetExternalDisplaySwitchingL(EFalse); + iMediaClientVideoDisplay->SetExternalDisplaySwitchingL(ETrue); + + // create media class with other NewL. + delete iMediaClientVideoDisplay; + iMediaClientVideoDisplay = CMediaClientVideoDisplay::NewL(displayId, surfaceId, cropRect, par); + surfaceManager.CloseSurface(surfaceId); surfaceId = TSurfaceId::CreateNullId(); surfaceManager.Close(); diff -r fcaf4606ba4e -r 9d4397b300d1 mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/tsi_mmf_vclntavi_suite.cpp --- a/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/tsi_mmf_vclntavi_suite.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/tsi_mmf_vclntavi_suite.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2005-2010 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" @@ -351,7 +351,27 @@ //RTestMediaClientVideoDisplay AddTestStepL( RTestMediaClientVideoDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-0435"), _L("SectionFive"), _L("filename"), KErrNone) ); - // + // External display + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1201"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1202"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1203"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1204"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1205"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1206"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1207"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1208"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1209"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1210"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1211"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1212"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1213"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1214"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1215"))); + AddTestStepL( RTestMediaClientExternalDisplay::NewL( _L("MM-MMF-VCLNTAVI-I-1216"))); + AddTestStepL( RTestVclntExternalDisplayControl::NewL( _L("MM-MMF-VCLNTAVI-I-1220"), _L("MM-MMF-VCLNTAVI-I-1220"), _L("filename"), KErrNone, ETrue) ); + AddTestStepL( RTestVclntExternalDisplayControl::NewL( _L("MM-MMF-VCLNTAVI-I-1221"), _L("MM-MMF-VCLNTAVI-I-1221"), _L("filename"), KErrNone, ETrue) ); + + // // PREQ1714 - Video Rendering to a Graphics Surface // // NEGATIVE TEST // // diff -r fcaf4606ba4e -r 9d4397b300d1 mmplugins/mmfwplugins/src/Plugin/Controller/Video/AviPlayController/srtdecoder/srtdecoder.cpp --- a/mmplugins/mmfwplugins/src/Plugin/Controller/Video/AviPlayController/srtdecoder/srtdecoder.cpp Thu Oct 07 23:44:30 2010 +0100 +++ b/mmplugins/mmfwplugins/src/Plugin/Controller/Video/AviPlayController/srtdecoder/srtdecoder.cpp Mon Oct 18 12:47:26 2010 +0100 @@ -89,7 +89,7 @@ void CSrtSubtitleDecoder::ConstructL() { iFrameParser = CSrtFrame::NewL(); - iDecodeBuffer.Create(KSubtitleDecoderBufferLength); + iDecodeBuffer.CreateL(KSubtitleDecoderBufferLength); } EXPORT_C TInt CSrtSubtitleDecoder::CalculateSubtitleRegion(const TRect& aScreenSize, TRect& aSubtitleRegion)