os/mm/mmlibs/mmfw/tsrc/mmfintegrationtest/ACLNT/TestPlayerUtils.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
sl@0
     2
// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
// All rights reserved.
sl@0
     4
// This component and the accompanying materials are made available
sl@0
     5
// under the terms of "Eclipse Public License v1.0"
sl@0
     6
// which accompanies this distribution, and is available
sl@0
     7
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
//
sl@0
     9
// Initial Contributors:
sl@0
    10
// Nokia Corporation - initial contribution.
sl@0
    11
//
sl@0
    12
// Contributors:
sl@0
    13
//
sl@0
    14
// Description:
sl@0
    15
// Header file: Basic  tests.
sl@0
    16
// 
sl@0
    17
//
sl@0
    18
sl@0
    19
/**
sl@0
    20
 @file TestPlayerUtils.h
sl@0
    21
*/
sl@0
    22
sl@0
    23
#ifndef TESTPLAYERUTILS_H
sl@0
    24
#define TESTPLAYERUTILS_H
sl@0
    25
sl@0
    26
sl@0
    27
#include "TSI_MMFACLNT.h"
sl@0
    28
sl@0
    29
// parameter structure for repeat tests
sl@0
    30
class TRepeatParameters
sl@0
    31
	{	
sl@0
    32
public:
sl@0
    33
	const TText* iFilename;
sl@0
    34
	TInt	iRepeatCount;
sl@0
    35
	TInt64 iSilence;
sl@0
    36
	};
sl@0
    37
	
sl@0
    38
const TInt KNegativeRepeat = -4;
sl@0
    39
/**
sl@0
    40
 * MDelayedMethodCall & CDelayedMethodCall provide a mechanism whereby a method can be called 
sl@0
    41
 * from the ActiveScheduler after a certain length of time. 
sl@0
    42
 *
sl@0
    43
 */
sl@0
    44
class MDelayedMethodCall
sl@0
    45
{
sl@0
    46
public:
sl@0
    47
	virtual void DelayedMethodCallL() =0;
sl@0
    48
};
sl@0
    49
sl@0
    50
class CDelayedMethodCall : public CTimer
sl@0
    51
{
sl@0
    52
public:
sl@0
    53
	static CDelayedMethodCall* NewL(MDelayedMethodCall* aThat);
sl@0
    54
sl@0
    55
	virtual void RunL();
sl@0
    56
	virtual TInt RunError(TInt aError);
sl@0
    57
protected:
sl@0
    58
	CDelayedMethodCall(MDelayedMethodCall* aThat);
sl@0
    59
sl@0
    60
private:
sl@0
    61
	MDelayedMethodCall* const iThat;
sl@0
    62
};
sl@0
    63
sl@0
    64
sl@0
    65
sl@0
    66
sl@0
    67
/**
sl@0
    68
 * Load and initialise an audio file.
sl@0
    69
 *
sl@0
    70
 * @class CTestMmfAclntFile
sl@0
    71
 *
sl@0
    72
 */         
sl@0
    73
class CTestMmfAclntFile :  public CTestMmfAclntStep, public MMdaAudioPlayerCallback
sl@0
    74
	{
sl@0
    75
public:
sl@0
    76
	static CTestMmfAclntFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError);
sl@0
    77
	static CTestMmfAclntFile* NewLC(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TInt aExpectedError);
sl@0
    78
	virtual TVerdict DoTestStepL();
sl@0
    79
	// from MMdaAudioPlayerCallback
sl@0
    80
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
sl@0
    81
    virtual void MapcPlayComplete(TInt aError);
sl@0
    82
sl@0
    83
private:
sl@0
    84
	CTestMmfAclntFile(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TInt aExpectedError);
sl@0
    85
	
sl@0
    86
private:
sl@0
    87
	TInt iError;
sl@0
    88
	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
sl@0
    89
	TBuf<KNameBufSize> iKeyName;		// Key name for retrieving filename
sl@0
    90
	TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
sl@0
    91
	const TBool iPlay;					// Does this test require playing the audio
sl@0
    92
	const TInt	iExpectedError;			// Is this a negative test
sl@0
    93
	};
sl@0
    94
sl@0
    95
/**
sl@0
    96
 * Load and play an audio sequence file.
sl@0
    97
 *
sl@0
    98
 * @class CTestMmfAclntSEQNFile
sl@0
    99
 *
sl@0
   100
 */         
sl@0
   101
class CTestMmfAclntSEQNFile :  public CTestMmfAclntStep, public MMdaAudioPlayerCallback, public MDelayedMethodCall
sl@0
   102
	{
sl@0
   103
public:
sl@0
   104
	static CTestMmfAclntSEQNFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TBool aIsFile);
sl@0
   105
	static CTestMmfAclntSEQNFile* NewLC(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TBool aIsFile);
sl@0
   106
	virtual TVerdict DoTestStepL();
sl@0
   107
	// from MMdaAudioPlayerCallback
sl@0
   108
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
sl@0
   109
    virtual void MapcPlayComplete(TInt aError);
sl@0
   110
sl@0
   111
	//Used to stop playing after 1 second
sl@0
   112
	void DelayedMethodCallL();
sl@0
   113
sl@0
   114
private:
sl@0
   115
	CTestMmfAclntSEQNFile(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TBool aIsFile);
sl@0
   116
	
sl@0
   117
private:
sl@0
   118
	TInt iError;
sl@0
   119
	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
sl@0
   120
	TBuf<KNameBufSize> iKeyName;		// Key name for retrieving filename
sl@0
   121
	TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
sl@0
   122
	const TBool iPlay;					// Does this test require playing the audio
sl@0
   123
	const TBool iIsFile;			// Is this a negative test
sl@0
   124
	};
sl@0
   125
sl@0
   126
sl@0
   127
sl@0
   128
sl@0
   129
/**
sl@0
   130
 * Load and initialise an audio descriptor.
sl@0
   131
 *
sl@0
   132
 * @class CTestMmfAclntDesc
sl@0
   133
 *
sl@0
   134
 */
sl@0
   135
