diff -r 000000000000 -r b8ed18f6c07b mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/testvideoplayer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/testvideoplayer.h Thu Oct 07 22:34:12 2010 +0100 @@ -0,0 +1,542 @@ +// Copyright (c) 2005-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: +// Header file: Video Player Tests. +// +// + +#ifndef __TESTVIDEOPLAYER_H__ +#define __TESTVIDEOPLAYER_H__ + +#include "tsi_mmf_vclntavi_stepbase.h" +#include "u32hal.h" +#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#endif + + +/** + * Load and initialise a video file. + * + * RTestVclntPlayAviFile + * + */ +class RTestVclntPlayAviFile : public RTestVclntAviPlayerStep + { +public: + RTestVclntPlayAviFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); + static RTestVclntPlayAviFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); + static RTestVclntPlayAviFile* NewLC(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); + virtual TVerdict DoTestStepL(); + virtual TVerdict DoTestL(CVideoPlayerUtility* aVideo); + virtual void FsmL(TVclntTestPlayEvents aEventCode); + virtual TVerdict SetCacheSize(); +protected: + const TBool iPlay; + TTimeIntervalMicroSeconds iDuration; + }; + + +/** + * Load and initialise an video descriptor. + * + * RTestVclntPlayAviDes + * + */ +class RTestVclntPlayAviDes : public RTestVclntAviPlayerStep + { +public: + RTestVclntPlayAviDes(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay) ; + static RTestVclntPlayAviDes* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay); + static RTestVclntPlayAviDes* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay); + virtual TVerdict DoTestStepL(); + virtual TVerdict DoTestStepPreambleL(); + virtual TVerdict DoTestStepPostambleL(); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); + virtual void FsmL(TVclntTestPlayEvents aEventCode); +protected: + HBufC8* iVideo; // Buffer for holding video descriptor data + TTimeIntervalMicroSeconds iDuration;// Stores duration of video + const TBool iPlay; // Does this test require playing the video + } ; + +/** + * Open video from a URL and play. + * + * RTestVclntPlayAviUrl + * + */ + +class RTestVclntPlayAviUrl : public RTestVclntAviPlayerStep + { +public: + RTestVclntPlayAviUrl(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); + static RTestVclntPlayAviUrl* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); + static RTestVclntPlayAviUrl* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay); + virtual TVerdict DoTestStepL(); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); + virtual void FsmL(TVclntTestPlayEvents aEventCode); +protected: + TTimeIntervalMicroSeconds iDuration;// Stores duration of video + const TBool iPlay; // Does this test require playing the video + }; + +/** + * Set and enquire framerate + * + * RTestVclntEnqFrameRate + * + */ +class RTestVclntEnqFrameRate : public RTestVclntPlayAviFile + { +public: + static RTestVclntEnqFrameRate* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aFrameRate); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); + +private: + RTestVclntEnqFrameRate(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aFrameRate); + +private: + TReal32 iFrameRate; + }; + + +/** + * set position and play form this position. + * + * RTestVclntPosition + * + */ +class RTestVclntPosition : public RTestVclntPlayAviFile + { +public: + static RTestVclntPosition* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aPosition); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntPosition(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aPosition); + +private: + TTimeIntervalMicroSeconds iPosition; + }; + +/** + * Video priority + * + * RTestVclntPriority + * + */ +class RTestVclntPriority : public RTestVclntPlayAviFile + { +public: + static RTestVclntPriority* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aPriority); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntPriority(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aPriority); + +private: + TInt iPriority; + }; + + +/** + * Video duration + * + * RTestVclntDuration + * + */ +class RTestVclntDuration : public RTestVclntPlayAviFile + { +public: + static RTestVclntDuration* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aDuration); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); + virtual TVerdict SetCacheSize(); +private: + RTestVclntDuration(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aDuration); + SVMCacheInfo iCurrentCacheSize; + TVerdict CheckCacheError(TInt aError); + }; + + +/** + * Video Volume + * + * RTestVclntVolume + * + */ +class RTestVclntVolume : public RTestVclntPlayAviFile + { +public: + static RTestVclntVolume* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aVolume); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntVolume(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aVolume); + +private: + TInt iVolume; + }; + + +/** + * Video open, close and then open again. + * + * RTestVclntCloseOpen + * + */ +class RTestVclntCloseOpen : public RTestVclntPlayAviFile + { +public: + static RTestVclntCloseOpen* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestStepL(); + virtual void FsmL(TVclntTestPlayEvents aEventCode); +private: + RTestVclntCloseOpen(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + TInt iOpenCount; + }; + + + +/** + * Video pause. + * + * RTestVclntPause + * + */ +class RTestVclntPause : public RTestVclntPlayAviFile + { +public: + static RTestVclntPause* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestStepL(); + virtual void FsmL(TVclntTestPlayEvents aEventCode); +private: + RTestVclntPause(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + TUint iPlayerDuration; + TUint iActualDuration; + }; + + +/** + * Video pause. + * + * RTestVclntBalance + * + */ +class RTestVclntBalance : public RTestVclntPlayAviFile + { +public: + static RTestVclntBalance* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aBalance); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntBalance(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aBalance); + +private: + TInt iBalance; + }; + + + +/** + * Video set play window and delete play window. + * + * RTestVclntPlayWindow + * + */ +class RTestVclntPlayWindow : public RTestVclntPlayAviFile + { +public: + static RTestVclntPlayWindow* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntPlayWindow(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd); + +private: + TTimeIntervalMicroSeconds iStart; + TTimeIntervalMicroSeconds iEnd; + }; + + +/** + * Video get meta data. + * + * RTestVclntMeta + * + */ +class RTestVclntMeta : public RTestVclntPlayAviFile + { +public: + static RTestVclntMeta* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntMeta(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + +private: + TTimeIntervalMicroSeconds iStart; + TTimeIntervalMicroSeconds iEnd; + }; + + +/** + * Video get framesize. + * + * RTestVclntFrameSize + * + */ +class RTestVclntFrameSize : public RTestVclntPlayAviFile + { +public: + static RTestVclntFrameSize* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntFrameSize(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); +private: + TSize iFrameSize; + }; + + +/** + * Video get mime type. + * + * RTestVclntMimeType + * + */ +class RTestVclntMimeType : public RTestVclntPlayAviFile + { +public: + static RTestVclntMimeType* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntMimeType(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + }; + + +/** + * Video player scale values test. + * + * RTestVclntScale + * + */ +class RTestVclntScale : public RTestVclntPlayAviFile + { +public: + static RTestVclntScale* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntScale(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + }; + +/** + * Crop test for video + * + * RTestVclntCrop + * + */ +class RTestVclntCrop : public RTestVclntPlayAviFile + { +public: + static RTestVclntCrop* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntCrop(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + }; + +#ifdef SYMBIAN_BUILD_GCE + +/** +Auto scale test for video +*/ + +class RTestVclntAutoScale : public RTestVclntPlayAviFile + { +public: + static RTestVclntAutoScale* NewL(const TDesC& aTestName); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntAutoScale(const TDesC& aTestName); + }; + +#endif // SYMBIAN_BUILD_GCE + +/** + * Frame test for video. + * + * RTestVclntGetFrame + * + */ +class RTestVclntGetFrame : public RTestVclntPlayAviFile + { +public: + static RTestVclntGetFrame* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, TBool aUseIntentAPI); + virtual TVerdict DoTestStepL(); + virtual void FsmL(TVclntTestPlayEvents aEventCode); +protected: + virtual void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError); +private: + RTestVclntGetFrame(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TBool aUseIntentAPI); + TBool iUseIntentAPI; + }; + + +/** + * Video rebuffering. + * + * RTestVclntRebuffering + * + */ +class RTestVclntRebuffering : public RTestVclntPlayAviFile, public MVideoLoadingObserver + { +public: + static RTestVclntRebuffering* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); + void MvloLoadingStarted(); + void MvloLoadingComplete(); +private: + RTestVclntRebuffering(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + }; + +/** + * Video get framesize. + * + * RTestVclntRepeat + * + */ +class RTestVclntRepeat : public RTestVclntPlayAviFile + { +public: + static RTestVclntRepeat* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aRepeat); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + RTestVclntRepeat(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aRepeat); +private: + TInt iRepeat; + }; + + + +/** + * Video Delete object while playing + * + * RTestVclntDelete + * + */ +class RTestVclntDelete : public RTestVclntPlayAviFile + { +public: + static RTestVclntDelete* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestStepL(); + virtual void FsmL(TVclntTestPlayEvents aEventCode); +private: + RTestVclntDelete(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); + }; + +/** + * Play Video file + * + * RTestVclntPlayAviFileHandle + * + */ +class RTestVclntPlayAviFileHandle : public RTestVclntAviPlayerStep + { +public: + RTestVclntPlayAviFileHandle(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aAlloc); + static RTestVclntPlayAviFileHandle* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aAlloc); + static RTestVclntPlayAviFileHandle* NewLC(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aAlloc); + virtual TVerdict DoTestStepL(); + virtual void FsmL(TVclntTestPlayEvents aEventCode); + virtual TInt SetCacheSize(); + virtual TInt CheckCacheError(TInt aError); + +protected: + TVerdict PerformTestStepL(); + const TBool iAlloc; // Is this test an Alloc test + TTimeIntervalMicroSeconds iDuration; // Stores duration of video + RFs iFs; + RFile iFile; + TBool iIsOpen; + }; + +/** + +RTestVideoPlayCapabilityVelocity + +*/ +class RTestVideoPlayCapabilityVelocity: public RTestVclntAviPlayerStep + { +public: + RTestVideoPlayCapabilityVelocity(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + static RTestVideoPlayCapabilityVelocity* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestStepL(); + virtual void FsmL(TVclntTestPlayEvents aEventCode); +protected: + TVideoPlayRateCapabilities iVideoPlayRateCapabilities; + TInt iPlayVelocity; + RFs iFs; + RFile iFile; + }; + +/** + +RTestVideoPlayStepFrame + +*/ +class RTestVideoPlayStepFrame: public RTestVclntAviPlayerStep + { +public: + RTestVideoPlayStepFrame(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + static RTestVideoPlayStepFrame* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestStepL(); + virtual void FsmL(TVclntTestPlayEvents aEventCode); + static TInt TimerCallback(TAny* aPtr); +protected: + TVideoPlayRateCapabilities iVideoPlayRateCapabilities; + CPeriodic* iTimer; + TInt iPlayVelocity; + RFs iFs; + RFile iFile; + }; + +/** + +RTestVideoPlayCapabilityVelocity + +*/ +class RTestVideoPlayAudVidEnable: public RTestVclntAviPlayerStep + { +public: + RTestVideoPlayAudVidEnable(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + static RTestVideoPlayAudVidEnable* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestStepL(); + virtual void FsmL(TVclntTestPlayEvents aEventCode); +protected: + TInt iPlayVelocity; + RFs iFs; + RFile iFile; + }; + +/** + +RTestVideoPlayAutoScale + +*/ +class RTestVideoPlayAutoScale: public RTestVclntAviPlayerStep + { +public: + RTestVideoPlayAutoScale(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + static RTestVideoPlayAutoScale* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); + virtual TVerdict DoTestStepL(); + virtual void FsmL(TVclntTestPlayEvents aEventCode); +protected: + TInt iPlayVelocity; + RFs iFs; + RFile iFile; + }; + +#endif //__TESTVIDEOPLAYER_H__