os/mm/mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/testvideoplayer.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// Header file: Video Player Tests.
sl@0
    15
// 
sl@0
    16
//
sl@0
    17
sl@0
    18
#ifndef __TESTVIDEOPLAYER_H__
sl@0
    19
#define __TESTVIDEOPLAYER_H__
sl@0
    20
sl@0
    21
#include "tsi_mmf_vclntavi_stepbase.h"
sl@0
    22
#include "u32hal.h"
sl@0
    23
#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
sl@0
    24
#include <mmf/common/mmfvideoenums.h>
sl@0
    25
#endif
sl@0
    26
sl@0
    27
sl@0
    28
/**
sl@0
    29
 * Load and initialise a video file.
sl@0
    30
 *
sl@0
    31
 * RTestVclntPlayAviFile
sl@0
    32
 *
sl@0
    33
 */
sl@0
    34
class RTestVclntPlayAviFile : public RTestVclntAviPlayerStep
sl@0
    35
    {
sl@0
    36
public:
sl@0
    37
    RTestVclntPlayAviFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay);
sl@0
    38
    static RTestVclntPlayAviFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay);
sl@0
    39
    static RTestVclntPlayAviFile* NewLC(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay);
sl@0
    40
    virtual TVerdict DoTestStepL();
sl@0
    41
    virtual TVerdict DoTestL(CVideoPlayerUtility* aVideo);
sl@0
    42
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
    43
    virtual TVerdict SetCacheSize();
sl@0
    44
protected:
sl@0
    45
    const TBool iPlay;
sl@0
    46
    TTimeIntervalMicroSeconds iDuration;
sl@0
    47
    };
sl@0
    48
sl@0
    49
sl@0
    50
/**
sl@0
    51
 * Load and initialise an video descriptor.
sl@0
    52
 *
sl@0
    53
 * RTestVclntPlayAviDes
sl@0
    54
 *
sl@0
    55
 */
sl@0
    56
class RTestVclntPlayAviDes : public RTestVclntAviPlayerStep
sl@0
    57
    {
sl@0
    58
public:
sl@0
    59
    RTestVclntPlayAviDes(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay) ;
sl@0
    60
    static RTestVclntPlayAviDes* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay);
sl@0
    61
    static RTestVclntPlayAviDes* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay);
sl@0
    62
    virtual TVerdict DoTestStepL();
sl@0
    63
    virtual TVerdict DoTestStepPreambleL();
sl@0
    64
    virtual TVerdict DoTestStepPostambleL();
sl@0
    65
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
    66
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
    67
protected:
sl@0
    68
    HBufC8* iVideo;                        // Buffer for holding video descriptor data
sl@0
    69
    TTimeIntervalMicroSeconds iDuration;// Stores duration of video
sl@0
    70
    const TBool iPlay;                    // Does this test require playing the video
sl@0
    71
    } ;
sl@0
    72
sl@0
    73
/**
sl@0
    74
 * Open video from a URL and play.
sl@0
    75
 *
sl@0
    76
 * RTestVclntPlayAviUrl
sl@0
    77
 *
sl@0
    78
 */
sl@0
    79
 
sl@0
    80
class RTestVclntPlayAviUrl : public RTestVclntAviPlayerStep
sl@0
    81
    {
sl@0
    82
public:
sl@0
    83
    RTestVclntPlayAviUrl(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay);
sl@0
    84
    static RTestVclntPlayAviUrl* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay);
sl@0
    85
    static RTestVclntPlayAviUrl* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay);
sl@0
    86
    virtual TVerdict DoTestStepL();
sl@0
    87
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
    88
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
    89
protected:
sl@0
    90
    TTimeIntervalMicroSeconds iDuration;// Stores duration of video
sl@0
    91
    const TBool iPlay;                    // Does this test require playing the video
sl@0
    92
    };
sl@0
    93
sl@0
    94
/**
sl@0
    95
 * Set and enquire framerate
sl@0
    96
 *
sl@0
    97
 * RTestVclntEnqFrameRate
sl@0
    98
 *
sl@0
    99
 */
sl@0
   100
class RTestVclntEnqFrameRate : public RTestVclntPlayAviFile
sl@0
   101
    {
sl@0
   102
public:
sl@0
   103
    static RTestVclntEnqFrameRate* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aFrameRate);
sl@0
   104
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   105
sl@0
   106