class CTestMmfAclntDesc : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
sl@0
   136
	{
sl@0
   137
public:
sl@0
   138
	static CTestMmfAclntDesc* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError = KErrNone);
sl@0
   139
	static CTestMmfAclntDesc* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError);
sl@0
   140
	virtual TVerdict DoTestStepL();
sl@0
   141
	virtual TVerdict DoTestStepPreambleL();
sl@0
   142
	virtual TVerdict DoTestStepPostambleL();
sl@0
   143
	// from MMdaAudioPlayerCallback
sl@0
   144
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
sl@0
   145
    virtual void MapcPlayComplete(TInt aError);
sl@0
   146
sl@0
   147
protected:
sl@0
   148
	CTestMmfAclntDesc(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError) ;
sl@0
   149
sl@0
   150
private:
sl@0
   151
	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
sl@0
   152
	TBuf<KNameBufSize> iKeyName;		// Key name for retrieving filename
sl@0
   153
	TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
sl@0
   154
sl@0
   155
protected:
sl@0
   156
	const TBool iPlay;						// Does this test require playing the audio
sl@0
   157
	CMdaAudioPlayerUtility * iPlayer;
sl@0
   158
	HBufC8* iAudio;						// Buffer for holding audio descriptor data
sl@0
   159
	TInt iError;						// Stores error values for testing
sl@0
   160
	const TInt	iExpectedError;			// Is this a negative test
sl@0
   161
	};
sl@0
   162
sl@0
   163
/**
sl@0
   164
 * Load and initialise an audio descriptor (read-only).
sl@0
   165
 *
sl@0
   166
 * @class CTestMmfAclntDescReadOnly
sl@0
   167
 *
sl@0
   168
 */
sl@0
   169
class CTestMmfAclntDescReadOnly : public CTestMmfAclntDesc
sl@0
   170
	{
sl@0
   171
public:
sl@0
   172
	static CTestMmfAclntDescReadOnly* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError = KErrNone);
sl@0
   173
	static CTestMmfAclntDescReadOnly* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError);
sl@0
   174
	virtual TVerdict DoTestStepL();
sl@0
   175
sl@0
   176
private:
sl@0
   177
	CTestMmfAclntDescReadOnly(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError) ;
sl@0
   178
sl@0
   179
	};
sl@0
   180
sl@0
   181
/**
sl@0
   182
 * Load and initialise an audio descriptor (using Open only).
sl@0
   183
 *
sl@0
   184
 * @class CTestMmfAclntDescOpen
sl@0
   185
 *
sl@0
   186
 */
sl@0
   187
class CTestMmfAclntDescOpen : public CTestMmfAclntDesc
sl@0
   188
	{
sl@0
   189
public:
sl@0
   190
	static CTestMmfAclntDescOpen* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError = KErrNone);
sl@0
   191
	static CTestMmfAclntDescOpen* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError);
sl@0
   192
	virtual TVerdict DoTestStepL();
sl@0
   193
sl@0
   194
private:
sl@0
   195
	CTestMmfAclntDescOpen(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError) ;
sl@0
   196
sl@0
   197
	};
sl@0
   198
sl@0
   199
/**
sl@0
   200
 * Open audio form a URL and play.
sl@0
   201
 *
sl@0
   202
 * @class CTestMmfAclntUrl
sl@0
   203
 *
sl@0
   204
 */
sl@0
   205
