omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_pcmrenderer_step.h
changeset 0 58be5850fb6c
child 1 e0d606d6e3b1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_pcmrenderer_step.h	Thu Sep 02 20:13:57 2010 +0300
@@ -0,0 +1,704 @@
+// Copyright (c) 2008-2009 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:
+//
+
+
+/**
+ @file
+ @internalComponent
+*/
+
+#ifndef TSU_OMXIL_PCMRENDERER_STEP_H
+#define TSU_OMXIL_PCMRENDERER_STEP_H
+
+#include "tsu_omxil_component_base.h"
+
+
+// Forward declarations
+class CMMFDescriptorBuffer;
+
+//
+// RAsyncTestStepOmxILPcmRenderer0020
+//
+// Test20 Description
+//     -# Init Component
+//          -# Obtain the component's state (GetState)
+//          -# Obtain the component's version (GetComponentVersion)
+//          -# Provide callbacks to component (SetCallbacks)
+//          -# Obtain component's role #1 (ComponentRoleEnum)
+//          -# Obtain component's role #2 (ComponentRoleEnum fails with OMX_ErrorNoMore)
+//
+class RAsyncTestStepOmxILPcmRenderer0020 : public RAsyncTestStepOmxILComponentBase
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0020(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0020Step01(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0020Step01();
+
+protected:
+
+	CAsyncCallBack* ipKickoff01;
+	CAsyncCallBack* ipKickoff02;
+	CAsyncCallBack* ipKickoff03;
+	CAsyncCallBack* ipKickoff04;
+	CAsyncCallBack* ipKickoff05;
+	CAsyncCallBack* ipKickoff06;
+
+	};
+
+// Test21 Description
+//     -# Init Component
+//          -# Provide callbacks to component (SetCallbacks)
+//          -# Obtain the component's state (GetState)
+//          -# Obtain component's role #1 with null string (ComponentRoleEnum fails with OMX_ErrorBadParameter)
+//          -# Obtain component's role #1 (ComponentRoleEnum successfully returns audio_decoder.aac)
+//          -# Obtain component's role #2 (ComponentRoleEnum fails with OMX_ErrorNoMore)
+//
+class RAsyncTestStepOmxILPcmRenderer0021 : public RAsyncTestStepOmxILComponentBase
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0021(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0021Step01(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0021Step01();
+
+protected:
+
+	CAsyncCallBack* ipKickoff01;
+	CAsyncCallBack* ipKickoff02;
+	CAsyncCallBack* ipKickoff03;
+	CAsyncCallBack* ipKickoff04;
+	CAsyncCallBack* ipKickoff05;
+	CAsyncCallBack* ipKickoff06;
+
+	};
+
+// Test22 Description
+//     -# Init Component
+//          -# Provide callbacks to component (SetCallbacks)
+//          -# Obtain the component's state (GetState)
+//          -# Get component's current role (GetParameter(OMX_IndexParamStandardComponentRole) )
+//          -# Set unsupported audio_decoder.mp3 role (SetParameter(OMX_IndexParamStandardComponentRole) )
+//               -# SetParameter returns OMX_ErrorBadParameter (audio_decoder.mp3 role not supported)
+//
+class RAsyncTestStepOmxILPcmRenderer0022 : public RAsyncTestStepOmxILComponentBase
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0022(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0022Step01(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0022Step01();
+
+protected:
+
+	CAsyncCallBack* ipKickoff01;
+	CAsyncCallBack* ipKickoff02;
+	CAsyncCallBack* ipKickoff03;
+	CAsyncCallBack* ipKickoff04;
+	CAsyncCallBack* ipKickoff05;
+	CAsyncCallBack* ipKickoff06;
+
+	};
+
+
+
+//
+// RAsyncTestStepOmxILPcmRenderer0001
+//
+// Test01
+//     -# Init Component
+//          -# Loaded->Idle(AllocateBuffer-population)
+//          -# Idle->Loaded(depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0001 : public RAsyncTestStepOmxILComponentBase
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0001(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0001Step01(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0001Step01();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0001Step02(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0001Step02();
+
+protected:
+
+
+	// Set of states for simple state machine
+	enum TTestState
+		{
+		EStateDefault,
+		EStateLoadKickoffTestLComplete,
+		EStateTransitionToLoadedComplete,
+		EStateTransitionToIdleComplete,
+		EStateTransitionToWaiForResourcesComplete,
+		EStateTransitionToPauseComplete,
+		EStateTransitionToExecutingComplete,
+		};
+
+	OMX_BUFFERHEADERTYPE* ipBufferHeaderInput;
+	OMX_BUFFERHEADERTYPE* ipBufferHeaderOutput;
+	RArray<OMX_BUFFERHEADERTYPE*> ipClientClockPortBufferArray;
+	
+	TBool iTerminateNow;
+	TInt iSamplingRate;
+
+	TTestState iTestState;
+
+	CAsyncCallBack* ipKickoff01;
+	CAsyncCallBack* ipKickoff02;
+	CAsyncCallBack* ipKickoff03;
+	CAsyncCallBack* ipKickoff04;
+	CAsyncCallBack* ipKickoff05;
+	CAsyncCallBack* ipKickoff06;
+
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0002
+//
+// Test02
+//     -# Init Component
+//          -# Loaded->Idle(UseBuffer-population)
+//          -# Idle->Loaded(depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0002 : public RAsyncTestStepOmxILPcmRenderer0001
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0002(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0002Step01(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0002Step01();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0002Step02(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0002Step02();
+
+
+protected:
+
+	CMMFDescriptorBuffer* ipInputBuffer;
+	CMMFDescriptorBuffer* ipOutputBuffer;
+	RArray<CMMFDescriptorBuffer*> iClockPortBufferPtrArray;
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0003
+//
+// Test03
+//     -# Init Component
+//          -# Loaded->WaitForResources
+//          -# WaitForResources->Loaded
+//
+class RAsyncTestStepOmxILPcmRenderer0003 : public RAsyncTestStepOmxILComponentBase
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0003(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0003Step01(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0003Step01();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0003Step02(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0003Step02();
+
+
+protected:
+
+	TBool iTerminateNow;
+
+	CAsyncCallBack* ipKickoff01;
+	CAsyncCallBack* ipKickoff02;
+	CAsyncCallBack* ipKickoff03;
+	CAsyncCallBack* ipKickoff04;
+	CAsyncCallBack* ipKickoff05;
+	CAsyncCallBack* ipKickoff06;
+
+
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0004
+//
+// Test04
+//     -# Init Component
+//          -# Loaded->Idle(AllocateBuffer-population)
+//          -# Idle->Pause
+//          -# Pause->Idle
+//          -# Idle->Loaded(depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0004 : public RAsyncTestStepOmxILPcmRenderer0001
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0004(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0004Step01(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0004Step01();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0004Step02(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0004Step02();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0004Step03(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0004Step03();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0004Step04(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0004Step04();
+
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0005
+//
+// Test05
+//     -# Init Component
+//     -# Loaded->Idle(AllocateBuffer-population)
+//     -# Idle->Executing
+//          -# Call EmptyThisBuffer on PCM Renderer
+//          -# EmptyBufferDone callbacks received
+//     -# Executing->Idle(BufferFlushing)
+//     -# Idle->Loaded(Depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0005 : public RAsyncTestStepOmxILPcmRenderer0004
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0005(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+	void DoEmptyBufferDoneL(OMX_HANDLETYPE aComponent,
+						   OMX_BUFFERHEADERTYPE* aBuffer);
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0005Step01(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0005Step01();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0005Step02(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0005Step02();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0005Step03(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0005Step03();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0005Step04(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0005Step04();
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0006
+//
+// Test06
+//     -# Init Component
+//         -# Loaded->Idle(AllocateBuffer-population)
+//         -# Idle->Executing
+//         -# Executing->Pause
+//         -# Pause->Executing
+//         -# Executing->Idle(BufferFlushing)
+//         -# Idle->Loaded(depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0006 : public RAsyncTestStepOmxILPcmRenderer0005
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0006(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0006Step01(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0006Step01();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0006Step02(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0006Step02();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0006Step03(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0006Step03();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0006Step04(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0006Step04();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0006Step05(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0006Step05();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0006Step06(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0006Step06();
+
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0007
+//
+// Test07
+//     -# Init Component
+//         -# Loaded->Idle(AllocateBuffer-population)
+//         -# Idle->Executing
+//         -# Executing->Pause
+//         -# Pause->Idle(BufferFlushing)
+//         -# Idle->Loaded(depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0007 : public RAsyncTestStepOmxILPcmRenderer0006
+	{
+
+public:
+
+	RAsyncTestStepOmxILPcmRenderer0007(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+
+
+	//
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0007Step01(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0007Step01();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0007Step02(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0007Step02();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0007Step03(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0007Step03();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0007Step04(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0007Step04();
+
+	static TInt RAsyncTestStepOmxILPcmRenderer0007Step05(TAny* aPtr);
+	// void DoRAsyncTestStepOmxILPcmRenderer0007Step05();
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0008
+//
+// Test08
+//     -# Init Component
+//     -# Loaded->Idle(AllocateBuffer-population)
+//     -# Idle->Executing
+//		-# Repeat these steps until the whole file has been emptied
+//          -# Call EmptyThisBuffer on PCM Renderer
+//          -# EmptyBufferDone callbacks received
+//     -# Executing->Idle(BufferFlushing)
+//     -# Idle->Loaded(Depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0008 : public RAsyncTestStepOmxILPcmRenderer0005
+	{
+public:
+	RAsyncTestStepOmxILPcmRenderer0008(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+						OMX_EVENTTYPE aEvent,
+						TUint aData1,
+						TUint aData2,
+						TAny* aExtra);
+
+	void DoEmptyBufferDoneL(OMX_HANDLETYPE aComponent,
+						   OMX_BUFFERHEADERTYPE* aBuffer);
+	};
+	
+//
+// RAsyncTestStepOmxILPcmRenderer0009
+//
+// Test09
+//     -# Init Component
+//     -# Loaded->Idle(AllocateBuffer-population)
+//     -# Idle->Executing
+//		-# Repeat these steps until the whole file has been emptied
+//          -# Call EmptyThisBuffer on PCM Renderer
+//          -# EmptyBufferDone callbacks received
+//		-# Executing->Pause and Pause->Executing (after 5 and again after 10 buffers played)
+//     -# Executing->Idle(BufferFlushing)
+//     -# Idle->Loaded(Depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0009 : public RAsyncTestStepOmxILPcmRenderer0008
+	{
+public:
+	RAsyncTestStepOmxILPcmRenderer0009(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+			OMX_EVENTTYPE aEvent,
+			TUint aData1,
+			TUint aData2,
+			TAny* aExtra);
+
+	void DoEmptyBufferDoneL(OMX_HANDLETYPE aComponent,
+						   OMX_BUFFERHEADERTYPE* aBuffer);
+	
+private:
+	TInt iNumOfEmptiedBuffers;
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0010
+//
+// Test09
+//     -# Init Component
+//     -# Loaded->Idle(AllocateBuffer-population)
+//     -# Idle->Executing
+//		-# Repeat these steps until the whole file has been emptied
+//          -# Call EmptyThisBuffer on PCM Renderer
+//          -# EmptyBufferDone callbacks received
+//		-# Executing->Idle and Idle->Executing (after 5 and again after 10 buffers played)
+//     -# Executing->Idle(BufferFlushing)
+//     -# Idle->Loaded(Depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0010 : public RAsyncTestStepOmxILPcmRenderer0008
+	{
+public:
+	RAsyncTestStepOmxILPcmRenderer0010(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+	
+	void DoEventHandlerL(OMX_HANDLETYPE aComponent,
+			OMX_EVENTTYPE aEvent,
+			TUint aData1,
+			TUint aData2,
+			TAny* aExtra);
+
+	void DoEmptyBufferDoneL(OMX_HANDLETYPE aComponent,
+						   OMX_BUFFERHEADERTYPE* aBuffer);
+
+protected:
+
+	// Call backs
+	static TInt RAsyncTestStepOmxILPcmRenderer0010Step01(TAny* aPtr);
+	void DoRAsyncTestStepOmxILPcmRenderer0010Step01();
+
+private:
+
+
+	TInt iNumOfEmptiedBuffers;
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0030
+//
+// Test30
+//     -# Init Component
+//     -# Loaded->Idle(AllocateBuffer-population)
+//     -# Idle->Executing
+//		-# Repeat these steps until the whole file has been emptied
+//          -# Call EmptyThisBuffer on PCM Renderer
+//          -# EmptyBufferDone callbacks received
+//			 -# Get Bytes Played parameter and compare with the bytes readed from file
+//     -# Executing->Idle(BufferFlushing)
+//     -# Idle->Loaded(Depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0030 : public RAsyncTestStepOmxILPcmRenderer0008
+	{
+public:
+	RAsyncTestStepOmxILPcmRenderer0030(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+
+	void DoEmptyBufferDoneL(OMX_HANDLETYPE aComponent,
+						   OMX_BUFFERHEADERTYPE* aBuffer);
+	};
+
+//
+// RAsyncTestStepOmxILPcmRenderer0031
+//
+// Test09
+//     -# Init Component
+//     -# Loaded->Idle(AllocateBuffer-population)
+//     -# Idle->Executing
+//		-# Repeat these steps until the whole file has been emptied
+//          -# Call EmptyThisBuffer on PCM Renderer
+//          -# EmptyBufferDone callbacks received
+//		-# Set Volume Ramp to 2s (after 5 buffers played)
+//     -# Executing->Idle(BufferFlushing)
+//     -# Idle->Loaded(Depopulation)
+//
+class RAsyncTestStepOmxILPcmRenderer0031 : public RAsyncTestStepOmxILPcmRenderer0008
+	{
+public:
+	RAsyncTestStepOmxILPcmRenderer0031(const TDesC& aTestName, TInt aComponentUid);
+
+	// From RAsyncTestStep
+	void KickoffTestL();
+
+	void DoEmptyBufferDoneL(OMX_HANDLETYPE aComponent,
+						   OMX_BUFFERHEADERTYPE* aBuffer);
+	
+private:
+	TInt iNumOfEmptiedBuffers;
+	};
+
+#endif // TSU_OMXIL_PCMRENDERER_STEP_H