--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devsound/a3fintegrationtest/src/tsi_a3f_devsound_play.h Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,622 @@
+// Copyright (c) 2007-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:
+// Declarations of Integration test step classes for A3F DevSound Play cases.
+//
+//
+
+#ifndef TSI_A3F_DEVSOUND_PLAY_H
+#define TSI_A3F_DEVSOUND_PLAY_H
+
+// User includes
+#include "tsi_a3f_devsound_teststep.h"
+
+/*
+ *
+ * RTestStepA3FDevSoundPlayBase
+ *
+ */
+class RTestStepA3FDevSoundPlayBase : public RAsyncTestStep,
+ public MDevSoundObserver
+ {
+public:
+ // From RAsyncTestStep
+ virtual void KickoffTestL();
+ virtual void CloseTest();
+
+protected:
+ RTestStepA3FDevSoundPlayBase(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+ RTestStepA3FDevSoundPlayBase(const TDesC& aTestName, const TDesC& aSectName);
+ RTestStepA3FDevSoundPlayBase(const TDesC& aTestName, const TFourCC& aInputDataType);
+ RTestStepA3FDevSoundPlayBase(const TDesC& aTestName);
+
+ virtual void DoKickoffTestL();
+
+ // Executes the playing events of DevSound using a Finite State Machine
+ virtual void Fsm(TDevSoundPlayEvents aDevSoundEvent, TInt aError);
+
+ // From MDevSoundObserver
+ virtual void InitializeComplete(TInt aError);
+ virtual void ToneFinished(TInt aError);
+ virtual void BufferToBeFilled(CMMFBuffer* aBuffer);
+ virtual void PlayError(TInt aError);
+ virtual void BufferToBeEmptied(CMMFBuffer* aBuffer);
+ virtual void RecordError(TInt aError);
+ virtual void ConvertError(TInt aError);
+ virtual void DeviceMessage(TUid aMessageType, const TDesC8& aMsg);
+
+ // Timer Callback
+ static TInt TimerCallback(TAny*);
+ virtual void DoTimerCallback();
+
+ TUint ConvertDesToTMMFSampleRate(const TDesC& aSampleRateString);
+ TUint ConvertDesToTMMFMonoStereo(const TDesC& aMonoStereoString);
+ void DisplayCodecInfo();
+ void SetSampleRateAndChannelMode();
+ void CheckConfigAndFourCCUsage();
+
+protected:
+ RFs iFs;
+ RFile iFile;
+ CMMFDevSound* iMMFDevSound;
+ CMMFBuffer* iBuffer;
+ CPeriodic* iTimer;
+ TCallBack iCallBack;
+ TFourCC iInputDataType; // datatype (FourCC) of the Decoder
+ TBuf<KNameSize> iSectName;
+ TPtrC iFilename;
+ TPtrC iSampleRate;
+ TPtrC iMonoStereo;
+ TDevSoundPlayState iPlayState;
+ TInt iBufferCount;
+ TBool iConfig;
+ TBool iInvalidConfig;
+ TBool iUseFourCC;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundPlaySimple
+ *
+ */
+class RStepA3FDevSoundPlaySimple : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundPlaySimple* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+ static RStepA3FDevSoundPlaySimple* NewL(const TDesC& aTestName, const TDesC& aSectName);
+
+private:
+ RStepA3FDevSoundPlaySimple(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+ RStepA3FDevSoundPlaySimple(const TDesC& aTestName, const TDesC& aSectName);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundPlayEmpty
+ *
+ */
+class RStepA3FDevSoundPlayEmpty : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundPlayEmpty* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundPlayEmpty(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aDevSoundEvent, TInt aError);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundPlayInvalidConfig
+ *
+ */
+class RStepA3FDevSoundPlayInvalidConfig : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundPlayInvalidConfig* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundPlayInvalidConfig(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RAsyncTestStep
+ virtual void KickoffTestL();
+
+ // From MDevSoundObserver
+ virtual void PlayError(TInt aError);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundPlayInvalidFourCC
+ *
+ */
+class RStepA3FDevSoundPlayInvalidFourCC : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundPlayInvalidFourCC* NewL(const TDesC& aTestName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundPlayInvalidFourCC(const TDesC& aTestName, const TFourCC& aInputDataType);
+
+ // From RAsyncTestStep
+ virtual void KickoffTestL();
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aDevSoundEvent, TInt aError);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundInitializeWithHwDeviceUID
+ *
+ */
+class RStepA3FDevSoundInitializeWithHwDeviceUID : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundInitializeWithHwDeviceUID* NewL(const TDesC& aTestName);
+
+private:
+ RStepA3FDevSoundInitializeWithHwDeviceUID(const TDesC& aTestName);
+
+ // From RAsyncTestStep
+ virtual void KickoffTestL();
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aDevSoundEvent, TInt aError);
+
+ };
+
+/**
+ *
+ * RStepA3FDevSoundReadConfigDuringPlay
+ */
+class RStepA3FDevSoundReadConfigDuringPlay : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundReadConfigDuringPlay* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundReadConfigDuringPlay(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From MDevSoundObserver
+ virtual void BufferToBeFilled(CMMFBuffer* aBuffer);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundSetVolPlayStopGetVol
+ *
+ */
+class RStepA3FDevSoundSetVolPlayStopGetVol : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundSetVolPlayStopGetVol* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundSetVolPlayStopGetVol(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void DoKickoffTestL();
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ virtual void DoTimerCallback();
+
+private:
+ TInt iSetVolume;
+ TInt iVolDuringStopped;
+ TBool iCheckTimer;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundFlushBuffersPaused
+ *
+ */
+class RStepA3FDevSoundFlushBuffersPaused : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundFlushBuffersPaused* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundFlushBuffersPaused(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ virtual void DoTimerCallback();
+
+ // From MDevSoundObserver
+ void BufferToBeFilled(CMMFBuffer* aBuffer);
+
+private:
+ TBool iCheckTimer;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundInvalidStatePlay
+ *
+ */
+class RStepA3FDevSoundInvalidStatePlay : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundInvalidStatePlay* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundInvalidStatePlay(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RAsyncTestStep
+ virtual void KickoffTestL();
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+
+ // From MDevSoundObserver
+ virtual void BufferToBeFilled(CMMFBuffer* aBuffer);
+ virtual void PlayError(TInt aError);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundFlushBuffersPlaying
+ *
+ */
+class RStepA3FDevSoundFlushBuffersPlaying : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundFlushBuffersPlaying* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundFlushBuffersPlaying(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundInitializeWhilePlaying
+ *
+ */
+class RStepA3FDevSoundInitializeWhilePlaying : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundInitializeWhilePlaying* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundInitializeWhilePlaying(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ void DoTimerCallback();
+
+private:
+ TBool iCheckTimer;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundSetBalanceDuringPlay
+ *
+ */
+class RStepA3FDevSoundSetBalanceDuringPlay : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundSetBalanceDuringPlay* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundSetBalanceDuringPlay(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void DoKickoffTestL();
+
+ // From MDevSoundObserver
+ virtual void BufferToBeFilled(CMMFBuffer* aBuffer);
+
+private:
+ TInt iPlaybalanceLeft;
+ TInt iPlaybalanceRight;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundPlayStopMultipleTimes
+ *
+ */
+class RStepA3FDevSoundPlayStopMultipleTimes : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundPlayStopMultipleTimes* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+
+ RStepA3FDevSoundPlayStopMultipleTimes(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void DoKickoffTestL();
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ virtual void DoTimerCallback();
+
+private:
+ TInt iRepeatCount;
+ TInt iRepeatCounter;
+ TBool iCheckTimer;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundPlayEOFPlayMultipleTimes
+ *
+ */
+class RStepA3FDevSoundPlayEOFPlayMultipleTimes : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundPlayEOFPlayMultipleTimes* NewL(const TDesC& aTestName, const TDesC& aSectName);
+
+private:
+ RStepA3FDevSoundPlayEOFPlayMultipleTimes(const TDesC& aTestName, const TDesC& aSectName);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void DoKickoffTestL();
+
+ // From MDevSoundObserver
+ virtual void PlayError(TInt aError);
+
+private:
+ TInt iRepeatCount;
+ TInt iRepeatCounter;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundInititalizeDuringInitialize
+ *
+ */
+class RStepA3FDevSoundInititalizeDuringInitialize : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundInititalizeDuringInitialize* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundInititalizeDuringInitialize(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RAsyncTestStep
+ virtual void KickoffTestL();
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+
+ // From MDevSoundObserver
+ virtual void InitializeComplete(TInt aError);
+
+private:
+ TInt iSecondInitErr;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundPlayInitDuringPlayInit
+ *
+ */
+class RStepA3FDevSoundPlayInitDuringPlayInit : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundPlayInitDuringPlayInit* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundPlayInitDuringPlayInit(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RASyncTestStep
+ virtual void KickoffTestL();
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+
+ // From MDevSoundObserver
+ virtual void BufferToBeFilled(CMMFBuffer* aBuffer);
+
+private:
+ TInt iFirstPlayInitErr;
+ TInt iSecondPlayInitErr;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundVolumeCrop
+ *
+ */
+class RStepA3FDevSoundVolumeCrop : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundVolumeCrop* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundVolumeCrop(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RAsyncTestStep
+ virtual void KickoffTestL();
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+
+private:
+ TInt iIncreaseMaxVolume;
+ TInt iMinVolume;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundInitializeForConverting
+ *
+ */
+class RStepA3FDevSoundInitializeForConverting : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundInitializeForConverting* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundInitializeForConverting(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RAsyncTestStep
+ virtual void KickoffTestL();
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundGetSampleNumsDuringPlayStop
+ *
+ */
+class RStepA3FDevSoundGetSampleNumsAfterStop : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundGetSampleNumsAfterStop* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundGetSampleNumsAfterStop(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ virtual void DoTimerCallback();
+
+private:
+ TBool iCheckTimer;
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundCancelInitializePlay
+ *
+ */
+class RStepA3FDevSoundCancelInitializePlay : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundCancelInitializePlay* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundCancelInitializePlay(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ virtual void DoTimerCallback();
+ virtual void KickoffTestL();
+
+ // From MDevSoundObserver
+ virtual void InitializeComplete(TInt aError);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundNegCancelInitializePlay
+ *
+ */
+class RStepA3FDevSoundNegCancelInitializePlay : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundNegCancelInitializePlay* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundNegCancelInitializePlay(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ virtual void KickoffTestL();
+
+ // From MDevSoundObserver
+ virtual void InitializeComplete(TInt aError);
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundEmptyBuffersInCreatedState
+ *
+ */
+class RStepA3FDevSoundEmptyBuffersInCreatedState : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundEmptyBuffersInCreatedState* NewL(const TDesC& aTestName);
+
+private:
+ RStepA3FDevSoundEmptyBuffersInCreatedState(const TDesC& aTestName);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ virtual void KickoffTestL();
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundEmptyBuffersInInitializedState
+ *
+ */
+class RStepA3FDevSoundEmptyBuffersInInitializedState : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundEmptyBuffersInInitializedState* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundEmptyBuffersInInitializedState(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ virtual void KickoffTestL();
+
+ };
+
+/*
+ *
+ * RStepA3FDevSoundEmptyBuffersInInitializingState
+ *
+ */
+class RStepA3FDevSoundEmptyBuffersInInitializingState : public RTestStepA3FDevSoundPlayBase
+ {
+public:
+ static RStepA3FDevSoundEmptyBuffersInInitializingState* NewL(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+private:
+ RStepA3FDevSoundEmptyBuffersInInitializingState(const TDesC& aTestName, const TDesC& aSectName, const TFourCC& aInputDataType);
+
+ // From RTestStepA3FDevSoundPlayBase
+ virtual void Fsm(TDevSoundPlayEvents aEventCode, TInt aError);
+ virtual void KickoffTestL();
+
+ // From MDevSoundObserver
+ virtual void InitializeComplete(TInt aError);
+
+ };
+
+#endif // TSI_A3F_DEVSOUND_PLAY_H