class CTestMmfAclntUrl : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
sl@0
   206
	{
sl@0
   207
public:
sl@0
   208
	static CTestMmfAclntUrl* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
sl@0
   209
	static CTestMmfAclntUrl* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
sl@0
   210
	virtual TVerdict DoTestStepL();
sl@0
   211
	// from MMdaAudioPlayerCallback
sl@0
   212
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
sl@0
   213
    virtual void MapcPlayComplete(TInt aError);
sl@0
   214
sl@0
   215
private:
sl@0
   216
	CTestMmfAclntUrl(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
sl@0
   217
sl@0
   218
private:
sl@0
   219
	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
sl@0
   220
	TBuf<KNameBufSize> iKeyName;		// Key name for retrieving filename
sl@0
   221
	TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
sl@0
   222
	TInt iError;						// Stores error values for testing
sl@0
   223
	const TBool iPlay;					// Does this test require playing the audio
sl@0
   224
	HBufC8* iAudio;						// Buffer for holding audio descriptor data
sl@0
   225
	};
sl@0
   226
sl@0
   227
sl@0
   228
/**
sl@0
   229
 * Base functionality for most audio player tests
sl@0
   230
 * 
sl@0
   231
 * @class CTestMmfAclntAudioPlayerUtil
sl@0
   232
 *
sl@0
   233
 */
sl@0
   234
class CTestMmfAclntAudioPlayerUtil : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
sl@0
   235
	{
sl@0
   236
public:
sl@0
   237
	CTestMmfAclntAudioPlayerUtil(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   238
	virtual TVerdict DoTestStepL();
sl@0
   239
	// Pure function to access test specific methods
sl@0
   240
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer)=0;
sl@0
   241
	// from MMdaAudioPlayerCallback
sl@0
   242
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
sl@0
   243
    virtual void MapcPlayComplete(TInt aError);
sl@0
   244
sl@0
   245
protected:
sl@0
   246
	TInt iError;
sl@0
   247
	TInt iState;
sl@0
   248
	TBool iStop;
sl@0
   249
	TTimeIntervalMicroSeconds iDuration;
sl@0
   250
	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
sl@0
   251
	} ;
sl@0
   252
sl@0
   253
	//
sl@0
   254
	// RAsyncTestStep
sl@0
   255
	//
sl@0
   256
	/**
sl@0
   257
	 *
sl@0
   258
	 * Base Async Test class
sl@0
   259
	 *
sl@0
   260
	 */	
sl@0
   261
class CFsmTrigger;
sl@0
   262
class CAsyncTestMmfAclntAudioPlayerUtil : public RAsyncTestStep, public MMdaAudioPlayerCallback
sl@0
   263
	{
sl@0
   264
public:
sl@0
   265
	CAsyncTestMmfAclntAudioPlayerUtil( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   266
	// state machine to access test specific functions
sl@0
   267
	virtual void FsmL() = 0;
sl@0
   268
	// from RAsyncTestStep
sl@0
   269
	virtual void KickoffTestL();
sl@0
   270
	virtual void CloseTest();
sl@0
   271
	// from MMdaAudioPlayerCallback
sl@0
   272
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
sl@0
   273
    virtual void MapcPlayComplete(TInt aError);
sl@0
   274
protected:
sl@0
   275
	TBool TimeComparison(const TUint aActual, const TUint aExpected, const TUint aDeviation);
sl@0
   276
sl@0
   277
protected:
sl@0
   278
	TInt iError;
sl@0
   279
	enum TTestState
sl@0
   280
		{
sl@0
   281
		EStateOpen=0,
sl@0
   282
		EStateOpened,
sl@0
   283
		EStatePlay,
sl@0
   284
		EStatePause,
sl@0
   285
		EStateSetRepeat,
sl@0
   286
		EStateStop,
sl@0
   287
		EStateGetPosition,
sl@0
   288
		EStateStopTest,
sl@0
   289
		EStateSetPosition
sl@0
   290
		};
sl@0
   291
	TTestState iTestState;
sl@0
   292
	enum TPlayerState
sl@0
   293
		{
sl@0
   294
		EOpening = 0,
sl@0
   295
		EOpened,
sl@0
   296
		EPlaying,
sl@0
   297
		EPaused,
sl@0
   298
		EStopped		
sl@0
   299
		};
sl@0
   300
	TPlayerState iPlayerState;
sl@0
   301
		
sl@0
   302
	TTimeIntervalMicroSeconds iClipDuration;
sl@0
   303
	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
sl@0
   304
	TBuf<KSizeBuf>	iFileName;
sl@0
   305
	TBuf<KNameBufSize> iKeyName;
sl@0
   306
		
sl@0
   307
	TTime iStart;
sl@0
   308
	TTime iStop;
sl@0
   309
	
sl@0
   310
	TInt  iDuration;
sl@0
   311
	TUint iActualDuration;
sl@0
   312
	TUint iPausedDuration;
sl@0
   313
	TUint iResumedDuration;
sl@0
   314
	TInt  iNumOfRepeatsSet;
sl@0
   315
	TTimeIntervalMicroSeconds  iSilence;
sl@0
   316
	CMdaAudioPlayerUtility* iPlayer;
sl@0
   317
	// AO to invoke the FsmL
sl@0
   318
	CFsmTrigger* iTrigger;
sl@0
   319
	} ;	
sl@0
   320
	
sl@0
   321
	
sl@0
   322
class CFsmTrigger:	public CActive
sl@0
   323
	{
sl@0
   324
public:
sl@0
   325
	static CFsmTrigger* NewL(CAsyncTestMmfAclntAudioPlayerUtil& aObserver);
sl@0
   326
	virtual ~CFsmTrigger();
sl@0
   327
	
sl@0
   328
	// From CActive
sl@0
   329
	virtual void RunL();
sl@0
   330
	virtual void DoCancel();
sl@0
   331
sl@0
   332
	void StartTimer(TTimeIntervalMicroSeconds32 aDelay);
sl@0
   333
	
sl@0
   334
protected:
sl@0
   335
	CFsmTrigger(CAsyncTestMmfAclntAudioPlayerUtil& aObserver);
sl@0
   336
	void ConstructL();
sl@0
   337
sl@0
   338
private:
sl@0
   339
	RTimer iTimer;
sl@0
   340
	CAsyncTestMmfAclntAudioPlayerUtil& iObserver;
sl@0
   341
	};
sl@0
   342
sl@0
   343
/*
sl@0
   344
==========================================
sl@0
   345
RAsyncTest for Different SetRepeat scenario
sl@0
   346
==========================================
sl@0
   347
*/	
sl@0
   348
/**
sl@0
   349
 * RAsynctest audio player: repeat play Pause play
sl@0
   350
 *
sl@0
   351
 * @class CAsyncTestMmfAclntAudioRepeatPlayPausePlay
sl@0
   352
 *
sl@0
   353
 */
sl@0
   354
class CAsyncTestMmfAclntAudioRepeatPlayPausePlay:	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   355
	{
sl@0
   356
public:
sl@0
   357
	static CAsyncTestMmfAclntAudioRepeatPlayPausePlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   358
sl@0
   359
	// from CTestStepAudInStreamAsyncTest
sl@0
   360
	void FsmL();
sl@0
   361
private:
sl@0
   362
	CAsyncTestMmfAclntAudioRepeatPlayPausePlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   363
	};
sl@0
   364
		
sl@0
   365
/**
sl@0
   366
 * RAsynctest audio player: repeat play SetPosition play
sl@0
   367
 *
sl@0
   368
 * @class CAsyncTestMmfAclntAudioRepeatPlayPausePlay
sl@0
   369
 *
sl@0
   370
 */
sl@0
   371
class CAsyncTestMmfAclntAudioRepeatPlayRepositionPlay:	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   372
	{
sl@0
   373
public:
sl@0
   374
	static CAsyncTestMmfAclntAudioRepeatPlayRepositionPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, const TTimeIntervalMicroSeconds aPosition);
sl@0
   375
sl@0
   376
	// from CTestStepAudInStreamAsyncTest
sl@0
   377
	void FsmL();
sl@0
   378
private:
sl@0
   379
	CAsyncTestMmfAclntAudioRepeatPlayRepositionPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, const TTimeIntervalMicroSeconds aPosition);
sl@0
   380
private:
sl@0
   381
	TTimeIntervalMicroSeconds iPosition;
sl@0
   382
	};
sl@0
   383
	
sl@0
   384
/**
sl@0
   385
 * RAsynctest audio player: repeat play Pause Repeat play
sl@0
   386
 *
sl@0
   387
 * @class CAsyncTestMmfAclntAudioRepeatPlayPausePlay
sl@0
   388
 *
sl@0
   389
 */		
sl@0
   390
