--- a/devsound/a3fcharacterisationtest/eabi/char_a3f_devsound.def Thu Oct 07 23:44:30 2010 +0100
+++ b/devsound/a3fcharacterisationtest/eabi/char_a3f_devsound.def Wed Oct 13 12:45:32 2010 +0100
@@ -362,4 +362,6 @@
_ZTV44RA3FDevSoundPlayEmptyBuffersWhilePlayingTest @ 361 NONAME
_ZTI49RA3FDevSoundPlayPreemptedByToneAfterSetVolumeTest @ 362 NONAME
_ZTV49RA3FDevSoundPlayPreemptedByToneAfterSetVolumeTest @ 363 NONAME
+ _ZTI41RA3FDevSoundTonePlayToneFixedSequenceTest @ 364 NONAME
+ _ZTV41RA3FDevSoundTonePlayToneFixedSequenceTest @ 365 NONAME
--- 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 Wed Oct 13 12:45:32 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.
--- 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 Wed Oct 13 12:45:32 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
--- 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 Wed Oct 13 12:45:32 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")));
--- 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 Wed Oct 13 12:45:32 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;
}
--- 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 Wed Oct 13 12:45:32 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);
+ }
+
+ }
+
+ }
+
+
+
--- 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 Wed Oct 13 12:45:32 2010 +0100
@@ -1351,6 +1351,23 @@
TBuf8<KMaxStringLength> 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
--- a/devsound/a3fdevsound/src/devsoundadaptor/cdevcommoncontrol.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsound/a3fdevsound/src/devsoundadaptor/cdevcommoncontrol.cpp Wed Oct 13 12:45:32 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)
{
--- a/devsound/a3fdevsound/src/mmfdevsoundproxy/mmfdevsoundcallbackhandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsound/a3fdevsound/src/mmfdevsoundproxy/mmfdevsoundcallbackhandler.cpp Wed Oct 13 12:45:32 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);
--- a/devsoundextensions/audiorouting/Output/AudioOutputMessageHandler/src/AudioOutputMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/audiorouting/Output/AudioOutputMessageHandler/src/AudioOutputMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/audiorouting/Output/AudioOutputProxy/src/AudioOutputProxy.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/audiorouting/Output/AudioOutputProxy/src/AudioOutputProxy.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/group/ciextnserverplugin.mmp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/group/ciextnserverplugin.mmp Wed Oct 13 12:45:32 2010 +0100
@@ -28,7 +28,6 @@
SOURCEPATH ../src
SOURCE ciextnserverplugin.cpp
-SOURCE ciextnserverpluginwrapper.cpp
SOURCE main.cpp
USERINCLUDE .
--- a/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.cpp Wed Oct 13 12:45:32 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);
--- a/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.h Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.h Wed Oct 13 12:45:32 2010 +0100
@@ -24,7 +24,6 @@
// Include files
#include <e32base.h>
#include <a3f/mmfdevsoundcustominterfaceextensions.h>
-#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;
--- 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 <AudioInputMessageTypes.h>
-#include <ecom.h>
-
-#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<KMuxTempBufferSize> 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);
- }
- }
- */
--- 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 <e32base.h>
-#include <MCustomInterface.h>
-
-// 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
--- a/devsoundextensions/drmaudioplayer/DRMPlayServer/src/DRMPlaySession.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/drmaudioplayer/DRMPlayServer/src/DRMPlaySession.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/drmaudioplayer/DRMPlayUtility/src/MediaClientDrm.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/drmaudioplayer/DRMPlayUtility/src/MediaClientDrm.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/AudioEqualizer/AudioEqualizerMessageHandler/src/AudioEqualizerMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/AudioEqualizer/AudioEqualizerMessageHandler/src/AudioEqualizerMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/BassBoost/BassBoostMessageHandler/src/BassBoostMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/BassBoost/BassBoostMessageHandler/src/BassBoostMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/DistAtten/DistanceAttenuationMessageHandler/src/DistanceAttenuationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/DistAtten/DistanceAttenuationMessageHandler/src/DistanceAttenuationMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/EnvReverb/EnvironmentalReverbMessageHandler/src/EnvironmentalReverbMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/EnvReverb/EnvironmentalReverbMessageHandler/src/EnvironmentalReverbMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/ListDoppler/ListenerDopplerMessageHandler/src/ListenerDopplerMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/ListDoppler/ListenerDopplerMessageHandler/src/ListenerDopplerMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/ListLocation/ListenerLocationMessageHandler/src/ListenerLocationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/ListLocation/ListenerLocationMessageHandler/src/ListenerLocationMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/ListOrient/ListenerOrientationMessageHandler/src/ListenerOrientationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/ListOrient/ListenerOrientationMessageHandler/src/ListenerOrientationMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/Loudness/LoudnessMessageHandler/src/LoudnessMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/Loudness/LoudnessMessageHandler/src/LoudnessMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/RoomLevel/RoomLevelMessageHandler/src/RoomLevelMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/RoomLevel/RoomLevelMessageHandler/src/RoomLevelMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/SrcDoppler/SourceDopplerMessageHandler/src/SourceDopplerMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/SrcDoppler/SourceDopplerMessageHandler/src/SourceDopplerMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/SrcLocation/SourceLocationMessageHandler/src/SourceLocationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/SrcLocation/SourceLocationMessageHandler/src/SourceLocationMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/SrcOrientation/SourceOrientationMessageHandler/src/SourceOrientationMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/SrcOrientation/SourceOrientationMessageHandler/src/SourceOrientationMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/effects/StereoWidening/StereoWideningMessageHandler/src/StereoWideningMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/effects/StereoWidening/StereoWideningMessageHandler/src/StereoWideningMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/mmextfw/custominterfaceutility/CustomInterfaceUtility/src/CustomInterfaceUtility.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/mmextfw/custominterfaceutility/CustomInterfaceUtility/src/CustomInterfaceUtility.cpp Wed Oct 13 12:45:32 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;
}
--- a/devsoundextensions/restrictedaudiooutput/RestrictedAudioOutputMessageHandler/src/RestrictedAudioOutputMessageHandler.cpp Thu Oct 07 23:44:30 2010 +0100
+++ b/devsoundextensions/restrictedaudiooutput/RestrictedAudioOutputMessageHandler/src/RestrictedAudioOutputMessageHandler.cpp Wed Oct 13 12:45:32 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;
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmaudio_pub/drm_audio_player_api/tsrc/Conf/DRMAudioPlaybackRegressionTestModuleFH.cfg Wed Oct 13 12:45:32 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]
--- 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 Wed Oct 13 12:45:32 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
--- 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 Wed Oct 13 12:45:32 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
--- 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 Wed Oct 13 12:45:32 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(;;)
{
--- 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 Wed Oct 13 12:45:32 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(;;)
{
--- 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 Wed Oct 13 12:45:32 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;
--- 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 Wed Oct 13 12:45:32 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)