mmlibs/mmfw/src/Client/Audio/mmfclientaudioconverter.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
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
#ifndef __MMFCLIENTAUDIOCONVERTER_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
#define __MMFCLIENTAUDIOCONVERTER_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
#include <e32std.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
#include <e32base.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
#include <mdaaudiosampleeditor.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
#include <mmf/server/mmffile.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
#include <mmf/server/mmfdes.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
#include <mmf/server/mmfurl.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
#include <mmf/common/mmfcontroller.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
#include "mmfclientutility.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
Concrete implementation of the CMdaAudioConvertUtility API.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
@see CMdaAudioConvertUtility
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
class CMMFMdaAudioConvertUtility;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
NONSHARABLE_CLASS( CMMFMdaAudioConvertUtility ): public CBase,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
								   				 public MMMFControllerEventMonitorObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
								   				 public MMMFFindAndOpenControllerObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
friend class CMdaAudioConvertUtility;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
// for testing only
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
friend class CTestStepUnitMMFAudClient;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
	~CMMFMdaAudioConvertUtility();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
	void OpenL(const TDesC& aPrimaryFile, const TDesC& aSecondaryFile);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
	// Open existing file and new/existing secondary
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
	void OpenL(const TDesC& aPrimaryFile,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
			   TMdaClipLocation* aLocation,	// Normally file or descriptor
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
			   TMdaClipFormat* aFormat,		// Data format
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
			   TMdaPackage* aArg1 = NULL,	// Normally codec to use
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
			   TMdaPackage* aArg2 = NULL);	// Normally audio settings
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
	void OpenL(TMdaClipLocation* aPriLocation, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
			   TMdaClipLocation* aSecLocation, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
			   TMdaClipFormat* aPriFormat, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
			   TMdaClipFormat* aSecFormat, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
			   TMdaPackage* aPriArg1 = NULL, // Normally source codec to use
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
			   TMdaPackage* aPriArg2 = NULL, // Normally source audio settings
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
			   TMdaPackage* aSecArg1 = NULL, // Normally sink codec to use
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
			   TMdaPackage* aSecArg2 = NULL);// Normally sink audio settings
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
	// new controller based open
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
	void OpenL(TMdaClipLocation* aPriLocation, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
			   TMdaClipLocation* aSecLocation, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
			   TUid aControllerUid, // the controller to use
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
			   TUid aDestFormatUid,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
			   TFourCC aDestDataType);	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
	//from MMMFControllerEventMonitorObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
	void HandleEvent(const TMMFEvent& aEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
	// from MMMFFindAndOpenControllerObserver 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
	virtual void MfaocComplete(
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
		TInt& aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
		RMMFController* aController, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
		TUid aControllerUid, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
		TMMFMessageDestination* aSourceHandle, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
		TMMFMessageDestination* aSinkHandle);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
	void UseSharedHeap();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
	CMMFMdaAudioConvertUtility(CMdaAudioConvertUtility* aParent, MMdaObjectStateChangeObserver& aCallback);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
	void ConstructL(TInt aPriority, TInt aPref);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
	CMdaAudioClipUtility::TState State();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
	void Close();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
	void PlayL();		// N.B. ConvertL should be used in preference to PlayL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
	void RecordL();		// N.B. ConvertL should be used in preference to RecordL
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
	void ConvertL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
	void Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
	void CropL(TBool aCropToEnd = ETrue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
	void SetPosition(const TTimeIntervalMicroSeconds& aPosition);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
	const TTimeIntervalMicroSeconds& Position();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
	const TTimeIntervalMicroSeconds& RecordTimeAvailable();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
	const TTimeIntervalMicroSeconds& Duration();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
	void SetPlayWindow(const TTimeIntervalMicroSeconds& aStart, const TTimeIntervalMicroSeconds& aEnd);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
	void ClearPlayWindow();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
	void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
	void SetMaxWriteLength(TInt aMaxWriteLength /*= KMdaClipLocationMaxWriteLengthNone*/);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
	void SetPriority(TInt aPriority, TInt aPref);  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
	void CropL(const TTimeIntervalMicroSeconds & aCropBegin, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
			   const TTimeIntervalMicroSeconds & aCropEnd);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
	// Codec support
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
	void GetSupportedDestinationDataTypesL(RArray<TFourCC>& aSupportedDestinationDataTypes);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
	void SetSourceDataTypeL(TFourCC aDataType)	;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
	void SetDestinationDataTypeL(TFourCC aCodec);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
	TFourCC DestinationDataTypeL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
	TFourCC SourceDataTypeL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
	// Bit rate support	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
	void SetDestinationBitRateL(TUint aBitRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
	TUint DestinationBitRateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
	void GetSupportedConversionBitRatesL(RArray<TUint>& aSupportedBitRates);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
	TUint SourceBitRateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
	// Sample rate support
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
	void SetSourceSampleRateL(TUint aSampleRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
	void SetDestinationSampleRateL(TUint aSampleRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
	TUint DestinationSampleRateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
	void GetSupportedConversionSampleRatesL(RArray<TUint>& aSupportedSampleRates);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
	TUint SourceSampleRateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
	// Format support
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
	void SetSourceFormatL(TUid aRecordFormat);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
	void SetDestinationFormatL(TUid aFormatUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
	TUid DestinationFormatL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
	TUid SourceFormatL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
	// Number of channels
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
	void SetSourceNumberOfChannelsL(TUint aNumberOfChannels);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
	void SetDestinationNumberOfChannelsL(TUint aNumberOfChannels);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
	TUint DestinationNumberOfChannelsL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
	void GetSupportedConversionNumberOfChannelsL(RArray<TUint>& aSupportedNumChannels);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
	TUint SourceNumberOfChannelsL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
	const CMMFControllerImplementationInformation& ControllerImplementationInformationL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
	CMdaAudioConvertUtility* Parent() const;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
	void Reset();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
	TInt ControllerOpen();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
	void ConfigureSourceSinkL(TMdaClipLocation* aPriLocation, TMdaClipLocation* aSecLocation);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
	TInt SetThreadPriority(const TThreadPriority& aThreadPriority) const;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
	MMdaObjectStateChangeObserver& iCallback;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
	CMMFMdaObjectStateChangeObserverCallback* iAsyncCallback;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
	RMMFController iController;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
	CMMFControllerEventMonitor* iControllerEventMonitor;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
	// Source and sink handle info
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
	TMMFMessageDestination iSourceHandle;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
	TMMFMessageDestination iSinkHandle;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
	// Custom commands
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
	RMMFAudioControllerCustomCommands iAudioControllerCustomCommands;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
	RMMFAudioPlayControllerCustomCommands iAudioPlayControllerCustomCommands;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
	RMMFAudioRecordControllerCustomCommands iAudioRecordControllerCustomCommands;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
	TMMFPrioritySettings iPrioritySettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
	TTimeIntervalMicroSeconds iPosition;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
	TTimeIntervalMicroSeconds iPositionTemp;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
	TTimeIntervalMicroSeconds iDuration;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
	TTimeIntervalMicroSeconds iRecordTimeAvailable;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
	CMdaAudioClipUtility::TState iState;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
	// Convert window start and end times and whether it has been set
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
	TTimeIntervalMicroSeconds iConvertStart;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
	TTimeIntervalMicroSeconds iConvertEnd;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
	TBool iConvertWindowSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
	// parent class for callback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
	CMdaAudioConvertUtility* iParent;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
	RArray<TUid> iMediaIds;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
	// keeping track of cropped clip duration
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
	TBool iHasCropped;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
	TTimeIntervalMicroSeconds iCroppedDuration;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
	CMMFControllerImplementationInformation* iControllerImplementationInformation;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
	TUid iControllerUid;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
	// utility class to find and open a suitable controller asynchronously
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
	CMMFFindAndOpenController* iFindAndOpenController;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
	TUid iSourceFormatUid;		// for SetSourceFormat()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
	TUid iSinkFormatUid;		// for SetSinkFormat()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
	TFourCC iSourceDataType;	// for SetSourceDataType()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
	TFourCC iSinkDataType;		// for SetSinkDataType()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
	TInt iSourceSampleRate;		// for SetSourceSampleRateL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
	TInt iSinkSampleRate;		// for SetDestinationSampleRateL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
	TInt iSourceChannels;		// for SetSourceNumberOfChannelsL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
	TInt iSinkChannels;			// for SetDestinationNumberOfChannelsL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
#endif