class CAsyncTestMmfAclntAudioRepeatPlayPauseRepeatPlay:	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   391
	{
sl@0
   392
public:
sl@0
   393
	static CAsyncTestMmfAclntAudioRepeatPlayPauseRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   394
sl@0
   395
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   396
	void FsmL();
sl@0
   397
sl@0
   398
private:
sl@0
   399
	CAsyncTestMmfAclntAudioRepeatPlayPauseRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   400
	};
sl@0
   401
	
sl@0
   402
sl@0
   403
/**
sl@0
   404
 * RAsynctest audio player: repeat play Pause Repeat play
sl@0
   405
 *
sl@0
   406
 * @class CAsyncTestMmfAclntAudioPlayPauseRepeatPlay
sl@0
   407
 *
sl@0
   408
 */		
sl@0
   409
class CAsyncTestMmfAclntAudioPlayPauseRepeatPlay:	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   410
	{
sl@0
   411
public:
sl@0
   412
	static CAsyncTestMmfAclntAudioPlayPauseRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   413
sl@0
   414
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   415
	void FsmL();
sl@0
   416
sl@0
   417
private:
sl@0
   418
	CAsyncTestMmfAclntAudioPlayPauseRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   419
	};
sl@0
   420
sl@0
   421
/**
sl@0
   422
 * RAsynctest audio player: Play Repeat i,e setting repeat while playing.
sl@0
   423
 *
sl@0
   424
 * @class CAsyncTestMmfAclntAudioPlayRepeat
sl@0
   425
 *
sl@0
   426
 */		
sl@0
   427
class CAsyncTestMmfAclntAudioPlayRepeat:	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   428
	{
sl@0
   429
public:
sl@0
   430
	static CAsyncTestMmfAclntAudioPlayRepeat* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   431
sl@0
   432
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   433
	void FsmL();
sl@0
   434
sl@0
   435
private:
sl@0
   436
	CAsyncTestMmfAclntAudioPlayRepeat( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   437
	};
sl@0
   438
sl@0
   439
/**
sl@0
   440
 * RAsynctest audio player: Play Repeat i,e setting repeats before open .
sl@0
   441
 *
sl@0
   442
 * @class CAsyncTestMmfAclntAudioRepeatBeforeOpen
sl@0
   443
 *
sl@0
   444
 */		
sl@0
   445
class CAsyncTestMmfAclntAudioRepeatBeforeOpen:	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   446
	{
sl@0
   447
public:
sl@0
   448
	static CAsyncTestMmfAclntAudioRepeatBeforeOpen* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   449
sl@0
   450
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   451
	void FsmL();
sl@0
   452
	void KickoffTestL();
sl@0
   453
sl@0
   454
private:
sl@0
   455
	CAsyncTestMmfAclntAudioRepeatBeforeOpen( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   456
	};
sl@0
   457
sl@0
   458
/**
sl@0
   459
 * RAsynctest audio player: Play Repeat i,e setting repeats before open .
sl@0
   460
 *
sl@0
   461
 * @class CAsyncTestMmfAclntAudioRepeatBeforeOpen
sl@0
   462
 *
sl@0
   463
 */		
sl@0
   464
class CAsyncTestMmfAclntRepeatMultipleFiles:	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   465
	{
sl@0
   466
public:
sl@0
   467
	static CAsyncTestMmfAclntRepeatMultipleFiles* NewL( const TDesC& aTestName, const TDesC& aSectName);
sl@0
   468
sl@0
   469
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   470
	void FsmL();
sl@0
   471
	void KickoffTestL();
sl@0
   472
sl@0
   473
	// PDEF131534 SPPR_PERF: Music player crashes when opening corrupted wav file.
sl@0
   474
	// WAV file of 96000 Hz is not supported.	
sl@0
   475
	void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds &aDuration);
sl@0
   476
sl@0
   477
private:
sl@0
   478
	CAsyncTestMmfAclntRepeatMultipleFiles( const TDesC& aTestName, const TDesC& aSectName);
sl@0
   479
	TInt iCount;
sl@0
   480
	};
sl@0
   481
	
sl@0
   482
/**
sl@0
   483
 * RAsynctest audio player: Pplay Pause repeat play
sl@0
   484
 *
sl@0
   485
 * @class CAsyncTestMmfAclntAudioPlayRepeatPauseRepeatPlay
sl@0
   486
 *
sl@0
   487
 */		
sl@0
   488
class CAsyncTestMmfAclntAudioPlayRepeatPauseRepeatPlay :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   489
	{
sl@0
   490
public:
sl@0
   491
	static CAsyncTestMmfAclntAudioPlayRepeatPauseRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   492
sl@0
   493
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   494
	void FsmL();
sl@0
   495
	
sl@0
   496
private:
sl@0
   497
	CAsyncTestMmfAclntAudioPlayRepeatPauseRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   498
	};
sl@0
   499
				
sl@0
   500
/**
sl@0
   501
 * RAsynctest audio player: Pplay Pause repeat play
sl@0
   502
 *
sl@0
   503
 * @class CAsyncTestMmfAclntAudioRepeatPlayStopPlay
sl@0
   504
 *
sl@0
   505
 */		
sl@0
   506
class CAsyncTestMmfAclntAudioRepeatPlayStopPlay :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   507
	{
sl@0
   508
public:
sl@0
   509
	static CAsyncTestMmfAclntAudioRepeatPlayStopPlay* NewL( const TDesC& aTestName, const TDesC& aSectName,	const TDesC& aKeyName);
sl@0
   510
sl@0
   511
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   512
	void FsmL();
sl@0
   513
		
sl@0
   514
private:
sl@0
   515
	CAsyncTestMmfAclntAudioRepeatPlayStopPlay( const TDesC& aTestName, const TDesC& aSectName,	const TDesC& aKeyName);
sl@0
   516
	};
sl@0
   517
sl@0
   518
/**
sl@0
   519
 * RAsynctest audio player: Repeat Play Repeat play
sl@0
   520
 *
sl@0
   521
 * @class CAsyncTestMmfAclntAudioRepeatPlayRepeatPlay
sl@0
   522
 *
sl@0
   523
 */		
sl@0
   524
class CAsyncTestMmfAclntAudioRepeatPlayRepeatPlay :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   525
	{
sl@0
   526
public:
sl@0
   527
	static CAsyncTestMmfAclntAudioRepeatPlayRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName,	const TDesC& aKeyName);
sl@0
   528
sl@0
   529
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   530
	void FsmL();	
sl@0
   531
sl@0
   532
private:
sl@0
   533
	CAsyncTestMmfAclntAudioRepeatPlayRepeatPlay( const TDesC& aTestName, const TDesC& aSectName,	const TDesC& aKeyName);
sl@0
   534
	};
