diff -r 1c0a769d0cc5 -r 2672ba96448e mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/inc/TestPlayer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/inc/TestPlayer.h Fri Jun 11 15:13:33 2010 +0300 @@ -0,0 +1,411 @@ + +// Copyright (c) 2001-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: Basic tests. +// +// + +/** + @file TESTPLAYER.h +*/ + +#ifndef TESTPLAYER_H__ +#define TESTPLAYER_H__ + +#include "TSI_MMFVCLNT.h" + +/** + * Load and initialise a video file. + * + * @class CTestVclntVideoFile + * + * Req. under test REQ172.2.4 REQ172.2.7 REQ172.2.10 + */ +class CTestVclntVideoFile : public CTestMmfVclntStep , public MVideoPlayerUtilityObserver + { +public: + CTestVclntVideoFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay); + static CTestVclntVideoFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay); + static CTestVclntVideoFile* NewLC(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay); + virtual TVerdict DoTestStepL(); + virtual TVerdict DoTestL(CVideoPlayerUtility* aVideo); + // MVideoPlayerUtilityObserver + virtual void MvpuoOpenComplete(TInt aError); + virtual void MvpuoPrepareComplete(TInt aError); + virtual void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError); + virtual void MvpuoPlayComplete(TInt aError); + virtual void MvpuoEvent(const TMMFEvent& aEvent); +protected: + TBuf iSectName; // Section name for retrieving filename + TBuf iKeyName; // Key name for retrieving filename + TInt iError; + const TBool iPlay; // Does this test require playing the video + TTimeIntervalMicroSeconds iDuration; // Stores duration of video + }; + + +/** + * Load and initialise an video descriptor. + * + * @class CTestVclntVideoDes + * + * Req. under test REQ172.2.4 REQ172.2.8 REQ172.2.10 + */ +class CTestVclntVideoDes : public CTestMmfVclntStep , public MVideoPlayerUtilityObserver + { +public: + CTestVclntVideoDes(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay) ; + static CTestVclntVideoDes* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay); + static CTestVclntVideoDes* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay); + virtual TVerdict DoTestStepL(); + virtual TVerdict DoTestStepPreambleL(); + virtual TVerdict DoTestStepPostambleL(); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); + // MVideoPlayerUtilityObserver + virtual void MvpuoOpenComplete(TInt aError); + virtual void MvpuoPrepareComplete(TInt aError); + virtual void MvpuoFrameReady(CFbsBitmap& aFrame, TInt aError); + virtual void MvpuoPlayComplete(TInt aError); + virtual void MvpuoEvent(const TMMFEvent& aEvent); + +protected: + TBuf iSectName; // Section name for retrieving filename + TBuf iKeyName; // Key name for retrieving filename + HBufC8* iVideo; // Buffer for holding video descriptor data + TTimeIntervalMicroSeconds iDuration;// Stores duration of video + TInt iError; // Stores error values for testing + const TBool iPlay; // Does this test require playing the video + } ; + +/** + * Open video form a URL and play. + * + * @class CTestVclntVideoUrl + * + */ +class CTestVclntVideoUrl : public CTestMmfVclntStep , public MVideoPlayerUtilityObserver + { +public: + CTestVclntVideoUrl(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay); + static CTestVclntVideoUrl* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay); + static CTestVclntVideoUrl* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay); + virtual TVerdict DoTestStepL(); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); + // MVideoPlayerUtilityObserver + virtual void MvpuoOpenComplete(TInt aError); + virtual void MvpuoPrepareComplete(TInt aError); + virtual void MvpuoFrameReady(CFbsBitmap& aFrame, TInt aError); + virtual void MvpuoPlayComplete(TInt aError); + virtual void MvpuoEvent(const TMMFEvent& aEvent); + +protected: + TBuf iSectName; // Section name for retrieving filename + TBuf iKeyName; // Key name for retrieving filename + TTimeIntervalMicroSeconds iDuration;// Stores duration of video + TInt iError; // Stores error values for testing + const TBool iPlay; // Does this test require playing the video + HBufC8* iVideo; // Buffer for holding video descriptor data + }; + +/** + * Set and enquire framerate + * + * @class CTestVclntEnqFrameRate + * + * Req. under test REQ172.2.28 + */ +class CTestVclntEnqFrameRate : public CTestVclntVideoFile + { +public: + static CTestVclntEnqFrameRate* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aFrameRate); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntEnqFrameRate(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aFrameRate); + +private: + TInt iFrameRate; + }; + + +/** + * set position and play form this position. + * + * @class CTestVclntPosition + * + * Req. under test REQ172.2.13 REQ172.2.14 + */ +class CTestVclntPosition : public CTestVclntVideoFile + { +public: + static CTestVclntPosition* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aPosition); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntPosition(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aPosition); + +private: + TTimeIntervalMicroSeconds iPosition; + }; + +/** + * Video priority + * + * @class CTestVclntPriority + * + * Req. under test REQ172.2.25 + */ +class CTestVclntPriority : public CTestVclntVideoFile + { +public: + static CTestVclntPriority* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aPriority); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntPriority(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aPriority); + +private: + TInt iPriority; + }; + + +/** + * Video duration + * + * @class CTestVclntDuration + * + * Req. under test REQ172.2.15 + */ +class CTestVclntDuration : public CTestVclntVideoFile + { +public: + static CTestVclntDuration* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aDuration); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntDuration(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aDuration); + }; + + +/** + * Video Volume + * + * @class CTestVclntVolume + * + * Req. under test REQ172.2.16 REQ172.2.17 REQ172.2.18 + */ +class CTestVclntVolume : public CTestVclntVideoFile + { +public: + static CTestVclntVolume* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aVolume); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntVolume(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aVolume); + +private: + TInt iVolume; + }; + + +/** + * Video open, close and then open again. + * + * @class CTestVclntCloseOpen + * + * Req. under test REQ172.2.4 REQ172.2.5 REQ172.2.6 + */ +class CTestVclntCloseOpen : public CTestVclntVideoFile + { +public: + static CTestVclntCloseOpen* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntCloseOpen(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + }; + + + +/** + * Video pause. + * + * @class CTestVclntPause + * + * Req. under test REQ172.2.10 REQ172.2.11 + */ +class CTestVclntPause : public CTestVclntVideoFile + { +public: + static CTestVclntPause* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntPause(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + }; + + +/** + * Video pause. + * + * @class CTestVclntBalance + * + * Req. under test REQ172.2.30 REQ172.2.31 + */ +class CTestVclntBalance : public CTestVclntVideoFile + { +public: + static CTestVclntBalance* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aBalance); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntBalance(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aBalance); + +private: + TInt iBalance; + }; + + + +/** + * Video set play window and delete play window. + * + * @class CTestVclntPlayWindow + * + * Req. under test REQ172.2.21 REQ172.2.22 + */ +class CTestVclntPlayWindow : public CTestVclntVideoFile + { +public: + static CTestVclntPlayWindow* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntPlayWindow(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd); + +private: + TTimeIntervalMicroSeconds iStart; + TTimeIntervalMicroSeconds iEnd; + }; + + +/** + * Video get meta data. + * + * @class CTestVclntMeta + * + * Req. under test REQ172.2.20 + */ +class CTestVclntMeta : public CTestVclntVideoFile + { +public: + static CTestVclntMeta* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntMeta(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + +private: + TTimeIntervalMicroSeconds iStart; + TTimeIntervalMicroSeconds iEnd; + }; + + +/** + * Video get framesize. + * + * @class CTestVclntFrameSize + * + * Req. under test REQ172.2.27 + */ +class CTestVclntFrameSize : public CTestVclntVideoFile + { +public: + static CTestVclntFrameSize* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aFrameSize); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntFrameSize(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aFrameSize); + +private: + TInt iFrameSize; + }; + + +/** + * Video get mime type. + * + * @class CTestVclntMimeType + * + * Req. not mapped + */ +class CTestVclntMimeType : public CTestVclntVideoFile + { +public: + static CTestVclntMimeType* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntMimeType(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + + }; + + +/** + * Video rebuffering. + * + * @class CTestVclntRebuffering + * + * Req. not mapped + */ +class CTestVclntRebuffering : public CTestVclntVideoFile, public MVideoLoadingObserver + { +public: + static CTestVclntRebuffering* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); + void MvloLoadingStarted(); + void MvloLoadingComplete(); +private: + CTestVclntRebuffering(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + + }; + +/** + * Video get framesize. + * + * @class CTestVclntRepeat + * + * Req. under test REQ172.2.23 + */ +class CTestVclntRepeat : public CTestVclntVideoFile + { +public: + static CTestVclntRepeat* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aRepeat); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntRepeat(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aRepeat); + +private: + TInt iRepeat; + }; + + + +/** + * Video Delete object while playing + * + * @class CTestVclntDelete + * + * Req. under test REQ172.2.4 REQ172.2.7 REQ172.2.10 + */ +class CTestVclntDelete : public CTestVclntVideoFile + { +public: + static CTestVclntDelete* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + virtual TVerdict DoTestStepL(); + virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer); +private: + CTestVclntDelete(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName); + }; + + +#endif