private:
sl@0
   107
    RTestVclntEnqFrameRate(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aFrameRate);
sl@0
   108
sl@0
   109
private:
sl@0
   110
    TReal32 iFrameRate;
sl@0
   111
    };
sl@0
   112
sl@0
   113
sl@0
   114
/**
sl@0
   115
 * set position and play form this position.
sl@0
   116
 * 
sl@0
   117
 * RTestVclntPosition
sl@0
   118
 *
sl@0
   119
 */
sl@0
   120
class RTestVclntPosition : public RTestVclntPlayAviFile
sl@0
   121
    {
sl@0
   122
public:
sl@0
   123
    static RTestVclntPosition* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aPosition);
sl@0
   124
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   125
private:
sl@0
   126
    RTestVclntPosition(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aPosition);
sl@0
   127
sl@0
   128
private:
sl@0
   129
    TTimeIntervalMicroSeconds iPosition;
sl@0
   130
    };
sl@0
   131
sl@0
   132
/**
sl@0
   133
 * Video priority
sl@0
   134
 * 
sl@0
   135
 * RTestVclntPriority
sl@0
   136
 *
sl@0
   137
 */
sl@0
   138
class RTestVclntPriority : public RTestVclntPlayAviFile
sl@0
   139
    {
sl@0
   140
public:
sl@0
   141
    static RTestVclntPriority* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aPriority);
sl@0
   142
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   143
private:
sl@0
   144
    RTestVclntPriority(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aPriority);
sl@0
   145
sl@0
   146
private:
sl@0
   147
    TInt iPriority;
sl@0
   148
    };
sl@0
   149
sl@0
   150
sl@0
   151
/**
sl@0
   152
 * Video duration
sl@0
   153
 * 
sl@0
   154
 * RTestVclntDuration
sl@0
   155
 *
sl@0
   156
 */
sl@0
   157
class RTestVclntDuration : public RTestVclntPlayAviFile
sl@0
   158
    {
sl@0
   159
public:
sl@0
   160
    static RTestVclntDuration* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aDuration);
sl@0
   161
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   162
    virtual TVerdict SetCacheSize();
sl@0
   163
private:
sl@0
   164
    RTestVclntDuration(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aDuration);
sl@0
   165
    SVMCacheInfo iCurrentCacheSize;
sl@0
   166
    TVerdict CheckCacheError(TInt aError);
sl@0
   167
    };
sl@0
   168
sl@0
   169
sl@0
   170
/**
sl@0
   171
 * Video Volume
sl@0
   172
 * 
sl@0
   173
 * RTestVclntVolume
sl@0
   174
 *
sl@0
   175
 */
sl@0
   176
class RTestVclntVolume : public RTestVclntPlayAviFile
sl@0
   177
    {
sl@0
   178
public:
sl@0
   179
    static RTestVclntVolume* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aVolume);
sl@0
   180
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   181
private:
sl@0
   182
    RTestVclntVolume(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aVolume);
sl@0
   183
sl@0
   184
private:
sl@0
   185
    TInt iVolume;
sl@0
   186
    };
sl@0
   187
sl@0
   188
sl@0
   189
/**
sl@0
   190
 * Video open, close and then open again.
sl@0
   191
 * 
sl@0
   192
 * RTestVclntCloseOpen
sl@0
   193
 *
sl@0
   194
 */
sl@0
   195