sl@0
   535
	
sl@0
   536
/**
sl@0
   537
 * RAsynctest audio player: Play/Repeat/Repeat/Play/
sl@0
   538
 *
sl@0
   539
 * @class CAsyncTestMmfAclntAudioPlayRepeatRepeatPlay
sl@0
   540
 *
sl@0
   541
 */		
sl@0
   542
class CAsyncTestMmfAclntAudioPlayRepeatRepeatPlay :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   543
	{
sl@0
   544
public:
sl@0
   545
	static CAsyncTestMmfAclntAudioPlayRepeatRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   546
sl@0
   547
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   548
	void FsmL();
sl@0
   549
sl@0
   550
private:
sl@0
   551
	CAsyncTestMmfAclntAudioPlayRepeatRepeatPlay( const TDesC& aTestName, const TDesC& aSectName,	const TDesC& aKeyName);
sl@0
   552
	};				
sl@0
   553
		
sl@0
   554
/**
sl@0
   555
 * RAsynctest audio player: Play/Repeat/SetVolRamp/Play/
sl@0
   556
 *
sl@0
   557
 * @class CAsyncTestMmfAclntAudioPlayRepeatRamp
sl@0
   558
 *
sl@0
   559
 */		
sl@0
   560
class CAsyncTestMmfAclntAudioPlayRepeatRamp :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   561
	{
sl@0
   562
public:
sl@0
   563
	static CAsyncTestMmfAclntAudioPlayRepeatRamp* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   564
sl@0
   565
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   566
	void FsmL();
sl@0
   567
sl@0
   568
private:
sl@0
   569
	CAsyncTestMmfAclntAudioPlayRepeatRamp( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   570
private:
sl@0
   571
	TInt iNumOfRepeats;
sl@0
   572
	};	
sl@0
   573
	
sl@0
   574
/**
sl@0
   575
 * RAsynctest audio player: Play/SetRepeatForever/Play/
sl@0
   576
 *
sl@0
   577
 * @class CAsyncTestMmfAclntAudioRepeatForeverPlay
sl@0
   578
 *
sl@0
   579
 */		
sl@0
   580
class CAsyncTestMmfAclntAudioRepeatForeverPlay :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   581
	{
sl@0
   582
public:
sl@0
   583
	static CAsyncTestMmfAclntAudioRepeatForeverPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TTimeIntervalMicroSeconds aTrailingSilence);
sl@0
   584
sl@0
   585
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   586
	void FsmL();
sl@0
   587
sl@0
   588
private:
sl@0
   589
	CAsyncTestMmfAclntAudioRepeatForeverPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TTimeIntervalMicroSeconds aTrailingSilence);
sl@0
   590
private:
sl@0
   591
	TTimeIntervalMicroSeconds iTrailingSilence;	
sl@0
   592
	};
sl@0
   593
sl@0
   594
/**
sl@0
   595
 * RAsynctest audio player: 
sl@0
   596
 *
sl@0
   597
 * @class CAsyncTestMmfAclntAudioRepeatPlayGetPosition
sl@0
   598
 *
sl@0
   599
 */		
sl@0
   600
sl@0
   601
class CAsyncTestMmfAclntAudioRepeatPlayGetPosition :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   602
	{
sl@0
   603
public:
sl@0
   604
	static CAsyncTestMmfAclntAudioRepeatPlayGetPosition* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   605
sl@0
   606
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   607
	void FsmL();
sl@0
   608
sl@0
   609
private:
sl@0
   610
	CAsyncTestMmfAclntAudioRepeatPlayGetPosition( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   611
private:
sl@0
   612
	TTimeIntervalMicroSeconds iPosition;	
sl@0
   613
	};
sl@0
   614
		
sl@0
   615
/**
sl@0
   616
 * RAsynctest audio player: Play/SetRepeatForever/Play/
sl@0
   617
 *
sl@0
   618
 * @class CAsyncTestMmfAclntAudioRepeatForeverPlay
sl@0
   619
 *
sl@0
   620
 */		
sl@0
   621
sl@0
   622
class CAsyncTestMmfAclntDRMRepeatPlay:	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   623
	{
sl@0
   624
public:
sl@0
   625
	static CAsyncTestMmfAclntDRMRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, const TDesC& aUniqueId, const TInt aRepeatCount);
sl@0
   626
sl@0
   627
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   628
	void FsmL();
sl@0
   629
	void KickoffTestL();
sl@0
   630
	
sl@0
   631
	void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds &aDuration);
sl@0
   632
	void MapcPlayComplete(TInt aError);
sl@0
   633
sl@0
   634
private:
sl@0
   635
	CAsyncTestMmfAclntDRMRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName,const TDesC& aUniqueId, const TInt aRepeatCount);
sl@0
   636
private:
sl@0
   637
	TBuf<KIDBufSize> iUniqueId;
sl@0
   638
	};		
sl@0
   639
		
sl@0
   640
//===================================================================================
sl@0
   641
//NEGATIVE TESTS
sl@0
   642
//=======================================================
sl@0
   643
/**
sl@0
   644
 * RAsynctest audio player: Set _ve Repeat/Play
sl@0
   645
 *
sl@0
   646
 * @class CAsyncTestMmfAclntAudioPlayRepeatRamp
sl@0
   647
 *
sl@0
   648
 */		
sl@0
   649
class CAsyncTestMmfAclntAudioNegativeRepeatPlay :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   650
	{
sl@0
   651
public:
sl@0
   652
	static CAsyncTestMmfAclntAudioNegativeRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   653
sl@0
   654
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   655
	void FsmL();
sl@0
   656
	
sl@0
   657
private:
sl@0
   658
	CAsyncTestMmfAclntAudioNegativeRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   659
	};		
