mmlibs/mmfw/tsrc/mmfunittest/aclnt/TSU_MMF_ACLNT_01/TestStepAudInStream.h
author hgs
Tue, 02 Nov 2010 12:28:51 +0000
changeset 6 fe9d1bf55678
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
// All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
// Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
// Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
// Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
// TestStepAudInStream.cpp
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
// This file contains testing steps for the Unit
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
// test of the MMF 'Deprecated' Audio Clients.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
// Tests opening sounds of various formats
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
// from a file with various parameters and constructor calls
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
// 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
#ifndef __TEST_STEP_AUD_IN_STREAM__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
#define __TEST_STEP_AUD_IN_STREAM__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
#include "TestStepUnitMMFAudClient.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
#include <mdaaudioinputstream.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
#include <mdaaudiooutputstream.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
#include <mdaaudiosampleplayer.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
const TInt KRecBufferSize = 1024;   // use 1K buffer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
// Note, increasing the number of buffers can fail the testframework with KErrNoMemory
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
const TInt KRecNumBuffer = 15; // buffer to store data read from file	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
// parameter structure for conversion tests
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
class TStreamInConvParameters
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
	{	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
	const TText* iTestName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
	TUint32 iEncoding;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
// base class for the audio Input stream tests
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
class CTestStepAudInStream : public CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
							 public MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
{													           
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
	static CTestStepAudInStream* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
	~CTestStepAudInStream();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
	void ProcessDataL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
	CTestStepAudInStream();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
	void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
	void StartReadL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
	CMMFMdaAudioInputStream*	iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
	RFs						iFs;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
	RFile					iFile;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
	TBuf8<KRecBufferSize>		iBufferList[KRecNumBuffer];
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
	TInt					iStartBuf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
	TInt					iEndBuf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
	TInt					iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
	class CWriteBufferActive : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
		friend class CTestStepAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
	public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
		CWriteBufferActive();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
		~CWriteBufferActive();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
		virtual void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
		virtual void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
		void Write(const TDesC8& /*aBuffer*/);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
	public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
		CTestStepAudInStream*	iParent;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
		};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
	CWriteBufferActive*		iWriteBufferActive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
friend class CWriteBufferActive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
 * New Input stream
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
class CTestStepAudInStreamNew :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
								public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
	static CTestStepAudInStreamNew* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
	CTestStepAudInStreamNew();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
	~CTestStepAudInStreamNew();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
	CMMFMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
 * Input stream Set Audio properties
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
class CTestStepAudInStreamSetProp :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
										public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
	static CTestStepAudInStreamSetProp* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
	CTestStepAudInStreamSetProp();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
	~CTestStepAudInStreamSetProp();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
	CMMFMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
 * Input stream Open
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
class CTestStepAudInStreamOpen :	public	CTestStepAudInStream
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
	static CTestStepAudInStreamOpen* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
	CTestStepAudInStreamOpen();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
	~CTestStepAudInStreamOpen();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
 * Input stream Max/Set/(get) Gain
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
class CTestStepAudInStreamSetGain :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
									public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
	static CTestStepAudInStreamSetGain* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
	CTestStepAudInStreamSetGain();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
	~CTestStepAudInStreamSetGain();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
	CMMFMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
 * Input stream Gain
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
class CTestStepAudInStreamGain :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
									public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
	static CTestStepAudInStreamGain* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
	CTestStepAudInStreamGain();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
	~CTestStepAudInStreamGain();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
	CMMFMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
 * Input stream MaxGain
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
class CTestStepAudInStreamMaxGain :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
									public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
	static CTestStepAudInStreamMaxGain* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
	CTestStepAudInStreamMaxGain();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
	~CTestStepAudInStreamMaxGain();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
	CMMFMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
 * Input stream Set/(get) Balance
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
class CTestStepAudInStreamSetBalance :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
										public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
	static CTestStepAudInStreamSetBalance* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
	CTestStepAudInStreamSetBalance();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
	~CTestStepAudInStreamSetBalance();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
	CMMFMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
 * Input stream Balance
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   310
class CTestStepAudInStreamBalance :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   311
										public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   312
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   313
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   314
	static CTestStepAudInStreamBalance* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   315
	CTestStepAudInStreamBalance();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   316
	~CTestStepAudInStreamBalance();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   317
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   318
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   319
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   320
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   321
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   322
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   323
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   324
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   325
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   326
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   327
	CMMFMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   328
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   329
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   330
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   331
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   332
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   333
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   334
 * Input stream Set Priority
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   335
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   336
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   337
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   338
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   339
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   340
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   341
class CTestStepAudInStreamSetPrior :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   342
										public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   343
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   344
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   345
	static CTestStepAudInStreamSetPrior* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   346
	CTestStepAudInStreamSetPrior();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   347
	~CTestStepAudInStreamSetPrior();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   348
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   349
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   350
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   351
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   352
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   353
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   354
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   355
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   356
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   357
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   358
	CMMFMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   359
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   360
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   361
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   362
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   363
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   364
 * Input stream Write
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   365
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   366
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   367
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   368
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   369
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   370
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   371
class CTestStepAudInStreamRead :	public	CTestStepAudInStream, public MMdaAudioOutputStreamCallback, public MMdaAudioPlayerCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   372
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   373
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   374
	static CTestStepAudInStreamRead* NewL(TUint aTestIndex);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   375
	CTestStepAudInStreamRead(TUint aTestIndex);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   376
	~CTestStepAudInStreamRead();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   377
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   378
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   379
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   380
public: // from MMdaAudioOutputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   381
	virtual void MaoscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   382
	virtual void MaoscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   383
	virtual void MaoscPlayComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   384
		//from MMdaAudioPlayerCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   385
	virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   386
	virtual void MapcPlayComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   387
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   388
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   389
	TBool iIsPlaying;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   390
	const TStreamInConvParameters* iTestParameters;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   391
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   392
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   393
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   394
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   395
 * Input stream Stop
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   396
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   397
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   398
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   399
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   400
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   401
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   402
class CTestStepAudInStreamStop :	public	CTestStepAudInStream
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   403
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   404
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   405
	static CTestStepAudInStreamStop* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   406
	CTestStepAudInStreamStop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   407
	~CTestStepAudInStreamStop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   408
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   409
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   410
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   411
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   412
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   413
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   414
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   415
 * Input stream Position
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   416
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   417
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   418
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   419
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   420
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   421
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   422
class CTestStepAudInStreamPosition :	public	CTestStepAudInStream
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   423
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   424
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   425
	static CTestStepAudInStreamPosition* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   426
	CTestStepAudInStreamPosition();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   427
	~CTestStepAudInStreamPosition();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   428
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   429
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   430
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   431
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   432
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   433
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   434
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   435
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   436
 * Input stream GetBytes
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   437
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   438
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   439
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   440
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   441
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   442
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   443
class CTestStepAudInStreamGetBytes :	public	CTestStepAudInStream
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   444
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   445
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   446
	static CTestStepAudInStreamGetBytes* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   447
	CTestStepAudInStreamGetBytes();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   448
	~CTestStepAudInStreamGetBytes();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   449
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   450
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   451
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   452
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   453
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   454
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   455
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   456
 * Input stream DataType
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   457
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   458
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   459
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   460
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   461
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   462
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   463
class CTestStepAudInStreamDataType :	public	CTestStepAudInStream
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   464
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   465
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   466
	static CTestStepAudInStreamDataType* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   467
	CTestStepAudInStreamDataType();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   468
	~CTestStepAudInStreamDataType();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   469
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   470
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   471
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   472
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   473
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   474
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   475
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   476
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   477
 * Open sound specifying a Descriptor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   478
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   479
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   480
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   481
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   482
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   483
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   484
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   485
class CTestStepPlayerNewDescPlayer :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   486
										public  MMdaAudioPlayerCallback	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   487
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   488
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   489
	static CTestStepPlayerNewDescPlayer* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   490
	CTestStepPlayerNewDescPlayer();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   491
	~CTestStepPlayerNewDescPlayer();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   492
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   493
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   494
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   495
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   496
	// from MMdaAudioPlayerCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   497
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   498
    virtual void MapcRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   499
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   500
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   501
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   502
	CMdaAudioPlayerUtility* iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   503
	HBufC8* iBuf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   504
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   505
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   506
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   507
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   508
 * Open sound specifying the priority preference
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   509
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   510
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   511
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   512
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   513
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   514
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   515
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   516
class CTestStepPlayerNewPriorPrefer :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   517
										public	MMdaAudioPlayerCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   518
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   519
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   520
	static CTestStepPlayerNewPriorPrefer* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   521
	CTestStepPlayerNewPriorPrefer();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   522
	~CTestStepPlayerNewPriorPrefer();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   523
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   524
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   525
	// from MMdaAudioPlayerCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   526
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   527
    virtual void MapcRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   528
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   529
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   530
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   531
	TInt iTestCase;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   532
	CMdaAudioPlayerUtility* iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   533
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   534
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   535
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   536
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   537
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   538
 * New Input stream
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   539
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   540
 * DEF040281 - Audio input streaming crashes on completion on hardware device
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   541
 * (The crash was due to a missing destructor in CMdaAudioInputStream
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   542
 * which was causing a memory leak)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   543
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   544
class CTestStepAudInStreamMemLeak :	public	CTestStepUnitMMFAudClient,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   545
								public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   546
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   547
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   548
	static CTestStepAudInStreamMemLeak* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   549
	CTestStepAudInStreamMemLeak();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   550
	~CTestStepAudInStreamMemLeak();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   551
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   552
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   553
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   554
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   555
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   556
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   557
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   558
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   559
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   560
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   561
	CMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   562
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   563
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   564
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   565
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   566
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   567
 /*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   568
 * Test new audio stream apis to provide bit rate support
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   569
 * Reference DevSound does not support this custom interface to results are always KErrNotSupported
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   570
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   571
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   572
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   573
class RTestStepAudInStreamBitRate :	public	RTestStep,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   574
							public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   575
									
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   576
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   577
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   578
	RTestStepAudInStreamBitRate();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   579
	// Setup states	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   580
	void CreateTestStatesL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   581
	// Cleanup
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   582
	void Close();	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   583
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   584
	TVerdict OpenL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   585
	TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   586
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   587
	void TestBitRates();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   588
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   589
	void SetSectionFailed(const TDesC& aMessage);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   590
	void SetSectionPassed(const TDesC& aMessage);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   591
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   592
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   593
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   594
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   595
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   596
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   597
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   598
	TBool iTestVerdictSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   599
	CMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   600
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   601
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   602
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   603
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   604
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   605
 * Input stream test bitrate interface
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   606
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   607
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   608
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   609
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   610
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   611
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   612
class CTestStepAudInStreamTestBitrate :	public	CTestStepAudInStream
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   613
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   614
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   615
	static CTestStepAudInStreamTestBitrate* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   616
	CTestStepAudInStreamTestBitrate();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   617
	~CTestStepAudInStreamTestBitrate();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   618
	virtual enum TVerdict DoTestStepPreambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   619
	virtual enum TVerdict DoTestStepPostambleL(void);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   620
	virtual TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   621
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   622
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   623
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   624
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   625
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   626
 * Input stream test bitrate interface OOM
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   627
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   628
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   629
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   630
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   631
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   632
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   633
class RTestStepAudInStreamBitRateOOM :	public	RTestStep,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   634
										public	MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   635
									
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   636
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   637
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   638
	~RTestStepAudInStreamBitRateOOM();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   639
	TVerdict DoTestStepL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   640
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   641
	TVerdict TestBitRateInterfaceL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   642
	static RTestStepAudInStreamBitRateOOM* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   643
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   644
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   645
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   646
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   647
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   648
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   649
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   650
	RTestStepAudInStreamBitRateOOM();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   651
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   652
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   653
	CMMFMdaAudioInputStream* iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   654
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   655
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   656
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   657
// RAsyncTestStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   658
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   659
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   660
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   661
 * Base Async Test class
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   662
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   663
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   664
class CFsmTrigger;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   665
NONSHARABLE_CLASS (CTestStepAudInStreamAsyncTestStep):	public RAsyncTestStep,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   666
					   									public MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   667
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   668
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   669
	CTestStepAudInStreamAsyncTestStep(CTestSuite* aSuite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   670
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   671
	// state machine
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   672
	virtual void Fsm() = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   673
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   674
	// from RAsyncTestStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   675
	virtual void KickoffTestL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   676
	virtual void CloseTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   677
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   678
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   679
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   680
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   681
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   682
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   683
protected:	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   684
 	enum TTestState
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   685
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   686
		EStateOpen = 0,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   687
		EStateRecordInit,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   688
		EStateRecord,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   689
		EStateRequestStop,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   690
		EStateStopTest,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   691
		EStateStopping
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   692
		};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   693
	TTestState iTestState;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   694
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   695
	static const TUint KNumBuffers = 4; //4 buffers are recorded usually in the given time.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   696
	static const TUint KBufferSize = 4096;//Default buffer size for any pcm recording
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   697
	TBuf8<KBufferSize> iBufferList[KNumBuffers];
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   698
	TUint iBufferCount;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   699
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   700
	CMdaAudioInputStream*	iAudInStream;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   701
	// AO to invoke the Fsm
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   702
	CFsmTrigger* iTrigger;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   703
};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   704
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   705
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   706
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   707
 * Input stream Timer utility class
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   708
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   709
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   710
NONSHARABLE_CLASS (CFsmTrigger):	public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   711
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   712
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   713
	static CFsmTrigger* NewL(CTestStepAudInStreamAsyncTestStep& aObserver);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   714
	virtual ~CFsmTrigger();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   715
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   716
	// From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   717
	virtual void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   718
	virtual void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   719
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   720
	void StartTimer(TTimeIntervalMicroSeconds32 aDelay);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   721
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   722
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   723
	CFsmTrigger(CTestStepAudInStreamAsyncTestStep& aObserver);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   724
	void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   725
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   726
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   727
	RTimer iTimer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   728
	CTestStepAudInStreamAsyncTestStep& iObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   729
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   730
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   731
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   732
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   733
 * Input stream test RequestStop api
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   734
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   735
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   736
NONSHARABLE_CLASS (CTestStepAudInStreamTestReqStop):	public CTestStepAudInStreamAsyncTestStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   737
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   738
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   739
	static CTestStepAudInStreamTestReqStop* NewL(CTestSuite* aSuite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   740
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   741
	// from CTestStepAudInStreamAsyncTest
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   742
	void Fsm();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   743
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   744
	// from RAsyncTestStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   745
	void KickoffTestL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   746
	void CloseTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   747
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   748
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   749
	void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   750
	void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   751
	void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   752
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   753
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   754
	CTestStepAudInStreamTestReqStop(CTestSuite* aSuite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   755
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   756
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   757
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   758
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   759
 * Input stream test RequestStop then Stop apis
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   760
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   761
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   762
NONSHARABLE_CLASS (CTestStepAudInStreamTestReqStopThenStop):	public CTestStepAudInStreamAsyncTestStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   763
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   764
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   765
	static CTestStepAudInStreamTestReqStopThenStop* NewL(CTestSuite* aSuite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   766
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   767
	// from RAsyncTestStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   768
	void KickoffTestL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   769
	void CloseTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   770
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   771
	// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   772
	virtual void MaiscOpenComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   773
	virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   774
	virtual void MaiscRecordComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   775
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   776
	// from CTestStepAudInStreamAsyncTest
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   777
	virtual void Fsm();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   778
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   779
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   780
	CTestStepAudInStreamTestReqStopThenStop(CTestSuite* aSuite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   781
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   782
	/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   783
	 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   784
	 * Input stream test calling Stop from MaiscBufferCopied
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   785
	 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   786
	 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   787
NONSHARABLE_CLASS (CTestStepAudInStreamTestStopFromBufferCopied):	public CTestStepAudInStreamAsyncTestStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   788
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   789
	public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   790
		static CTestStepAudInStreamTestStopFromBufferCopied* NewL(CTestSuite* aSuite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   791
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   792
		// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   793
		virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   794
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   795
		// from CTestStepAudInStreamAsyncTest
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   796
		virtual void Fsm();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   797
	private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   798
		CTestStepAudInStreamTestStopFromBufferCopied(CTestSuite* aSuite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   799
		};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   800
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   801
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   802
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   803
 * Input stream Destroy
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   804
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   805
 * @lib "TSU_MMF_ACLNT_01.lib"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   806
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   807
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   808
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   809
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   810
NONSHARABLE_CLASS (CTestStepAudInStreamDestroy):	public CTestStepAudInStreamAsyncTestStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   811
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   812
	public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   813
		static CTestStepAudInStreamDestroy* NewL(CTestSuite* aSuite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   814
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   815
		// from MMdaAudioInputStreamCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   816
		virtual void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   817
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   818
		// from CTestStepAudInStreamAsyncTest
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   819
		virtual void Fsm();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   820
	private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   821
		CTestStepAudInStreamDestroy(CTestSuite* aSuite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   822
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   823
		};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   824
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   825
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   826
#endif //(__TEST_STEP_AUD_IN_STREAM__)