sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Header file: Video Player Tests. sl@0: // sl@0: // sl@0: sl@0: #ifndef __TESTVIDEOPLAYER_H__ sl@0: #define __TESTVIDEOPLAYER_H__ sl@0: sl@0: #include "tsi_mmf_vclntavi_stepbase.h" sl@0: #include "u32hal.h" sl@0: #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS sl@0: #include sl@0: #endif sl@0: sl@0: sl@0: /** sl@0: * Load and initialise a video file. sl@0: * sl@0: * RTestVclntPlayAviFile sl@0: * sl@0: */ sl@0: class RTestVclntPlayAviFile : public RTestVclntAviPlayerStep sl@0: { sl@0: public: sl@0: RTestVclntPlayAviFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); sl@0: static RTestVclntPlayAviFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); sl@0: static RTestVclntPlayAviFile* NewLC(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aVideo); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: virtual TVerdict SetCacheSize(); sl@0: protected: sl@0: const TBool iPlay; sl@0: TTimeIntervalMicroSeconds iDuration; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and initialise an video descriptor. sl@0: * sl@0: * RTestVclntPlayAviDes sl@0: * sl@0: */ sl@0: class RTestVclntPlayAviDes : public RTestVclntAviPlayerStep sl@0: { sl@0: public: sl@0: RTestVclntPlayAviDes(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay) ; sl@0: static RTestVclntPlayAviDes* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay); sl@0: static RTestVclntPlayAviDes* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual TVerdict DoTestStepPreambleL(); sl@0: virtual TVerdict DoTestStepPostambleL(); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: HBufC8* iVideo; // Buffer for holding video descriptor data sl@0: TTimeIntervalMicroSeconds iDuration;// Stores duration of video sl@0: const TBool iPlay; // Does this test require playing the video sl@0: } ; sl@0: sl@0: /** sl@0: * Open video from a URL and play. sl@0: * sl@0: * RTestVclntPlayAviUrl sl@0: * sl@0: */ sl@0: sl@0: class RTestVclntPlayAviUrl : public RTestVclntAviPlayerStep sl@0: { sl@0: public: sl@0: RTestVclntPlayAviUrl(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); sl@0: static RTestVclntPlayAviUrl* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); sl@0: static RTestVclntPlayAviUrl* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: TTimeIntervalMicroSeconds iDuration;// Stores duration of video sl@0: const TBool iPlay; // Does this test require playing the video sl@0: }; sl@0: sl@0: /** sl@0: * Set and enquire framerate sl@0: * sl@0: * RTestVclntEnqFrameRate sl@0: * sl@0: */ sl@0: class RTestVclntEnqFrameRate : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntEnqFrameRate* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aFrameRate); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: sl@0: private: sl@0: RTestVclntEnqFrameRate(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aFrameRate); sl@0: sl@0: private: sl@0: TReal32 iFrameRate; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * set position and play form this position. sl@0: * sl@0: * RTestVclntPosition sl@0: * sl@0: */ sl@0: class RTestVclntPosition : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntPosition* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aPosition); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntPosition(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aPosition); sl@0: sl@0: private: sl@0: TTimeIntervalMicroSeconds iPosition; sl@0: }; sl@0: sl@0: /** sl@0: * Video priority sl@0: * sl@0: * RTestVclntPriority sl@0: * sl@0: */ sl@0: class RTestVclntPriority : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntPriority* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aPriority); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntPriority(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aPriority); sl@0: sl@0: private: sl@0: TInt iPriority; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Video duration sl@0: * sl@0: * RTestVclntDuration sl@0: * sl@0: */ sl@0: class RTestVclntDuration : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntDuration* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aDuration); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: virtual TVerdict SetCacheSize(); sl@0: private: sl@0: RTestVclntDuration(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aDuration); sl@0: SVMCacheInfo iCurrentCacheSize; sl@0: TVerdict CheckCacheError(TInt aError); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Video Volume sl@0: * sl@0: * RTestVclntVolume sl@0: * sl@0: */ sl@0: class RTestVclntVolume : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntVolume* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aVolume); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntVolume(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aVolume); sl@0: sl@0: private: sl@0: TInt iVolume; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Video open, close and then open again. sl@0: * sl@0: * RTestVclntCloseOpen sl@0: * sl@0: */ sl@0: class RTestVclntCloseOpen : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntCloseOpen* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: private: sl@0: RTestVclntCloseOpen(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: TInt iOpenCount; sl@0: }; sl@0: sl@0: sl@0: sl@0: /** sl@0: * Video pause. sl@0: * sl@0: * RTestVclntPause sl@0: * sl@0: */ sl@0: class RTestVclntPause : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntPause* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: private: sl@0: RTestVclntPause(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: TUint iPlayerDuration; sl@0: TUint iActualDuration; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Video pause. sl@0: * sl@0: * RTestVclntBalance sl@0: * sl@0: */ sl@0: class RTestVclntBalance : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntBalance* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aBalance); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntBalance(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aBalance); sl@0: sl@0: private: sl@0: TInt iBalance; sl@0: }; sl@0: sl@0: sl@0: sl@0: /** sl@0: * Video set play window and delete play window. sl@0: * sl@0: * RTestVclntPlayWindow sl@0: * sl@0: */ sl@0: class RTestVclntPlayWindow : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntPlayWindow* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntPlayWindow(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd); sl@0: sl@0: private: sl@0: TTimeIntervalMicroSeconds iStart; sl@0: TTimeIntervalMicroSeconds iEnd; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Video get meta data. sl@0: * sl@0: * RTestVclntMeta sl@0: * sl@0: */ sl@0: class RTestVclntMeta : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntMeta* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntMeta(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: private: sl@0: TTimeIntervalMicroSeconds iStart; sl@0: TTimeIntervalMicroSeconds iEnd; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Video get framesize. sl@0: * sl@0: * RTestVclntFrameSize sl@0: * sl@0: */ sl@0: class RTestVclntFrameSize : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntFrameSize* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntFrameSize(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: private: sl@0: TSize iFrameSize; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Video get mime type. sl@0: * sl@0: * RTestVclntMimeType sl@0: * sl@0: */ sl@0: class RTestVclntMimeType : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntMimeType* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntMimeType(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Video player scale values test. sl@0: * sl@0: * RTestVclntScale sl@0: * sl@0: */ sl@0: class RTestVclntScale : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntScale* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntScale(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Crop test for video sl@0: * sl@0: * RTestVclntCrop sl@0: * sl@0: */ sl@0: class RTestVclntCrop : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntCrop* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntCrop(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: #ifdef SYMBIAN_BUILD_GCE sl@0: sl@0: /** sl@0: Auto scale test for video sl@0: */ sl@0: sl@0: class RTestVclntAutoScale : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntAutoScale* NewL(const TDesC& aTestName); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntAutoScale(const TDesC& aTestName); sl@0: }; sl@0: sl@0: #endif // SYMBIAN_BUILD_GCE sl@0: sl@0: /** sl@0: * Frame test for video. sl@0: * sl@0: * RTestVclntGetFrame sl@0: * sl@0: */ sl@0: class RTestVclntGetFrame : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntGetFrame* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, TBool aUseIntentAPI); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: virtual void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError); sl@0: private: sl@0: RTestVclntGetFrame(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TBool aUseIntentAPI); sl@0: TBool iUseIntentAPI; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Video rebuffering. sl@0: * sl@0: * RTestVclntRebuffering sl@0: * sl@0: */ sl@0: class RTestVclntRebuffering : public RTestVclntPlayAviFile, public MVideoLoadingObserver sl@0: { sl@0: public: sl@0: static RTestVclntRebuffering* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: void MvloLoadingStarted(); sl@0: void MvloLoadingComplete(); sl@0: private: sl@0: RTestVclntRebuffering(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Video get framesize. sl@0: * sl@0: * RTestVclntRepeat sl@0: * sl@0: */ sl@0: class RTestVclntRepeat : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntRepeat* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aRepeat); sl@0: virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); sl@0: private: sl@0: RTestVclntRepeat(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aRepeat); sl@0: private: sl@0: TInt iRepeat; sl@0: }; sl@0: sl@0: sl@0: sl@0: /** sl@0: * Video Delete object while playing sl@0: * sl@0: * RTestVclntDelete sl@0: * sl@0: */ sl@0: class RTestVclntDelete : public RTestVclntPlayAviFile sl@0: { sl@0: public: sl@0: static RTestVclntDelete* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: private: sl@0: RTestVclntDelete(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Play Video file sl@0: * sl@0: * RTestVclntPlayAviFileHandle sl@0: * sl@0: */ sl@0: class RTestVclntPlayAviFileHandle : public RTestVclntAviPlayerStep sl@0: { sl@0: public: sl@0: RTestVclntPlayAviFileHandle(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aAlloc); sl@0: static RTestVclntPlayAviFileHandle* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aAlloc); sl@0: static RTestVclntPlayAviFileHandle* NewLC(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aAlloc); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: virtual TInt SetCacheSize(); sl@0: virtual TInt CheckCacheError(TInt aError); sl@0: sl@0: protected: sl@0: TVerdict PerformTestStepL(); sl@0: const TBool iAlloc; // Is this test an Alloc test sl@0: TTimeIntervalMicroSeconds iDuration; // Stores duration of video sl@0: RFs iFs; sl@0: RFile iFile; sl@0: TBool iIsOpen; sl@0: }; sl@0: sl@0: /** sl@0: sl@0: RTestVideoPlayCapabilityVelocity sl@0: sl@0: */ sl@0: class RTestVideoPlayCapabilityVelocity: public RTestVclntAviPlayerStep sl@0: { sl@0: public: sl@0: RTestVideoPlayCapabilityVelocity(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: static RTestVideoPlayCapabilityVelocity* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: TVideoPlayRateCapabilities iVideoPlayRateCapabilities; sl@0: TInt iPlayVelocity; sl@0: RFs iFs; sl@0: RFile iFile; sl@0: }; sl@0: sl@0: /** sl@0: sl@0: RTestVideoPlayStepFrame sl@0: sl@0: */ sl@0: class RTestVideoPlayStepFrame: public RTestVclntAviPlayerStep sl@0: { sl@0: public: sl@0: RTestVideoPlayStepFrame(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: static RTestVideoPlayStepFrame* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: static TInt TimerCallback(TAny* aPtr); sl@0: protected: sl@0: TVideoPlayRateCapabilities iVideoPlayRateCapabilities; sl@0: CPeriodic* iTimer; sl@0: TInt iPlayVelocity; sl@0: RFs iFs; sl@0: RFile iFile; sl@0: }; sl@0: sl@0: /** sl@0: sl@0: RTestVideoPlayCapabilityVelocity sl@0: sl@0: */ sl@0: class RTestVideoPlayAudVidEnable: public RTestVclntAviPlayerStep sl@0: { sl@0: public: sl@0: RTestVideoPlayAudVidEnable(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: static RTestVideoPlayAudVidEnable* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: TInt iPlayVelocity; sl@0: RFs iFs; sl@0: RFile iFile; sl@0: }; sl@0: sl@0: /** sl@0: sl@0: RTestVideoPlayAutoScale sl@0: sl@0: */ sl@0: class RTestVideoPlayAutoScale: public RTestVclntAviPlayerStep sl@0: { sl@0: public: sl@0: RTestVideoPlayAutoScale(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: static RTestVideoPlayAutoScale* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: TInt iPlayVelocity; sl@0: RFs iFs; sl@0: RFile iFile; sl@0: }; sl@0: sl@0: #endif //__TESTVIDEOPLAYER_H__