Update contrib.
2 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
3 // All rights reserved.
4 // This component and the accompanying materials are made available
5 // under the terms of "Eclipse Public License v1.0"
6 // which accompanies this distribution, and is available
7 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 // Initial Contributors:
10 // Nokia Corporation - initial contribution.
15 // Header file: Basic tests.
23 #ifndef TESTPLAYER_H__
24 #define TESTPLAYER_H__
26 #include "TSI_MMFVCLNT.h"
29 * Load and initialise a video file.
31 * @class CTestVclntVideoFile
33 * Req. under test REQ172.2.4 REQ172.2.7 REQ172.2.10
35 class CTestVclntVideoFile : public CTestMmfVclntStep , public MVideoPlayerUtilityObserver
38 CTestVclntVideoFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
39 static CTestVclntVideoFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
40 static CTestVclntVideoFile* NewLC(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
41 virtual TVerdict DoTestStepL();
42 virtual TVerdict DoTestL(CVideoPlayerUtility* aVideo);
43 // MVideoPlayerUtilityObserver
44 virtual void MvpuoOpenComplete(TInt aError);
45 virtual void MvpuoPrepareComplete(TInt aError);
46 virtual void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError);
47 virtual void MvpuoPlayComplete(TInt aError);
48 virtual void MvpuoEvent(const TMMFEvent& aEvent);
50 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
51 TBuf<KNameBufSize> iKeyName; // Key name for retrieving filename
53 const TBool iPlay; // Does this test require playing the video
54 TTimeIntervalMicroSeconds iDuration; // Stores duration of video
59 * Load and initialise an video descriptor.
61 * @class CTestVclntVideoDes
63 * Req. under test REQ172.2.4 REQ172.2.8 REQ172.2.10
65 class CTestVclntVideoDes : public CTestMmfVclntStep , public MVideoPlayerUtilityObserver
68 CTestVclntVideoDes(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay) ;
69 static CTestVclntVideoDes* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
70 static CTestVclntVideoDes* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
71 virtual TVerdict DoTestStepL();
72 virtual TVerdict DoTestStepPreambleL();
73 virtual TVerdict DoTestStepPostambleL();
74 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
75 // MVideoPlayerUtilityObserver
76 virtual void MvpuoOpenComplete(TInt aError);
77 virtual void MvpuoPrepareComplete(TInt aError);
78 virtual void MvpuoFrameReady(CFbsBitmap& aFrame, TInt aError);
79 virtual void MvpuoPlayComplete(TInt aError);
80 virtual void MvpuoEvent(const TMMFEvent& aEvent);
83 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
84 TBuf<KNameBufSize> iKeyName; // Key name for retrieving filename
85 HBufC8* iVideo; // Buffer for holding video descriptor data
86 TTimeIntervalMicroSeconds iDuration;// Stores duration of video
87 TInt iError; // Stores error values for testing
88 const TBool iPlay; // Does this test require playing the video
92 * Open video form a URL and play.
94 * @class CTestVclntVideoUrl
97 class CTestVclntVideoUrl : public CTestMmfVclntStep , public MVideoPlayerUtilityObserver
100 CTestVclntVideoUrl(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
101 static CTestVclntVideoUrl* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
102 static CTestVclntVideoUrl* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
103 virtual TVerdict DoTestStepL();
104 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
105 // MVideoPlayerUtilityObserver
106 virtual void MvpuoOpenComplete(TInt aError);
107 virtual void MvpuoPrepareComplete(TInt aError);
108 virtual void MvpuoFrameReady(CFbsBitmap& aFrame, TInt aError);
109 virtual void MvpuoPlayComplete(TInt aError);
110 virtual void MvpuoEvent(const TMMFEvent& aEvent);
113 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
114 TBuf<KNameBufSize> iKeyName; // Key name for retrieving filename
115 TTimeIntervalMicroSeconds iDuration;// Stores duration of video
116 TInt iError; // Stores error values for testing
117 const TBool iPlay; // Does this test require playing the video
118 HBufC8* iVideo; // Buffer for holding video descriptor data
122 * Set and enquire framerate
124 * @class CTestVclntEnqFrameRate
126 * Req. under test REQ172.2.28
128 class CTestVclntEnqFrameRate : public CTestVclntVideoFile
131 static CTestVclntEnqFrameRate* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aFrameRate);
132 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
134 CTestVclntEnqFrameRate(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aFrameRate);
142 * set position and play form this position.
144 * @class CTestVclntPosition
146 * Req. under test REQ172.2.13 REQ172.2.14
148 class CTestVclntPosition : public CTestVclntVideoFile
151 static CTestVclntPosition* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aPosition);
152 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
154 CTestVclntPosition(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aPosition);
157 TTimeIntervalMicroSeconds iPosition;
163 * @class CTestVclntPriority
165 * Req. under test REQ172.2.25
167 class CTestVclntPriority : public CTestVclntVideoFile
170 static CTestVclntPriority* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aPriority);
171 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
173 CTestVclntPriority(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aPriority);
183 * @class CTestVclntDuration
185 * Req. under test REQ172.2.15
187 class CTestVclntDuration : public CTestVclntVideoFile
190 static CTestVclntDuration* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aDuration);
191 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
193 CTestVclntDuration(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aDuration);
200 * @class CTestVclntVolume
202 * Req. under test REQ172.2.16 REQ172.2.17 REQ172.2.18
204 class CTestVclntVolume : public CTestVclntVideoFile
207 static CTestVclntVolume* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aVolume);
208 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
210 CTestVclntVolume(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aVolume);
218 * Video open, close and then open again.
220 * @class CTestVclntCloseOpen
222 * Req. under test REQ172.2.4 REQ172.2.5 REQ172.2.6
224 class CTestVclntCloseOpen : public CTestVclntVideoFile
227 static CTestVclntCloseOpen* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
228 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
230 CTestVclntCloseOpen(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
238 * @class CTestVclntPause
240 * Req. under test REQ172.2.10 REQ172.2.11
242 class CTestVclntPause : public CTestVclntVideoFile
245 static CTestVclntPause* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
246 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
248 CTestVclntPause(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
255 * @class CTestVclntBalance
257 * Req. under test REQ172.2.30 REQ172.2.31
259 class CTestVclntBalance : public CTestVclntVideoFile
262 static CTestVclntBalance* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aBalance);
263 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
265 CTestVclntBalance(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aBalance);
274 * Video set play window and delete play window.
276 * @class CTestVclntPlayWindow
278 * Req. under test REQ172.2.21 REQ172.2.22
280 class CTestVclntPlayWindow : public CTestVclntVideoFile
283 static CTestVclntPlayWindow* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd);
284 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
286 CTestVclntPlayWindow(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd);
289 TTimeIntervalMicroSeconds iStart;
290 TTimeIntervalMicroSeconds iEnd;
295 * Video get meta data.
297 * @class CTestVclntMeta
299 * Req. under test REQ172.2.20
301 class CTestVclntMeta : public CTestVclntVideoFile
304 static CTestVclntMeta* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
305 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
307 CTestVclntMeta(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
310 TTimeIntervalMicroSeconds iStart;
311 TTimeIntervalMicroSeconds iEnd;
316 * Video get framesize.
318 * @class CTestVclntFrameSize
320 * Req. under test REQ172.2.27
322 class CTestVclntFrameSize : public CTestVclntVideoFile
325 static CTestVclntFrameSize* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aFrameSize);
326 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
328 CTestVclntFrameSize(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aFrameSize);
336 * Video get mime type.
338 * @class CTestVclntMimeType
342 class CTestVclntMimeType : public CTestVclntVideoFile
345 static CTestVclntMimeType* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
346 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
348 CTestVclntMimeType(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
356 * @class CTestVclntRebuffering
360 class CTestVclntRebuffering : public CTestVclntVideoFile, public MVideoLoadingObserver
363 static CTestVclntRebuffering* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
364 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
365 void MvloLoadingStarted();
366 void MvloLoadingComplete();
368 CTestVclntRebuffering(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
373 * Video get framesize.
375 * @class CTestVclntRepeat
377 * Req. under test REQ172.2.23
379 class CTestVclntRepeat : public CTestVclntVideoFile
382 static CTestVclntRepeat* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aRepeat);
383 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
385 CTestVclntRepeat(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TInt aRepeat);
394 * Video Delete object while playing
396 * @class CTestVclntDelete
398 * Req. under test REQ172.2.4 REQ172.2.7 REQ172.2.10
400 class CTestVclntDelete : public CTestVclntVideoFile
403 static CTestVclntDelete* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
404 virtual TVerdict DoTestStepL();
405 virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
407 CTestVclntDelete(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);