Update contrib.
2 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
3 // All rights reserved.
4 // This component and the accompanying materials are made available
5 // under the terms of "Eclipse Public License v1.0"
6 // which accompanies this distribution, and is available
7 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 // Initial Contributors:
10 // Nokia Corporation - initial contribution.
15 // Header file: Basic tests.
24 #ifndef TESTCONVERTER_H__
25 #define TESTCONVERTER_H__
27 #include "TSI_MMFACLNT.h"
29 //Original duration = 8359176 Us with 92160 bytes of 8bit per sample data + 44 header
30 //Window start = 2089794 Us, aligned to a frame = 1857596 Us
31 //Window end = 6269382 Us, aligned to a frame =6315828 Us
32 //Therefore window = 4179588, aligned to a frames =4458231 Us
34 //New file = 4458231/8359176 * 92160 * 16bits(2) + 44 = 98348
35 const TInt KConverterWindowFileSize = 98348;
38 //Add to KConverterWindowFileSize a full convert of the source file:-
39 //=92160 * 16bits(2) + KConverterWindowFileSize
40 const TInt KConverterWindowPlusNormalFileSize = 282668;
44 * Set config destination clip
46 * @class CTestMmfAclntConConfig
49 class CTestMmfAclntConConfig : public CTestMmfAclntCodecTest, public MMdaObjectStateChangeObserver
52 CTestMmfAclntConConfig(const TDesC& aTestName, const TTestFormat aFormat, const TBool aNegative);
53 static CTestMmfAclntConConfig* NewL(const TDesC& aTestName, const TTestFormat aFormat, const TBool aNegative = EFalse);
54 virtual TVerdict DoTestStepL();
55 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
56 virtual TVerdict DoTestStepPreambleL();
57 // from MMdaObjectStateChangeObserver
58 void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
61 virtual void GetKeyName(TDes& aDes);
64 TBool iThisIsNegativeTest;
71 * @class CTestMmfAclntDoConv
74 class CTestMmfAclntDoConv : public CTestMmfAclntStep, public MMdaObjectStateChangeObserver
85 CTestMmfAclntDoConv(const TDesC& aTestName, const TDesC& aSectName,
86 const TDesC& aKeyName, const TDesC& aSectName2,
87 const TDesC& aKeyName2,
88 TInt aBits, FormatSpec aFormat);
90 //aBits 0 = TMdaPcmWavCodec::E8BitPcm
91 // 1 = TMdaPcmWavCodec::E16BitPcm
92 // -1 - UnsupportedCodec (negative test)
93 static CTestMmfAclntDoConv* NewL(const TDesC& aTestName,
94 const TDesC& aSectName, const TDesC& aKeyName,
95 const TDesC& aSectName2, const TDesC& aKeyName2,
96 TInt aBits, FormatSpec aFormat);
97 virtual TVerdict DoTestStepL();
98 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
99 // from MMdaObjectStateChangeObserver
100 void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
107 TBuf<KNameBufSize> iSectName;
108 TBuf<KNameBufSize> iKeyName;
109 TBuf<KNameBufSize> iSectName2;
110 TBuf<KNameBufSize> iKeyName2;
118 * Closes an open file then opens a second file
120 * @class CTestMmfAclntConCloseOpen
123 class CTestMmfAclntConCloseOpen: public CTestMmfAclntConConfig
126 CTestMmfAclntConCloseOpen(const TDesC& aTestName) ;
127 ~CTestMmfAclntConCloseOpen(){} ;
128 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
129 static CTestMmfAclntConCloseOpen* NewL(const TDesC& aTestName);
133 * Set convert window. Enquire window. Delete window
135 * @class CTestMmfAclntConWindow
138 class CTestMmfAclntConWindow: public CTestMmfAclntConConfig
141 CTestMmfAclntConWindow(const TDesC& aTestName) ;
142 ~CTestMmfAclntConWindow(){} ;
143 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
144 static CTestMmfAclntConWindow* NewL(const TDesC& aTestName);
146 TVerdict CheckFileSize(const TDesC& aFilename, const TInt aExpectedSize);
153 * @class CTestMmfAclntConDuration
156 class CTestMmfAclntConDuration: public CTestMmfAclntConConfig
159 CTestMmfAclntConDuration(const TDesC& aTestName) ;
160 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
161 void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState,
162 TInt aCurrentState, TInt aErrorCode) ;
163 static CTestMmfAclntConDuration* NewL(const TDesC& aTestName);
165 virtual void GetKeyName(TDes& aDes);
169 * Set position and enquire position
171 * @class CTestMmfAclntConPosition
174 class CTestMmfAclntConPosition: public CTestMmfAclntConConfig
177 CTestMmfAclntConPosition(const TDesC& aTestName, const TTimeIntervalMicroSeconds aPosition);
178 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
179 static CTestMmfAclntConPosition* NewL(const TDesC& aTestName, const TTimeIntervalMicroSeconds aPosition);
182 void GetKeyName(TDes& aDes);
184 TTimeIntervalMicroSeconds iPosition;
189 * Set config destination clip
191 * @class CTestMmfAclntConQuery
194 class CTestMmfAclntConQuery: public CTestMmfAclntConConfig
197 CTestMmfAclntConQuery(const TDesC& aTestName);
198 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
199 static CTestMmfAclntConQuery* NewL(const TDesC& aTestName);
200 TVerdict DoTestStepL();
202 void GetKeyName(TDes& aDes);
210 * Conversion utility - Delete object before conversion operation has completed.
212 * @class CTestMmfAclntDelete
215 class CTestMmfAclntDelete : public CTestMmfAclntStep, public MMdaObjectStateChangeObserver
218 CTestMmfAclntDelete() ;
219 virtual TVerdict DoTestStepL();
220 // MMdaObjectStateChangeObserver
221 void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
229 * Open new file while audio converter is converting. Open a new audio file.
231 * @class CTestMmfAclntOpenWhileConvert
234 class CTestMmfAclntOpenWhileConvert : public CTestMmfAclntConConfig
237 CTestMmfAclntOpenWhileConvert(const TDesC& aTestName) ;
238 static CTestMmfAclntOpenWhileConvert* NewL(const TDesC& aTestName);
239 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
242 * @class CTestMmfAclntConvertDestBitRate
245 class CTestMmfAclntConvertDestBitRate : public CTestMmfAclntConConfig
248 CTestMmfAclntConvertDestBitRate(const TDesC& aTestName, TBool aNegative) ;
249 static CTestMmfAclntConvertDestBitRate* NewL(const TDesC& aTestName, TBool aNegative) ;
250 TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
253 void GetKeyName(TDes& aDes);
258 * @class CTestMmfAclntConvertDestDataType
260 class CTestMmfAclntConvertDestDataType : public CTestMmfAclntConConfig
263 CTestMmfAclntConvertDestDataType(const TDesC& aTestName, TBool aNegative);
264 static CTestMmfAclntConvertDestDataType* NewL(const TDesC& aTestName, TBool aNegative);
265 TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
267 void GetKeyName(TDes& aDes);
274 * @class CTestMmfAclntConvertDestFormat
276 class CTestMmfAclntConvertDestFormat : public CTestMmfAclntConConfig
279 CTestMmfAclntConvertDestFormat(const TDesC& aTestName, TBool aNegative);
280 static CTestMmfAclntConvertDestFormat* NewL(const TDesC& aTestName, TBool aNegative);
281 TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
283 void GetKeyName(TDes& aDes);
288 * @class CTestMmfAclntConvertDestSampleRate
290 class CTestMmfAclntConvertDestSampleRate : public CTestMmfAclntConConfig
293 CTestMmfAclntConvertDestSampleRate(const TDesC& aTestName, TBool aNegative);
294 static CTestMmfAclntConvertDestSampleRate* NewL(const TDesC& aTestName, TBool aNegative);
295 TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
296 TVerdict DoTestStepL() ;
299 void GetKeyName(TDes& aDes);
300 void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState,
305 * @class CTestMmfAclntConvertDestNumberOfChannels
307 class CTestMmfAclntConvertDestNumberOfChannels : public CTestMmfAclntConConfig
310 CTestMmfAclntConvertDestNumberOfChannels(const TDesC& aTestName, TBool aNegative);
311 static CTestMmfAclntConvertDestNumberOfChannels* NewL(const TDesC& aTestName, TBool aNegative);
312 TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
314 void GetKeyName(TDes& aDes);
318 * @class CTestMmfAclntConvertSourceInfo
320 class CTestMmfAclntConvertSourceInfo : public CTestMmfAclntConConfig
323 CTestMmfAclntConvertSourceInfo(const TDesC& aTestName, TBool aNegative);
324 static CTestMmfAclntConvertSourceInfo* NewL(const TDesC& aTestName, TBool aNegative);
325 TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
327 void GetKeyName(TDes& aDes);
330 * Audio convert croping.
332 * @class CTestMmfAclntConvertCrop
335 class CTestMmfAclntConvertCrop : public CTestMmfAclntConConfig
338 CTestMmfAclntConvertCrop(const TDesC& aTestName, const TBool aCropToEnd, TBool aNegative) ;
339 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
340 static CTestMmfAclntConvertCrop* NewL(const TDesC& aTestName, const TBool aCropToEnd, TBool aNegative);
341 virtual TVerdict DoTestStepL() ;
342 virtual TVerdict DoTestStepPostambleL();
343 // from MMdaObjectStateChangeObserver
344 void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
353 * Set maximum length of file in bytes and convert
355 * @class CTestMmfAclntConvertLength
358 class CTestMmfAclntConvertLength: public CTestMmfAclntConConfig
361 CTestMmfAclntConvertLength(const TDesC& aTestName, TBool aNegative) ;
362 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConvertUtil);
363 static CTestMmfAclntConvertLength* NewL(const TDesC& aTestName, TBool aNegative);
369 * @class CTestMmfAclntConvertRepeat
372 class CTestMmfAclntConvertRepeat : public CTestMmfAclntConConfig
375 CTestMmfAclntConvertRepeat(const TDesC& aTestName, TBool aNegative) ;
376 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConvertUtil);
377 static CTestMmfAclntConvertRepeat* NewL(const TDesC& aTestName, TBool aNegative);
381 * Audio convert Stoping.
383 * @class CTestMmfAclntConvertStop
386 class CTestMmfAclntConvertStop : public CTestMmfAclntConConfig
389 CTestMmfAclntConvertStop(const TDesC& aTestName, TBool aNegative) ;
390 virtual TVerdict DoTestL(CMdaAudioConvertUtility* aConverter);
391 static CTestMmfAclntConvertStop* NewL(const TDesC& aTestName, TBool aNegative);
392 TVerdict DoTestStepL() ;
393 // from MMdaObjectStateChangeObserver
394 void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
398 * Open a descriptor and convert
400 * @class CTestMmfAclntConvertDes
403 class CTestMmfAclntConvertDes : public CTestMmfAclntCodecTest, public MMdaObjectStateChangeObserver, public MMdaAudioPlayerCallback
406 CTestMmfAclntConvertDes(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTestFormat aFormat = ENone, const TBool aCreateDes = EFalse) ;
407 virtual TVerdict DoTestStepL();
408 static CTestMmfAclntConvertDes* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTestFormat aFormat = ENone, const TBool aCreateDes = EFalse);
409 static CTestMmfAclntConvertDes* NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, const TTestFormat aFormat = ENone, const TBool aCreateDes = EFalse);
410 virtual TVerdict DoTestStepPreambleL();
411 virtual TVerdict DoTestStepPostambleL();
412 // from MMdaObjectStateChangeObserver
413 virtual void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
415 // from MMdaAudioPlayerCallback
416 virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
417 virtual void MapcPlayComplete(TInt aError);
426 TBuf<32> iSectName; // Section name for retrieving filename
427 TBuf<32> iKeyName; // Key name for retrieving filename
428 TUint iDataLengthSource; // source data length - not including header
431 TUint iFileSizeSink; // expected file size including header
432 TTimeIntervalMicroSeconds iDuration;
439 * @class CTestMmfAclntConvertUrl
442 class CTestMmfAclntConvertUrl : public CTestMmfAclntConConfig
445 CTestMmfAclntConvertUrl(const TDesC& aTestName, TBool aNegative) ;
446 virtual TVerdict DoTestStepL();
447 static CTestMmfAclntConvertUrl* NewL(const TDesC& aTestName, TBool aNegative);