class RTestVclntCloseOpen : public RTestVclntPlayAviFile
sl@0
   196
    {
sl@0
   197
public:
sl@0
   198
    static RTestVclntCloseOpen* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   199
    virtual TVerdict DoTestStepL();
sl@0
   200
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
   201
private:
sl@0
   202
    RTestVclntCloseOpen(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   203
    TInt iOpenCount;
sl@0
   204
    };
sl@0
   205
sl@0
   206
sl@0
   207
sl@0
   208
/**
sl@0
   209
 * Video pause.
sl@0
   210
 * 
sl@0
   211
 * RTestVclntPause
sl@0
   212
 *
sl@0
   213
 */
sl@0
   214
class RTestVclntPause : public RTestVclntPlayAviFile
sl@0
   215
    {
sl@0
   216
public:
sl@0
   217
    static RTestVclntPause* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   218
    virtual TVerdict DoTestStepL();
sl@0
   219
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
   220
private:
sl@0
   221
    RTestVclntPause(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   222
    TUint iPlayerDuration;
sl@0
   223
    TUint iActualDuration;
sl@0
   224
    };
sl@0
   225
sl@0
   226
sl@0
   227
/**
sl@0
   228
 * Video pause.
sl@0
   229
 * 
sl@0
   230
 * RTestVclntBalance
sl@0
   231
 *
sl@0
   232
 */
sl@0
   233
class RTestVclntBalance : public RTestVclntPlayAviFile
sl@0
   234
    {
sl@0
   235
public:
sl@0
   236
    static RTestVclntBalance* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aBalance);
sl@0
   237
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   238
private:
sl@0
   239
    RTestVclntBalance(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aBalance);
sl@0
   240
sl@0
   241
private:
sl@0
   242
    TInt iBalance;
sl@0
   243
    };
sl@0
   244
sl@0
   245
sl@0
   246
sl@0
   247
/**
sl@0
   248
 * Video set play window and delete play window.
sl@0
   249
 * 
sl@0
   250
 * RTestVclntPlayWindow
sl@0
   251
 *
sl@0
   252
 */
sl@0
   253
class RTestVclntPlayWindow : public RTestVclntPlayAviFile
sl@0
   254
    {
sl@0
   255
public:
sl@0
   256
    static RTestVclntPlayWindow* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd);
sl@0
   257
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   258
private:
sl@0
   259
    RTestVclntPlayWindow(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TTimeIntervalMicroSeconds aStart, const TTimeIntervalMicroSeconds aEnd);
sl@0
   260
sl@0
   261
private:
sl@0
   262
    TTimeIntervalMicroSeconds iStart;
sl@0
   263
    TTimeIntervalMicroSeconds iEnd;
sl@0
   264
    };
sl@0
   265
sl@0
   266
sl@0
   267
/**
sl@0
   268
 * Video get meta data.
sl@0
   269
 * 
sl@0
   270
 * RTestVclntMeta
sl@0
   271
 *
sl@0
   272
 */
sl@0
   273
