--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testvideoplayer.h Tue Feb 02 01:56:55 2010 +0200
@@ -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 <mmf/common/mmfvideoenums.h>
+#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__