devsound/hwdevapi/inc/TaskConfig.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
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
 @publishedPartner
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
 @released
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
#ifndef __TASKCONFIG_H__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
#define __TASKCONFIG_H__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
@publishedPartner
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
@released
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
TTaskSampleRate is a member of TTaskConfig which tells the HwDevice plugin the sample
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
rate of the audio data.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
enum TTaskSampleRate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
  	/** 8000 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
	ETask8000Hz  = 0x00000001,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
  	/** 11025 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
	ETask11025Hz = 0x00000002,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
  	/** 16000 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
	ETask16000Hz = 0x00000004,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
  	/** 22050 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
	ETask22050Hz = 0x00000008,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
  	/** 32000 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
	ETask32000Hz = 0x00000010,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
  	/** 44100 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
	ETask44100Hz = 0x00000020,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
  	/** 48000 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
	ETask48000Hz = 0x00000040,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
  	/** 88200 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
	ETask88200Hz = 0x00000080,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
  	/** 96000 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
	ETask96000Hz = 0x00000100,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
  	/** 12000 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
	ETask12000Hz = 0x00000200,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
  	/** 24000 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
	ETask24000Hz = 0x00000400,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
	/** 64000 Hz Sampling Rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
	ETask64000Hz = 0x00000800
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
@publishedPartner
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
@released
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
TTaskStereoMode is a member of TTaskConfig which tells the HwDevice plugin whether stereo audio
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
data is interleaved or not.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
enum TTaskStereoMode
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
  	/** Audio data is mono.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
	ETaskMono			= 0x00000001,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
  	/** Audio data is interleaved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
	ETaskInterleaved	= 0x00000002,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
  	/** Audio data is non-interleaved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
	ETaskNonInterleaved	= 0x00000004
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
@publishedPartner
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
@released
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
Used by the SetConfig() method to configure the sample rate and stereo mode of a CMMFHwDevice 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
plugin. The configuration of HwDevices is device specific.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
class TTaskConfig
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
	public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
		/** The rate of the audio data.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
		@see TTaskSampleRate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
	    */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
		TInt iRate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
		/** The type of stereo audio data.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
		@see TTaskStereoMode
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
		*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
		TInt iStereoMode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
		/** Uid for this TTaskConfig struct
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
		*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
		TInt iUid;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
@publishedPartner
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
@released
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
Extended version of TTaskConfig used by the SetConfig() method to configure the sample rate, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
stereo mode and number of channels of a CMdfHwDevice plugin. The configuration of HwDevices 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
is device specific.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
*/	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
class TTaskConfig2 : public TTaskConfig
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
	/** 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
	The number of channels.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
	TInt iNumberOfChannels;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
	};	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
#endif
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134