class RTestVclntMeta : public RTestVclntPlayAviFile
sl@0
   274
    {
sl@0
   275
public:
sl@0
   276
    static RTestVclntMeta* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   277
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   278
private:
sl@0
   279
    RTestVclntMeta(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   280
sl@0
   281
private:
sl@0
   282
    TTimeIntervalMicroSeconds iStart;
sl@0
   283
    TTimeIntervalMicroSeconds iEnd;
sl@0
   284
    };
sl@0
   285
sl@0
   286
sl@0
   287
/**
sl@0
   288
 * Video get framesize.
sl@0
   289
 * 
sl@0
   290
 * RTestVclntFrameSize
sl@0
   291
 *
sl@0
   292
 */
sl@0
   293
class RTestVclntFrameSize : public RTestVclntPlayAviFile
sl@0
   294
    {
sl@0
   295
public:
sl@0
   296
    static RTestVclntFrameSize* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   297
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   298
private:
sl@0
   299
    RTestVclntFrameSize(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   300
private:
sl@0
   301
    TSize iFrameSize;
sl@0
   302
    };
sl@0
   303
sl@0
   304
sl@0
   305
/**
sl@0
   306
 * Video get mime type.
sl@0
   307
 * 
sl@0
   308
 * RTestVclntMimeType
sl@0
   309
 *
sl@0
   310
 */
sl@0
   311
class RTestVclntMimeType : public RTestVclntPlayAviFile
sl@0
   312
    {
sl@0
   313
public:
sl@0
   314
    static RTestVclntMimeType* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   315
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   316
private:
sl@0
   317
    RTestVclntMimeType(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   318
    };
sl@0
   319
sl@0
   320
sl@0
   321
/**
sl@0
   322
 * Video player scale values test.
sl@0
   323
 * 
sl@0
   324
 * RTestVclntScale
sl@0
   325
 *
sl@0
   326
 */
sl@0
   327
class RTestVclntScale : public RTestVclntPlayAviFile
sl@0
   328
    {
sl@0
   329
public:
sl@0
   330
    static RTestVclntScale* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   331
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   332
private:
sl@0
   333
    RTestVclntScale(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   334
    };
sl@0
   335
    
sl@0
   336
/**
sl@0
   337
 * Crop test for video
sl@0
   338
 * 
sl@0
   339
 * RTestVclntCrop
sl@0
   340
 *
sl@0
   341
 */
sl@0
   342
class RTestVclntCrop : public RTestVclntPlayAviFile
sl@0
   343
    {
sl@0
   344
public:
sl@0
   345
    static RTestVclntCrop* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   346
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   347
private:
sl@0
   348
    RTestVclntCrop(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   349
    };
sl@0
   350
sl@0
   351
#ifdef SYMBIAN_BUILD_GCE
sl@0
   352
sl@0
   353
/**
sl@0
   354
Auto scale test for video
sl@0
   355
*/
sl@0
   356
sl@0
   357
class RTestVclntAutoScale : public RTestVclntPlayAviFile
sl@0
   358
	{
sl@0
   359
public:
sl@0
   360
	static RTestVclntAutoScale* NewL(const TDesC& aTestName);
sl@0
   361
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   362
private:
sl@0
   363
    RTestVclntAutoScale(const TDesC& aTestName);	
sl@0
   364
	};
sl@0
   365
sl@0
   366
#endif // SYMBIAN_BUILD_GCE
sl@0
   367
sl@0
   368
/**
sl@0
   369
 * Frame test for video.
sl@0
   370
 * 
sl@0
   371
 * RTestVclntGetFrame
sl@0
   372
 *
sl@0
   373
 */
sl@0
   374
class RTestVclntGetFrame : public RTestVclntPlayAviFile
sl@0
   375
    {
sl@0
   376
public:
sl@0
   377
    static RTestVclntGetFrame* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, TBool aUseIntentAPI);
sl@0
   378
    virtual TVerdict DoTestStepL();
sl@0
   379
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
   380
protected:
sl@0
   381
    virtual void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError);
sl@0
   382
private:
sl@0
   383
    RTestVclntGetFrame(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TBool aUseIntentAPI);
sl@0
   384
    TBool iUseIntentAPI;
sl@0
   385
    };
sl@0
   386
sl@0
   387
sl@0
   388
/**
sl@0
   389
 * Video rebuffering.
sl@0
   390
 * 
sl@0
   391
 * RTestVclntRebuffering
sl@0
   392
 *
sl@0
   393
 */
sl@0
   394
class RTestVclntRebuffering : public RTestVclntPlayAviFile, public MVideoLoadingObserver
sl@0
   395
    {
sl@0
   396
public:
sl@0
   397
    static RTestVclntRebuffering* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   398
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   399
    void MvloLoadingStarted();
sl@0
   400
    void MvloLoadingComplete();
sl@0
   401
private:
sl@0
   402
    RTestVclntRebuffering(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   403
    };
sl@0
   404
sl@0
   405
/**
sl@0
   406
 * Video get framesize.
sl@0
   407
 * 
sl@0
   408
 * RTestVclntRepeat
sl@0
   409
 *
sl@0
   410
 */
sl@0
   411
class RTestVclntRepeat : public RTestVclntPlayAviFile
sl@0
   412
    {
sl@0
   413
public:
sl@0
   414
    static RTestVclntRepeat* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aRepeat);
sl@0
   415
    virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0
   416
private:
sl@0
   417
    RTestVclntRepeat(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, const TInt aRepeat);
sl@0
   418
private:
sl@0
   419
    TInt iRepeat;
sl@0
   420
    };
sl@0
   421
sl@0
   422
sl@0
   423
sl@0
   424
/**
sl@0
   425
 * Video Delete object while playing
sl@0
   426
 * 
sl@0
   427
 * RTestVclntDelete
sl@0
   428
 *
sl@0
   429
 */
sl@0
   430
class RTestVclntDelete : public RTestVclntPlayAviFile
sl@0
   431
    {
sl@0
   432
public:
sl@0
   433
    static RTestVclntDelete* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   434
    virtual TVerdict DoTestStepL();
sl@0
   435
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
   436
private:
sl@0
   437
    RTestVclntDelete(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError);
sl@0
   438
    };
sl@0
   439
sl@0
   440
/**
sl@0
   441
 * Play Video file
sl@0
   442
 * 
sl@0
   443
 * RTestVclntPlayAviFileHandle
sl@0
   444
 *
sl@0
   445
 */
sl@0
   446
class RTestVclntPlayAviFileHandle : public RTestVclntAviPlayerStep
sl@0
   447
    {
sl@0
   448
public:
sl@0
   449
    RTestVclntPlayAviFileHandle(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aAlloc);
sl@0
   450
    static RTestVclntPlayAviFileHandle* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aAlloc);
sl@0
   451
    static RTestVclntPlayAviFileHandle* NewLC(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aAlloc);
sl@0
   452
    virtual TVerdict DoTestStepL();
sl@0
   453
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
   454
	virtual TInt SetCacheSize();
sl@0
   455
	virtual TInt CheckCacheError(TInt aError);
sl@0
   456
sl@0
   457
protected:
sl@0
   458
    TVerdict PerformTestStepL();
sl@0
   459
    const TBool iAlloc;                        // Is this test an Alloc test
sl@0
   460
    TTimeIntervalMicroSeconds iDuration;    // Stores duration of video
sl@0
   461
    RFs iFs;
sl@0
   462
    RFile iFile;
sl@0
   463
    TBool iIsOpen;
sl@0
   464
    };
sl@0
   465
    
sl@0
   466
/**
sl@0
   467
sl@0
   468
RTestVideoPlayCapabilityVelocity
sl@0
   469
sl@0
   470
*/
sl@0
   471
class RTestVideoPlayCapabilityVelocity: public RTestVclntAviPlayerStep
sl@0
   472
    {
sl@0
   473
public:
sl@0
   474
	RTestVideoPlayCapabilityVelocity(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   475
    static RTestVideoPlayCapabilityVelocity* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   476
    virtual TVerdict DoTestStepL();
sl@0
   477
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
   478
protected:
sl@0
   479
	TVideoPlayRateCapabilities iVideoPlayRateCapabilities;
sl@0
   480
	TInt iPlayVelocity;
sl@0
   481
    RFs iFs;
sl@0
   482
    RFile iFile;
sl@0
   483
    };
sl@0
   484
sl@0
   485
/**
sl@0
   486
sl@0
   487
RTestVideoPlayStepFrame
sl@0
   488
sl@0
   489
*/
sl@0
   490
class RTestVideoPlayStepFrame: public RTestVclntAviPlayerStep
sl@0
   491
    {
sl@0
   492
public:
sl@0
   493
	RTestVideoPlayStepFrame(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   494
    static RTestVideoPlayStepFrame* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   495
    virtual TVerdict DoTestStepL();
sl@0
   496
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
   497
    static TInt TimerCallback(TAny* aPtr);
sl@0
   498
protected:
sl@0
   499
	TVideoPlayRateCapabilities iVideoPlayRateCapabilities;
sl@0
   500
	CPeriodic* iTimer;
sl@0
   501
	TInt iPlayVelocity;
sl@0
   502
    RFs iFs;
sl@0
   503
    RFile iFile;
sl@0
   504
    };
sl@0
   505
    
sl@0
   506
/**
sl@0
   507
sl@0
   508
RTestVideoPlayCapabilityVelocity
sl@0
   509
sl@0
   510
*/
sl@0
   511
class RTestVideoPlayAudVidEnable: public RTestVclntAviPlayerStep
sl@0
   512
    {
sl@0
   513
public:
sl@0
   514
	RTestVideoPlayAudVidEnable(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   515
    static RTestVideoPlayAudVidEnable* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   516
    virtual TVerdict DoTestStepL();
sl@0
   517
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
   518
protected:
sl@0
   519
	TInt iPlayVelocity;
sl@0
   520
    RFs iFs;
sl@0
   521
    RFile iFile;
sl@0
   522
    };
sl@0
   523
sl@0
   524
/**
sl@0
   525
sl@0
   526
RTestVideoPlayAutoScale
sl@0
   527
sl@0
   528
*/
sl@0
   529
class RTestVideoPlayAutoScale: public RTestVclntAviPlayerStep
sl@0
   530
    {
sl@0
   531
public:
sl@0
   532
	RTestVideoPlayAutoScale(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   533
    static RTestVideoPlayAutoScale* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError);
sl@0
   534
    virtual TVerdict DoTestStepL();
sl@0
   535
    virtual void FsmL(TVclntTestPlayEvents aEventCode);
sl@0
   536
protected:
sl@0
   537
	TInt iPlayVelocity;
sl@0
   538
    RFs iFs;
sl@0
   539
    RFile iFile;
sl@0
   540
    };
sl@0
   541
sl@0
   542
#endif //__TESTVIDEOPLAYER_H__