diff -r 000000000000 -r 40261b775718 devsound/a3fintegrationtest/src/tsi_a3f_devsound_play.h --- /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 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