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