sl@0
   660
		
sl@0
   661
		
sl@0
   662
/**
sl@0
   663
 * RAsynctest audio player: Set _ve Repeat/Play
sl@0
   664
 *
sl@0
   665
 * @class CAsyncTestMmfAclntAudioPlayRepeatRamp
sl@0
   666
 *
sl@0
   667
 */		
sl@0
   668
class CAsyncTestMmfAclntAudioPlayNegativeRepeat :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   669
	{
sl@0
   670
public:
sl@0
   671
	static CAsyncTestMmfAclntAudioPlayNegativeRepeat* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   672
sl@0
   673
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   674
	void FsmL();
sl@0
   675
	
sl@0
   676
private:
sl@0
   677
	CAsyncTestMmfAclntAudioPlayNegativeRepeat( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   678
	};			
sl@0
   679
/**
sl@0
   680
 * RAsynctest audio player: SetPlayWindow and Repeat play
sl@0
   681
 *
sl@0
   682
 * @class CAsyncTestMmfAclntAudioPlayRepeatRamp
sl@0
   683
 *
sl@0
   684
 */		
sl@0
   685
class CAsyncTestMmfAclntAudioSetPlayWindowRepeatPlay :	public CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   686
	{
sl@0
   687
public:
sl@0
   688
	static CAsyncTestMmfAclntAudioSetPlayWindowRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   689
sl@0
   690
	// from CAsyncTestMmfAclntAudioPlayerUtil
sl@0
   691
	void FsmL();
sl@0
   692
	
sl@0
   693
private:
sl@0
   694
	CAsyncTestMmfAclntAudioSetPlayWindowRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   695
private:
sl@0
   696
	TInt iWindowDuration;
sl@0
   697
	};	
sl@0
   698
sl@0
   699
//==================================================================================================	
sl@0
   700
	
sl@0
   701
/**
sl@0
   702
 * test audio pausing.
sl@0
   703
 *
sl@0
   704
 * @class CTestMmfAclntAudioPlayStopStart
sl@0
   705
 *
sl@0
   706
 */
sl@0
   707
class CTestMmfAclntAudioPlayStopStart : public CTestMmfAclntAudioPlayerUtil
sl@0
   708
	{
sl@0
   709
public:
sl@0
   710
	CTestMmfAclntAudioPlayStopStart(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   711
	static CTestMmfAclntAudioPlayStopStart* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   712
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   713
	};
sl@0
   714
sl@0
   715
/**
sl@0
   716
 * test audio pausing.
sl@0
   717
 *
sl@0
   718
 * @class CTestMmfAclntAudioPlayStopStart
sl@0
   719
 *
sl@0
   720
 */
sl@0
   721
class CTestMmfAclntAudioPlayPauseStart : public CTestMmfAclntAudioPlayerUtil
sl@0
   722
	{
sl@0
   723
public:
sl@0
   724
	CTestMmfAclntAudioPlayPauseStart(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   725
	static CTestMmfAclntAudioPlayPauseStart* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   726
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   727
	};
sl@0
   728
sl@0
   729
/**
sl@0
   730
 * Further testing of audio pausing.
sl@0
   731
 *
sl@0
   732
 * @class CTestMmfAclntAudioPlayPausePlayTest 
sl@0
   733
 *
sl@0
   734
 */
sl@0
   735
class CTestMmfAclntAudioPlayPausePlayTest : public CTestMmfAclntAudioPlayerUtil
sl@0
   736
	{
sl@0
   737
public:
sl@0
   738
	CTestMmfAclntAudioPlayPausePlayTest(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   739
	static CTestMmfAclntAudioPlayPausePlayTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   740
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   741
	};
sl@0
   742
sl@0
   743
/**
sl@0
   744
 * test audio volume
sl@0
   745
 *
sl@0
   746
 * @class CTestMmfAclntAudioPlayVolume
sl@0
   747
 *
sl@0
   748
 */
sl@0
   749
class CTestMmfAclntAudioPlayVolume : public CTestMmfAclntAudioPlayerUtil
sl@0
   750
	{
sl@0
   751
public:
sl@0
   752
	CTestMmfAclntAudioPlayVolume(const TDesC& aTestName, const TDesC& aSectName, const TInt aVolume,TBool aNegativeTest);
sl@0
   753
	static CTestMmfAclntAudioPlayVolume* NewL(const TDesC& aTestName, const TDesC& aSectName, const TInt aVolume=-1, TBool aNegativeTest = EFalse);
sl@0
   754
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   755
sl@0
   756
private:
sl@0
   757
	TInt iVolume;
sl@0
   758
	TBool iNegativeTest;
sl@0
   759
	};
sl@0
   760
sl@0
   761
/**
sl@0
   762
 * test audio player repeat play
sl@0
   763
 *
sl@0
   764
 * @class CTestMmfAclntAudioRepeat
sl@0
   765
 *
sl@0
   766
 */
sl@0
   767
class CTestMmfAclntAudioRepeat : public CTestMmfAclntAudioPlayerUtil
sl@0
   768
	{
sl@0
   769
public:
sl@0
   770
	CTestMmfAclntAudioRepeat(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   771
	static CTestMmfAclntAudioRepeat* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   772
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   773
	};
sl@0
   774
sl@0
   775
sl@0
   776
/**
sl@0
   777
 * test audio balance
sl@0
   778
 *
sl@0
   779
 * @class CTestMmfAclntAudioBalance
sl@0
   780
 *
sl@0
   781
 */
sl@0
   782
class CTestMmfAclntAudioBalance : public CTestMmfAclntAudioPlayerUtil
sl@0
   783
	{
sl@0
   784
public:
sl@0
   785
	CTestMmfAclntAudioBalance(const TDesC& aTestName, const TDesC& aSectName, const TInt aValue, const TInt aExpectedError);
sl@0
   786
	static CTestMmfAclntAudioBalance* NewL(const TDesC& aTestName, const TDesC& aSectName, const TInt aExpectedError, const TInt aValue);//=-1,);
sl@0
   787
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   788
sl@0
   789
private:
sl@0
   790
	TInt iBalance;
sl@0
   791
	TInt iExpectedError;
sl@0
   792
	};
sl@0
   793
sl@0
   794
/**
sl@0
   795
 * test audio duration
sl@0
   796
 *
sl@0
   797
 * @class CTestMmfAclntAudioDuration
sl@0
   798
 *
sl@0
   799
 */
sl@0
   800
class CTestMmfAclntAudioDuration : public CTestMmfAclntAudioPlayerUtil
sl@0
   801
	{
sl@0
   802
public:
sl@0
   803
	CTestMmfAclntAudioDuration(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   804
	static CTestMmfAclntAudioDuration* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   805
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   806
	};
sl@0
   807
sl@0
   808
sl@0
   809
/**
sl@0
   810
 * test audio postions
sl@0
   811
 *
sl@0
   812
 * @class CTestMmfAclntAudioPosition
sl@0
   813
 *
sl@0
   814
 */
sl@0
   815
class CTestMmfAclntAudioPosition : public CTestMmfAclntAudioPlayerUtil
sl@0
   816
	{
sl@0
   817
public:
sl@0
   818
	CTestMmfAclntAudioPosition(const TDesC& aTestName, const TDesC& aSectName, const TTimeIntervalMicroSeconds& aPosition);
sl@0
   819
	static CTestMmfAclntAudioPosition* NewL(const TDesC& aTestName, const TDesC& aSectName, const TTimeIntervalMicroSeconds& aPosition);
sl@0
   820
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   821
sl@0
   822
private:
sl@0
   823
	TTimeIntervalMicroSeconds iPosition;
sl@0
   824
	};
sl@0
   825
sl@0
   826
/**
sl@0
   827
 * test audio play window
sl@0
   828
 *
sl@0
   829
 * @class CTestMmfAclntAudioPlayWindow
sl@0
   830
 *
sl@0
   831
 */
sl@0
   832
class CTestMmfAclntAudioPlayWindow : public CTestMmfAclntAudioPlayerUtil
sl@0
   833
	{
sl@0
   834
public:
sl@0
   835
	CTestMmfAclntAudioPlayWindow(const TDesC& aTestName, const TDesC& aSectName, const TBool aNegative);
sl@0
   836
	static CTestMmfAclntAudioPlayWindow* NewL(const TDesC& aTestName, const TDesC& aSectName, const TBool aNegative = EFalse);
sl@0
   837
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   838
private:
sl@0
   839
	TBool iNegative;
sl@0
   840
	};
sl@0
   841
sl@0
   842
/**
sl@0
   843
 * get audio type
sl@0
   844
 *
sl@0
   845
 * @class CTestMmfAclntAudioType
sl@0
   846
 *
sl@0
   847
 */
sl@0
   848
class CTestMmfAclntAudioType : public CTestMmfAclntAudioPlayerUtil
sl@0
   849
	{
sl@0
   850
public:
sl@0
   851
	CTestMmfAclntAudioType(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   852
	static CTestMmfAclntAudioType* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   853
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   854
	};
sl@0
   855
sl@0
   856
/**
sl@0
   857
 * test audio ramp
sl@0
   858
 *
sl@0
   859
 * @class CTestMmfAclntAudioRamp
sl@0
   860
 *
sl@0
   861
 */
sl@0
   862
class CTestMmfAclntAudioRamp : public CTestMmfAclntAudioPlayerUtil
sl@0
   863
	{
sl@0
   864
public:
sl@0
   865
	CTestMmfAclntAudioRamp(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   866
	static CTestMmfAclntAudioRamp* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   867
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   868
	};
sl@0
   869
sl@0
   870
/**
sl@0
   871
 * view meta data
sl@0
   872
 *
sl@0
   873
 * @class CTestMmfAclntAudioMeta
sl@0
   874
 *
sl@0
   875
 */
sl@0
   876
class CTestMmfAclntAudioMeta : public CTestMmfAclntAudioPlayerUtil
sl@0
   877
	{
sl@0
   878
public:
sl@0
   879
	CTestMmfAclntAudioMeta(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   880
	static CTestMmfAclntAudioMeta* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   881
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   882
	};
sl@0
   883
sl@0
   884
/**
sl@0
   885
 * close and then open the audio clip
sl@0
   886
 *
sl@0
   887
 * @class CTestMmfAclntAudioCloseOpen
sl@0
   888
 *
sl@0
   889
 */
sl@0
   890
class CTestMmfAclntAudioCloseOpen : public CTestMmfAclntAudioPlayerUtil
sl@0
   891
	{
sl@0
   892
public:
sl@0
   893
	CTestMmfAclntAudioCloseOpen(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   894
	static CTestMmfAclntAudioCloseOpen* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   895
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   896
	};
sl@0
   897
sl@0
   898
/**
sl@0
   899
 * query audio formats
sl@0
   900
 *
sl@0
   901
 * @class CTestMmfAclntAudioQuery
sl@0
   902
 *
sl@0
   903
 */
sl@0
   904
class CTestMmfAclntAudioQuery : public CTestMmfAclntAudioPlayerUtil
sl@0
   905
	{
sl@0
   906
public:
sl@0
   907
	CTestMmfAclntAudioQuery(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   908
	static CTestMmfAclntAudioQuery* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   909
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   910
	};
sl@0
   911
sl@0
   912
sl@0
   913
/**
sl@0
   914
 * get audio bit rate
sl@0
   915
 *
sl@0
   916
 * @class CTestMmfAclntAudioBitRate
sl@0
   917
 *
sl@0
   918
 */
sl@0
   919
sl@0
   920
class CTestMmfAclntAudioBitRate : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
sl@0
   921
	{
sl@0
   922
public:
sl@0
   923
	static	CTestMmfAclntAudioBitRate* NewL(const TDesC& aTestName,const TDesC& aKeyName1, const TDesC& aKeyName2);
sl@0
   924
    virtual TVerdict DoTestStepL();
sl@0
   925
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
sl@0
   926
    virtual void MapcPlayComplete(TInt aError);
sl@0
   927
    
sl@0
   928
private:
sl@0
   929
	CTestMmfAclntAudioBitRate(const TDesC& aTestName,const TDesC& aKeyName1, const TDesC& aKeyName2);
sl@0
   930
sl@0
   931
private:
sl@0
   932
	TBuf<KNameBufSize> iKeyFileName;	// Key name for retrieving filename
sl@0
   933
	TBuf<KNameBufSize> iKeyBitRateName; // Key name for retrieving bit rate
sl@0
   934
	TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
sl@0
   935
	TInt iError;						// Stores error values for testing
sl@0
   936
	TInt iExpectedBitRate;		// Expected bps of the file
sl@0
   937
	};
sl@0
   938
sl@0
   939
/**
sl@0
   940
 * Audio priority.
sl@0
   941
 *
sl@0
   942
 * @class CTestMmfAclntPriority
sl@0
   943
 *
sl@0
   944
 */
sl@0
   945
class CTestMmfAclntPriority : public CTestMmfAclntStep, public MCallbackHandlerObserver, public MDelayedMethodCall
sl@0
   946
	{
sl@0
   947
public:
sl@0
   948
	virtual TVerdict DoTestStepL();
sl@0
   949
	void MchoComplete(TInt aID, TInt aError);
sl@0
   950
	static CTestMmfAclntPriority* NewL(const TDesC& aTestName, const TDesC& aSectName, const TMdaPriority aPriority);
sl@0
   951
	static CTestMmfAclntPriority* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   952
sl@0
   953
	//Used to start playing file 0 after file 1 has already started
sl@0
   954
	void DelayedMethodCallL();
sl@0
   955
private:
sl@0
   956
	CTestMmfAclntPriority(const TDesC& aTestName, const TDesC& aSectName, const TMdaPriority aPriority);
sl@0
   957
	CTestMmfAclntPriority(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   958
sl@0
   959
private:
sl@0
   960
	CMdaAudioPlayerUtility* audioUtil[2];
sl@0
   961
sl@0
   962
	TInt iCallbackCount;
sl@0
   963
	TInt iCallbackError[2];
sl@0
   964
sl@0
   965
	TInt iFirstCallback;
sl@0
   966
	TInt iError;
sl@0
   967
	TMdaPriority iPriority;
sl@0
   968
	TBool iPriorityManual;
sl@0
   969
	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
sl@0
   970
	} ;
sl@0
   971
sl@0
   972
sl@0
   973
//
sl@0
   974
// NEGATIVE TESTS
sl@0
   975
//
sl@0
   976
sl@0
   977
/** 
sl@0
   978
 *
sl@0
   979
 * Play with no loaded sound file.
sl@0
   980
 *
sl@0
   981
 * @class CTestMmfAclntNoLoad
sl@0
   982
 *
sl@0
   983
 */
sl@0
   984
class CTestMmfAclntNoLoad : public CTestMmfAclntAudioPlayerUtil
sl@0
   985
	{
sl@0
   986
sl@0
   987
public:
sl@0
   988
	CTestMmfAclntNoLoad(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   989
	static CTestMmfAclntNoLoad* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
   990
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
   991
	virtual TVerdict DoTestStepL();
sl@0
   992
	};
sl@0
   993
sl@0
   994
/**
sl@0
   995
 * Audio clip - Delete object before play operation has completed.
sl@0
   996
 *
sl@0
   997
 * @class CTestMmfAclntDeletePlay
sl@0
   998
 *
sl@0
   999
 */
sl@0
  1000
class CTestMmfAclntDeletePlay : public CTestMmfAclntAudioPlayerUtil
sl@0
  1001
	{
sl@0
  1002
public:
sl@0
  1003
	CTestMmfAclntDeletePlay(const TDesC& aTestName, const TDesC& aSectName);
sl@0
  1004
	static CTestMmfAclntDeletePlay* NewL(const TDesC& aTestName, const TDesC& aSectName);
sl@0
  1005
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
  1006
	};
sl@0
  1007
sl@0
  1008
/** 
sl@0
  1009
 * Open new file while audio player is playing.
sl@0
  1010
 *
sl@0
  1011
 * @class CTestMmfAclntPlayPlay
sl@0
  1012
 * 
sl@0
  1013
 */
sl@0
  1014
class CTestMmfAclntPlayPlay : public CTestMmfAclntAudioPlayerUtil
sl@0
  1015
	{
sl@0
  1016
public:
sl@0
  1017
	CTestMmfAclntPlayPlay(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
  1018
	static CTestMmfAclntPlayPlay* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
  1019
	virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
sl@0
  1020
private:
sl@0
  1021
	TBuf<KNameBufSize> iKeyName;		// Key name for retrieving filename
sl@0
  1022
	};
sl@0
  1023
sl@0
  1024
/**
sl@0
  1025
 * Play using a corrupt descriptor.
sl@0
  1026
 *
sl@0
  1027
 * @class CTestMmfAclntCorruptDes
sl@0
  1028
 *
sl@0
  1029
 */
sl@0
  1030
class CTestMmfAclntCorruptDes : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
sl@0
  1031
	{
sl@0
  1032
public:
sl@0
  1033
	CTestMmfAclntCorruptDes(const TDesC& aTestName, const TDesC& aSectName);
sl@0
  1034
	virtual TVerdict DoTestStepL();
sl@0
  1035
	virtual TVerdict DoTestStepPreambleL();
sl@0
  1036
	virtual TVerdict DoTestStepPostambleL();
sl@0
  1037
	// from MMdaAudioPlayerCallback
sl@0
  1038
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
sl@0
  1039
    virtual void MapcPlayComplete(TInt aError);
sl@0
  1040
sl@0
  1041
private:
sl@0
  1042
	HBufC8* iAudio;
sl@0
  1043
	TInt iError;
sl@0
  1044
	TBuf<KNameBufSize> iSectName;					// Section name for retrieving filename
sl@0
  1045
	} ;
sl@0
  1046
sl@0
  1047
sl@0
  1048
#endif