First public contribution.
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.
20 @file TestPlayerUtils.h
23 #ifndef TESTPLAYERUTILS_H
24 #define TESTPLAYERUTILS_H
27 #include "TSI_MMFACLNT.h"
29 // parameter structure for repeat tests
30 class TRepeatParameters
33 const TText* iFilename;
38 const TInt KNegativeRepeat = -4;
40 * MDelayedMethodCall & CDelayedMethodCall provide a mechanism whereby a method can be called
41 * from the ActiveScheduler after a certain length of time.
44 class MDelayedMethodCall
47 virtual void DelayedMethodCallL() =0;
50 class CDelayedMethodCall : public CTimer
53 static CDelayedMethodCall* NewL(MDelayedMethodCall* aThat);
56 virtual TInt RunError(TInt aError);
58 CDelayedMethodCall(MDelayedMethodCall* aThat);
61 MDelayedMethodCall* const iThat;
68 * Load and initialise an audio file.
70 * @class CTestMmfAclntFile
73 class CTestMmfAclntFile : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
76 static CTestMmfAclntFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError);
77 static CTestMmfAclntFile* NewLC(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TInt aExpectedError);
78 virtual TVerdict DoTestStepL();
79 // from MMdaAudioPlayerCallback
80 virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
81 virtual void MapcPlayComplete(TInt aError);
84 CTestMmfAclntFile(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TInt aExpectedError);
88 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
89 TBuf<KNameBufSize> iKeyName; // Key name for retrieving filename
90 TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
91 const TBool iPlay; // Does this test require playing the audio
92 const TInt iExpectedError; // Is this a negative test
96 * Load and play an audio sequence file.
98 * @class CTestMmfAclntSEQNFile
101 class CTestMmfAclntSEQNFile : public CTestMmfAclntStep, public MMdaAudioPlayerCallback, public MDelayedMethodCall
104 static CTestMmfAclntSEQNFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TBool aIsFile);
105 static CTestMmfAclntSEQNFile* NewLC(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TBool aIsFile);
106 virtual TVerdict DoTestStepL();
107 // from MMdaAudioPlayerCallback
108 virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
109 virtual void MapcPlayComplete(TInt aError);
111 //Used to stop playing after 1 second
112 void DelayedMethodCallL();
115 CTestMmfAclntSEQNFile(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay, const TBool aIsFile);
119 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
120 TBuf<KNameBufSize> iKeyName; // Key name for retrieving filename
121 TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
122 const TBool iPlay; // Does this test require playing the audio
123 const TBool iIsFile; // Is this a negative test
130 * Load and initialise an audio descriptor.
132 * @class CTestMmfAclntDesc
135 class CTestMmfAclntDesc : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
138 static CTestMmfAclntDesc* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError = KErrNone);
139 static CTestMmfAclntDesc* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError);
140 virtual TVerdict DoTestStepL();
141 virtual TVerdict DoTestStepPreambleL();
142 virtual TVerdict DoTestStepPostambleL();
143 // from MMdaAudioPlayerCallback
144 virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
145 virtual void MapcPlayComplete(TInt aError);
148 CTestMmfAclntDesc(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError) ;
151 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
152 TBuf<KNameBufSize> iKeyName; // Key name for retrieving filename
153 TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
156 const TBool iPlay; // Does this test require playing the audio
157 CMdaAudioPlayerUtility * iPlayer;
158 HBufC8* iAudio; // Buffer for holding audio descriptor data
159 TInt iError; // Stores error values for testing
160 const TInt iExpectedError; // Is this a negative test
164 * Load and initialise an audio descriptor (read-only).
166 * @class CTestMmfAclntDescReadOnly
169 class CTestMmfAclntDescReadOnly : public CTestMmfAclntDesc
172 static CTestMmfAclntDescReadOnly* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError = KErrNone);
173 static CTestMmfAclntDescReadOnly* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError);
174 virtual TVerdict DoTestStepL();
177 CTestMmfAclntDescReadOnly(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError) ;
182 * Load and initialise an audio descriptor (using Open only).
184 * @class CTestMmfAclntDescOpen
187 class CTestMmfAclntDescOpen : public CTestMmfAclntDesc
190 static CTestMmfAclntDescOpen* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError = KErrNone);
191 static CTestMmfAclntDescOpen* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError);
192 virtual TVerdict DoTestStepL();
195 CTestMmfAclntDescOpen(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay,const TInt aExpectedError) ;
200 * Open audio form a URL and play.
202 * @class CTestMmfAclntUrl
205 class CTestMmfAclntUrl : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
208 static CTestMmfAclntUrl* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
209 static CTestMmfAclntUrl* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
210 virtual TVerdict DoTestStepL();
211 // from MMdaAudioPlayerCallback
212 virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
213 virtual void MapcPlayComplete(TInt aError);
216 CTestMmfAclntUrl(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay);
219 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
220 TBuf<KNameBufSize> iKeyName; // Key name for retrieving filename
221 TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
222 TInt iError; // Stores error values for testing
223 const TBool iPlay; // Does this test require playing the audio
224 HBufC8* iAudio; // Buffer for holding audio descriptor data
229 * Base functionality for most audio player tests
231 * @class CTestMmfAclntAudioPlayerUtil
234 class CTestMmfAclntAudioPlayerUtil : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
237 CTestMmfAclntAudioPlayerUtil(const TDesC& aTestName, const TDesC& aSectName);
238 virtual TVerdict DoTestStepL();
239 // Pure function to access test specific methods
240 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer)=0;
241 // from MMdaAudioPlayerCallback
242 virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
243 virtual void MapcPlayComplete(TInt aError);
249 TTimeIntervalMicroSeconds iDuration;
250 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
258 * Base Async Test class
262 class CAsyncTestMmfAclntAudioPlayerUtil : public RAsyncTestStep, public MMdaAudioPlayerCallback
265 CAsyncTestMmfAclntAudioPlayerUtil( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
266 // state machine to access test specific functions
267 virtual void FsmL() = 0;
268 // from RAsyncTestStep
269 virtual void KickoffTestL();
270 virtual void CloseTest();
271 // from MMdaAudioPlayerCallback
272 virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
273 virtual void MapcPlayComplete(TInt aError);
275 TBool TimeComparison(const TUint aActual, const TUint aExpected, const TUint aDeviation);
291 TTestState iTestState;
300 TPlayerState iPlayerState;
302 TTimeIntervalMicroSeconds iClipDuration;
303 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
304 TBuf<KSizeBuf> iFileName;
305 TBuf<KNameBufSize> iKeyName;
311 TUint iActualDuration;
312 TUint iPausedDuration;
313 TUint iResumedDuration;
314 TInt iNumOfRepeatsSet;
315 TTimeIntervalMicroSeconds iSilence;
316 CMdaAudioPlayerUtility* iPlayer;
317 // AO to invoke the FsmL
318 CFsmTrigger* iTrigger;
322 class CFsmTrigger: public CActive
325 static CFsmTrigger* NewL(CAsyncTestMmfAclntAudioPlayerUtil& aObserver);
326 virtual ~CFsmTrigger();
330 virtual void DoCancel();
332 void StartTimer(TTimeIntervalMicroSeconds32 aDelay);
335 CFsmTrigger(CAsyncTestMmfAclntAudioPlayerUtil& aObserver);
340 CAsyncTestMmfAclntAudioPlayerUtil& iObserver;
344 ==========================================
345 RAsyncTest for Different SetRepeat scenario
346 ==========================================
349 * RAsynctest audio player: repeat play Pause play
351 * @class CAsyncTestMmfAclntAudioRepeatPlayPausePlay
354 class CAsyncTestMmfAclntAudioRepeatPlayPausePlay: public CAsyncTestMmfAclntAudioPlayerUtil
357 static CAsyncTestMmfAclntAudioRepeatPlayPausePlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
359 // from CTestStepAudInStreamAsyncTest
362 CAsyncTestMmfAclntAudioRepeatPlayPausePlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
366 * RAsynctest audio player: repeat play SetPosition play
368 * @class CAsyncTestMmfAclntAudioRepeatPlayPausePlay
371 class CAsyncTestMmfAclntAudioRepeatPlayRepositionPlay: public CAsyncTestMmfAclntAudioPlayerUtil
374 static CAsyncTestMmfAclntAudioRepeatPlayRepositionPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, const TTimeIntervalMicroSeconds aPosition);
376 // from CTestStepAudInStreamAsyncTest
379 CAsyncTestMmfAclntAudioRepeatPlayRepositionPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, const TTimeIntervalMicroSeconds aPosition);
381 TTimeIntervalMicroSeconds iPosition;
385 * RAsynctest audio player: repeat play Pause Repeat play
387 * @class CAsyncTestMmfAclntAudioRepeatPlayPausePlay
390 class CAsyncTestMmfAclntAudioRepeatPlayPauseRepeatPlay: public CAsyncTestMmfAclntAudioPlayerUtil
393 static CAsyncTestMmfAclntAudioRepeatPlayPauseRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
395 // from CAsyncTestMmfAclntAudioPlayerUtil
399 CAsyncTestMmfAclntAudioRepeatPlayPauseRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
404 * RAsynctest audio player: repeat play Pause Repeat play
406 * @class CAsyncTestMmfAclntAudioPlayPauseRepeatPlay
409 class CAsyncTestMmfAclntAudioPlayPauseRepeatPlay: public CAsyncTestMmfAclntAudioPlayerUtil
412 static CAsyncTestMmfAclntAudioPlayPauseRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
414 // from CAsyncTestMmfAclntAudioPlayerUtil
418 CAsyncTestMmfAclntAudioPlayPauseRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
422 * RAsynctest audio player: Play Repeat i,e setting repeat while playing.
424 * @class CAsyncTestMmfAclntAudioPlayRepeat
427 class CAsyncTestMmfAclntAudioPlayRepeat: public CAsyncTestMmfAclntAudioPlayerUtil
430 static CAsyncTestMmfAclntAudioPlayRepeat* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
432 // from CAsyncTestMmfAclntAudioPlayerUtil
436 CAsyncTestMmfAclntAudioPlayRepeat( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
440 * RAsynctest audio player: Play Repeat i,e setting repeats before open .
442 * @class CAsyncTestMmfAclntAudioRepeatBeforeOpen
445 class CAsyncTestMmfAclntAudioRepeatBeforeOpen: public CAsyncTestMmfAclntAudioPlayerUtil
448 static CAsyncTestMmfAclntAudioRepeatBeforeOpen* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
450 // from CAsyncTestMmfAclntAudioPlayerUtil
455 CAsyncTestMmfAclntAudioRepeatBeforeOpen( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
459 * RAsynctest audio player: Play Repeat i,e setting repeats before open .
461 * @class CAsyncTestMmfAclntAudioRepeatBeforeOpen
464 class CAsyncTestMmfAclntRepeatMultipleFiles: public CAsyncTestMmfAclntAudioPlayerUtil
467 static CAsyncTestMmfAclntRepeatMultipleFiles* NewL( const TDesC& aTestName, const TDesC& aSectName);
469 // from CAsyncTestMmfAclntAudioPlayerUtil
473 // PDEF131534 SPPR_PERF: Music player crashes when opening corrupted wav file.
474 // WAV file of 96000 Hz is not supported.
475 void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds &aDuration);
478 CAsyncTestMmfAclntRepeatMultipleFiles( const TDesC& aTestName, const TDesC& aSectName);
483 * RAsynctest audio player: Pplay Pause repeat play
485 * @class CAsyncTestMmfAclntAudioPlayRepeatPauseRepeatPlay
488 class CAsyncTestMmfAclntAudioPlayRepeatPauseRepeatPlay : public CAsyncTestMmfAclntAudioPlayerUtil
491 static CAsyncTestMmfAclntAudioPlayRepeatPauseRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
493 // from CAsyncTestMmfAclntAudioPlayerUtil
497 CAsyncTestMmfAclntAudioPlayRepeatPauseRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
501 * RAsynctest audio player: Pplay Pause repeat play
503 * @class CAsyncTestMmfAclntAudioRepeatPlayStopPlay
506 class CAsyncTestMmfAclntAudioRepeatPlayStopPlay : public CAsyncTestMmfAclntAudioPlayerUtil
509 static CAsyncTestMmfAclntAudioRepeatPlayStopPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
511 // from CAsyncTestMmfAclntAudioPlayerUtil
515 CAsyncTestMmfAclntAudioRepeatPlayStopPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
519 * RAsynctest audio player: Repeat Play Repeat play
521 * @class CAsyncTestMmfAclntAudioRepeatPlayRepeatPlay
524 class CAsyncTestMmfAclntAudioRepeatPlayRepeatPlay : public CAsyncTestMmfAclntAudioPlayerUtil
527 static CAsyncTestMmfAclntAudioRepeatPlayRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
529 // from CAsyncTestMmfAclntAudioPlayerUtil
533 CAsyncTestMmfAclntAudioRepeatPlayRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
537 * RAsynctest audio player: Play/Repeat/Repeat/Play/
539 * @class CAsyncTestMmfAclntAudioPlayRepeatRepeatPlay
542 class CAsyncTestMmfAclntAudioPlayRepeatRepeatPlay : public CAsyncTestMmfAclntAudioPlayerUtil
545 static CAsyncTestMmfAclntAudioPlayRepeatRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
547 // from CAsyncTestMmfAclntAudioPlayerUtil
551 CAsyncTestMmfAclntAudioPlayRepeatRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
555 * RAsynctest audio player: Play/Repeat/SetVolRamp/Play/
557 * @class CAsyncTestMmfAclntAudioPlayRepeatRamp
560 class CAsyncTestMmfAclntAudioPlayRepeatRamp : public CAsyncTestMmfAclntAudioPlayerUtil
563 static CAsyncTestMmfAclntAudioPlayRepeatRamp* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
565 // from CAsyncTestMmfAclntAudioPlayerUtil
569 CAsyncTestMmfAclntAudioPlayRepeatRamp( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
575 * RAsynctest audio player: Play/SetRepeatForever/Play/
577 * @class CAsyncTestMmfAclntAudioRepeatForeverPlay
580 class CAsyncTestMmfAclntAudioRepeatForeverPlay : public CAsyncTestMmfAclntAudioPlayerUtil
583 static CAsyncTestMmfAclntAudioRepeatForeverPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TTimeIntervalMicroSeconds aTrailingSilence);
585 // from CAsyncTestMmfAclntAudioPlayerUtil
589 CAsyncTestMmfAclntAudioRepeatForeverPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TTimeIntervalMicroSeconds aTrailingSilence);
591 TTimeIntervalMicroSeconds iTrailingSilence;
595 * RAsynctest audio player:
597 * @class CAsyncTestMmfAclntAudioRepeatPlayGetPosition
601 class CAsyncTestMmfAclntAudioRepeatPlayGetPosition : public CAsyncTestMmfAclntAudioPlayerUtil
604 static CAsyncTestMmfAclntAudioRepeatPlayGetPosition* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
606 // from CAsyncTestMmfAclntAudioPlayerUtil
610 CAsyncTestMmfAclntAudioRepeatPlayGetPosition( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
612 TTimeIntervalMicroSeconds iPosition;
616 * RAsynctest audio player: Play/SetRepeatForever/Play/
618 * @class CAsyncTestMmfAclntAudioRepeatForeverPlay
622 class CAsyncTestMmfAclntDRMRepeatPlay: public CAsyncTestMmfAclntAudioPlayerUtil
625 static CAsyncTestMmfAclntDRMRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, const TDesC& aUniqueId, const TInt aRepeatCount);
627 // from CAsyncTestMmfAclntAudioPlayerUtil
631 void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds &aDuration);
632 void MapcPlayComplete(TInt aError);
635 CAsyncTestMmfAclntDRMRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName,const TDesC& aUniqueId, const TInt aRepeatCount);
637 TBuf<KIDBufSize> iUniqueId;
640 //===================================================================================
642 //=======================================================
644 * RAsynctest audio player: Set _ve Repeat/Play
646 * @class CAsyncTestMmfAclntAudioPlayRepeatRamp
649 class CAsyncTestMmfAclntAudioNegativeRepeatPlay : public CAsyncTestMmfAclntAudioPlayerUtil
652 static CAsyncTestMmfAclntAudioNegativeRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
654 // from CAsyncTestMmfAclntAudioPlayerUtil
658 CAsyncTestMmfAclntAudioNegativeRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
663 * RAsynctest audio player: Set _ve Repeat/Play
665 * @class CAsyncTestMmfAclntAudioPlayRepeatRamp
668 class CAsyncTestMmfAclntAudioPlayNegativeRepeat : public CAsyncTestMmfAclntAudioPlayerUtil
671 static CAsyncTestMmfAclntAudioPlayNegativeRepeat* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
673 // from CAsyncTestMmfAclntAudioPlayerUtil
677 CAsyncTestMmfAclntAudioPlayNegativeRepeat( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
680 * RAsynctest audio player: SetPlayWindow and Repeat play
682 * @class CAsyncTestMmfAclntAudioPlayRepeatRamp
685 class CAsyncTestMmfAclntAudioSetPlayWindowRepeatPlay : public CAsyncTestMmfAclntAudioPlayerUtil
688 static CAsyncTestMmfAclntAudioSetPlayWindowRepeatPlay* NewL( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
690 // from CAsyncTestMmfAclntAudioPlayerUtil
694 CAsyncTestMmfAclntAudioSetPlayWindowRepeatPlay( const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
696 TInt iWindowDuration;
699 //==================================================================================================
702 * test audio pausing.
704 * @class CTestMmfAclntAudioPlayStopStart
707 class CTestMmfAclntAudioPlayStopStart : public CTestMmfAclntAudioPlayerUtil
710 CTestMmfAclntAudioPlayStopStart(const TDesC& aTestName, const TDesC& aSectName);
711 static CTestMmfAclntAudioPlayStopStart* NewL(const TDesC& aTestName, const TDesC& aSectName);
712 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
716 * test audio pausing.
718 * @class CTestMmfAclntAudioPlayStopStart
721 class CTestMmfAclntAudioPlayPauseStart : public CTestMmfAclntAudioPlayerUtil
724 CTestMmfAclntAudioPlayPauseStart(const TDesC& aTestName, const TDesC& aSectName);
725 static CTestMmfAclntAudioPlayPauseStart* NewL(const TDesC& aTestName, const TDesC& aSectName);
726 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
730 * Further testing of audio pausing.
732 * @class CTestMmfAclntAudioPlayPausePlayTest
735 class CTestMmfAclntAudioPlayPausePlayTest : public CTestMmfAclntAudioPlayerUtil
738 CTestMmfAclntAudioPlayPausePlayTest(const TDesC& aTestName, const TDesC& aSectName);
739 static CTestMmfAclntAudioPlayPausePlayTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
740 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
746 * @class CTestMmfAclntAudioPlayVolume
749 class CTestMmfAclntAudioPlayVolume : public CTestMmfAclntAudioPlayerUtil
752 CTestMmfAclntAudioPlayVolume(const TDesC& aTestName, const TDesC& aSectName, const TInt aVolume,TBool aNegativeTest);
753 static CTestMmfAclntAudioPlayVolume* NewL(const TDesC& aTestName, const TDesC& aSectName, const TInt aVolume=-1, TBool aNegativeTest = EFalse);
754 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
762 * test audio player repeat play
764 * @class CTestMmfAclntAudioRepeat
767 class CTestMmfAclntAudioRepeat : public CTestMmfAclntAudioPlayerUtil
770 CTestMmfAclntAudioRepeat(const TDesC& aTestName, const TDesC& aSectName);
771 static CTestMmfAclntAudioRepeat* NewL(const TDesC& aTestName, const TDesC& aSectName);
772 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
779 * @class CTestMmfAclntAudioBalance
782 class CTestMmfAclntAudioBalance : public CTestMmfAclntAudioPlayerUtil
785 CTestMmfAclntAudioBalance(const TDesC& aTestName, const TDesC& aSectName, const TInt aValue, const TInt aExpectedError);
786 static CTestMmfAclntAudioBalance* NewL(const TDesC& aTestName, const TDesC& aSectName, const TInt aExpectedError, const TInt aValue);//=-1,);
787 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
795 * test audio duration
797 * @class CTestMmfAclntAudioDuration
800 class CTestMmfAclntAudioDuration : public CTestMmfAclntAudioPlayerUtil
803 CTestMmfAclntAudioDuration(const TDesC& aTestName, const TDesC& aSectName);
804 static CTestMmfAclntAudioDuration* NewL(const TDesC& aTestName, const TDesC& aSectName);
805 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
810 * test audio postions
812 * @class CTestMmfAclntAudioPosition
815 class CTestMmfAclntAudioPosition : public CTestMmfAclntAudioPlayerUtil
818 CTestMmfAclntAudioPosition(const TDesC& aTestName, const TDesC& aSectName, const TTimeIntervalMicroSeconds& aPosition);
819 static CTestMmfAclntAudioPosition* NewL(const TDesC& aTestName, const TDesC& aSectName, const TTimeIntervalMicroSeconds& aPosition);
820 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
823 TTimeIntervalMicroSeconds iPosition;
827 * test audio play window
829 * @class CTestMmfAclntAudioPlayWindow
832 class CTestMmfAclntAudioPlayWindow : public CTestMmfAclntAudioPlayerUtil
835 CTestMmfAclntAudioPlayWindow(const TDesC& aTestName, const TDesC& aSectName, const TBool aNegative);
836 static CTestMmfAclntAudioPlayWindow* NewL(const TDesC& aTestName, const TDesC& aSectName, const TBool aNegative = EFalse);
837 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
845 * @class CTestMmfAclntAudioType
848 class CTestMmfAclntAudioType : public CTestMmfAclntAudioPlayerUtil
851 CTestMmfAclntAudioType(const TDesC& aTestName, const TDesC& aSectName);
852 static CTestMmfAclntAudioType* NewL(const TDesC& aTestName, const TDesC& aSectName);
853 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
859 * @class CTestMmfAclntAudioRamp
862 class CTestMmfAclntAudioRamp : public CTestMmfAclntAudioPlayerUtil
865 CTestMmfAclntAudioRamp(const TDesC& aTestName, const TDesC& aSectName);
866 static CTestMmfAclntAudioRamp* NewL(const TDesC& aTestName, const TDesC& aSectName);
867 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
873 * @class CTestMmfAclntAudioMeta
876 class CTestMmfAclntAudioMeta : public CTestMmfAclntAudioPlayerUtil
879 CTestMmfAclntAudioMeta(const TDesC& aTestName, const TDesC& aSectName);
880 static CTestMmfAclntAudioMeta* NewL(const TDesC& aTestName, const TDesC& aSectName);
881 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
885 * close and then open the audio clip
887 * @class CTestMmfAclntAudioCloseOpen
890 class CTestMmfAclntAudioCloseOpen : public CTestMmfAclntAudioPlayerUtil
893 CTestMmfAclntAudioCloseOpen(const TDesC& aTestName, const TDesC& aSectName);
894 static CTestMmfAclntAudioCloseOpen* NewL(const TDesC& aTestName, const TDesC& aSectName);
895 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
899 * query audio formats
901 * @class CTestMmfAclntAudioQuery
904 class CTestMmfAclntAudioQuery : public CTestMmfAclntAudioPlayerUtil
907 CTestMmfAclntAudioQuery(const TDesC& aTestName, const TDesC& aSectName);
908 static CTestMmfAclntAudioQuery* NewL(const TDesC& aTestName, const TDesC& aSectName);
909 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
916 * @class CTestMmfAclntAudioBitRate
920 class CTestMmfAclntAudioBitRate : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
923 static CTestMmfAclntAudioBitRate* NewL(const TDesC& aTestName,const TDesC& aKeyName1, const TDesC& aKeyName2);
924 virtual TVerdict DoTestStepL();
925 virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
926 virtual void MapcPlayComplete(TInt aError);
929 CTestMmfAclntAudioBitRate(const TDesC& aTestName,const TDesC& aKeyName1, const TDesC& aKeyName2);
932 TBuf<KNameBufSize> iKeyFileName; // Key name for retrieving filename
933 TBuf<KNameBufSize> iKeyBitRateName; // Key name for retrieving bit rate
934 TTimeIntervalMicroSeconds iDuration;// Stores duration of audio
935 TInt iError; // Stores error values for testing
936 TInt iExpectedBitRate; // Expected bps of the file
942 * @class CTestMmfAclntPriority
945 class CTestMmfAclntPriority : public CTestMmfAclntStep, public MCallbackHandlerObserver, public MDelayedMethodCall
948 virtual TVerdict DoTestStepL();
949 void MchoComplete(TInt aID, TInt aError);
950 static CTestMmfAclntPriority* NewL(const TDesC& aTestName, const TDesC& aSectName, const TMdaPriority aPriority);
951 static CTestMmfAclntPriority* NewL(const TDesC& aTestName, const TDesC& aSectName);
953 //Used to start playing file 0 after file 1 has already started
954 void DelayedMethodCallL();
956 CTestMmfAclntPriority(const TDesC& aTestName, const TDesC& aSectName, const TMdaPriority aPriority);
957 CTestMmfAclntPriority(const TDesC& aTestName, const TDesC& aSectName);
960 CMdaAudioPlayerUtility* audioUtil[2];
963 TInt iCallbackError[2];
967 TMdaPriority iPriority;
968 TBool iPriorityManual;
969 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
979 * Play with no loaded sound file.
981 * @class CTestMmfAclntNoLoad
984 class CTestMmfAclntNoLoad : public CTestMmfAclntAudioPlayerUtil
988 CTestMmfAclntNoLoad(const TDesC& aTestName, const TDesC& aSectName);
989 static CTestMmfAclntNoLoad* NewL(const TDesC& aTestName, const TDesC& aSectName);
990 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
991 virtual TVerdict DoTestStepL();
995 * Audio clip - Delete object before play operation has completed.
997 * @class CTestMmfAclntDeletePlay
1000 class CTestMmfAclntDeletePlay : public CTestMmfAclntAudioPlayerUtil
1003 CTestMmfAclntDeletePlay(const TDesC& aTestName, const TDesC& aSectName);
1004 static CTestMmfAclntDeletePlay* NewL(const TDesC& aTestName, const TDesC& aSectName);
1005 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
1009 * Open new file while audio player is playing.
1011 * @class CTestMmfAclntPlayPlay
1014 class CTestMmfAclntPlayPlay : public CTestMmfAclntAudioPlayerUtil
1017 CTestMmfAclntPlayPlay(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
1018 static CTestMmfAclntPlayPlay* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
1019 virtual TVerdict DoTestL(CMdaAudioPlayerUtility* aPlayer);
1021 TBuf<KNameBufSize> iKeyName; // Key name for retrieving filename
1025 * Play using a corrupt descriptor.
1027 * @class CTestMmfAclntCorruptDes
1030 class CTestMmfAclntCorruptDes : public CTestMmfAclntStep, public MMdaAudioPlayerCallback
1033 CTestMmfAclntCorruptDes(const TDesC& aTestName, const TDesC& aSectName);
1034 virtual TVerdict DoTestStepL();
1035 virtual TVerdict DoTestStepPreambleL();
1036 virtual TVerdict DoTestStepPostambleL();
1037 // from MMdaAudioPlayerCallback
1038 virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
1039 virtual void MapcPlayComplete(TInt aError);
1044 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename