2010wk42_01
authorhgs
Wed, 13 Oct 2010 12:45:32 +0100
changeset 2 5c1df44f2eed
parent 1 fcaf4606ba4e
child 3 faaab429cc2b
2010wk42_01
devsound/a3fcharacterisationtest/eabi/char_a3f_devsound.def
devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_init.script
devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_play_tone.script
devsound/a3fcharacterisationtest/src/char_a3f_devsound_compliancesuite.cpp
devsound/a3fcharacterisationtest/src/char_a3f_devsound_initializationtest.cpp
devsound/a3fcharacterisationtest/src/char_a3f_devsound_tonetest.cpp
devsound/a3fcharacterisationtest/src/char_a3f_devsound_tonetest.h
devsound/a3fdevsound/src/devsoundadaptor/cdevcommoncontrol.cpp
devsound/a3fdevsound/src/mmfdevsoundproxy/mmfdevsoundcallbackhandler.cpp
devsoundextensions/audiorouting/Output/AudioOutputMessageHandler/src/AudioOutputMessageHandler.cpp
devsoundextensions/audiorouting/Output/AudioOutputProxy/src/AudioOutputProxy.cpp
devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/group/ciextnserverplugin.mmp
devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.cpp
devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverplugin.h
devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverpluginwrapper.cpp
devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverpluginwrapper.h
devsoundextensions/drmaudioplayer/DRMPlayServer/src/DRMPlaySession.cpp
devsoundextensions/drmaudioplayer/DRMPlayUtility/src/MediaClientDrm.cpp
devsoundextensions/effects/AudioEqualizer/AudioEqualizerMessageHandler/src/AudioEqualizerMessageHandler.cpp
devsoundextensions/effects/BassBoost/BassBoostMessageHandler/src/BassBoostMessageHandler.cpp
devsoundextensions/effects/DistAtten/DistanceAttenuationMessageHandler/src/DistanceAttenuationMessageHandler.cpp
devsoundextensions/effects/EnvReverb/EnvironmentalReverbMessageHandler/src/EnvironmentalReverbMessageHandler.cpp
devsoundextensions/effects/ListDoppler/ListenerDopplerMessageHandler/src/ListenerDopplerMessageHandler.cpp
devsoundextensions/effects/ListLocation/ListenerLocationMessageHandler/src/ListenerLocationMessageHandler.cpp
devsoundextensions/effects/ListOrient/ListenerOrientationMessageHandler/src/ListenerOrientationMessageHandler.cpp
devsoundextensions/effects/Loudness/LoudnessMessageHandler/src/LoudnessMessageHandler.cpp
devsoundextensions/effects/RoomLevel/RoomLevelMessageHandler/src/RoomLevelMessageHandler.cpp
devsoundextensions/effects/SrcDoppler/SourceDopplerMessageHandler/src/SourceDopplerMessageHandler.cpp
devsoundextensions/effects/SrcLocation/SourceLocationMessageHandler/src/SourceLocationMessageHandler.cpp
devsoundextensions/effects/SrcOrientation/SourceOrientationMessageHandler/src/SourceOrientationMessageHandler.cpp
devsoundextensions/effects/StereoWidening/StereoWideningMessageHandler/src/StereoWideningMessageHandler.cpp
devsoundextensions/mmextfw/custominterfaceutility/CustomInterfaceUtility/src/CustomInterfaceUtility.cpp
devsoundextensions/restrictedaudiooutput/RestrictedAudioOutputMessageHandler/src/RestrictedAudioOutputMessageHandler.cpp
mmaudio_pub/drm_audio_player_api/tsrc/Conf/DRMAudioPlaybackRegressionTestModuleFH.cfg
mmaudio_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/DRMAudioPlay_core.cpp
mmaudio_pub/drm_audio_player_api/tsrc/data/mmc/drm/test3gp.dcf
mmaudio_pub/drm_audio_player_api/tsrc/data/mmc/drm/testmp3.dcf
mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/inc/TSI_MMFVCLNT.h
mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/OpenFileByHandle0036.cpp
mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/OpenFileByHandle0524.cpp
mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/TestPlayer.cpp
mmplugins/mmfwplugins/src/Plugin/Controller/Video/AviPlayController/srtdecoder/srtdecoder.cpp
--- 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)