devsound/hwdevapi/inc/TaskConfig.h
changeset 0 40261b775718
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/devsound/hwdevapi/inc/TaskConfig.h	Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,134 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @publishedPartner
+ @released
+*/
+
+#ifndef __TASKCONFIG_H__
+#define __TASKCONFIG_H__
+
+/**
+@publishedPartner
+@released
+
+TTaskSampleRate is a member of TTaskConfig which tells the HwDevice plugin the sample
+rate of the audio data.
+*/
+enum TTaskSampleRate
+	{
+  	/** 8000 Hz Sampling Rate
+	*/
+	ETask8000Hz  = 0x00000001,
+  	/** 11025 Hz Sampling Rate
+	*/
+	ETask11025Hz = 0x00000002,
+  	/** 16000 Hz Sampling Rate
+	*/
+	ETask16000Hz = 0x00000004,
+  	/** 22050 Hz Sampling Rate
+	*/
+	ETask22050Hz = 0x00000008,
+  	/** 32000 Hz Sampling Rate
+	*/
+	ETask32000Hz = 0x00000010,
+  	/** 44100 Hz Sampling Rate
+	*/
+	ETask44100Hz = 0x00000020,
+  	/** 48000 Hz Sampling Rate
+	*/
+	ETask48000Hz = 0x00000040,
+  	/** 88200 Hz Sampling Rate
+	*/
+	ETask88200Hz = 0x00000080,
+  	/** 96000 Hz Sampling Rate
+	*/
+	ETask96000Hz = 0x00000100,
+  	/** 12000 Hz Sampling Rate
+	*/
+	ETask12000Hz = 0x00000200,
+  	/** 24000 Hz Sampling Rate
+	*/
+	ETask24000Hz = 0x00000400,
+	/** 64000 Hz Sampling Rate
+	*/
+	ETask64000Hz = 0x00000800
+	};
+
+/**
+@publishedPartner
+@released
+
+TTaskStereoMode is a member of TTaskConfig which tells the HwDevice plugin whether stereo audio
+data is interleaved or not.
+*/
+enum TTaskStereoMode
+	{
+  	/** Audio data is mono.
+	*/
+	ETaskMono			= 0x00000001,
+  	/** Audio data is interleaved.
+	*/
+	ETaskInterleaved	= 0x00000002,
+  	/** Audio data is non-interleaved.
+	*/
+	ETaskNonInterleaved	= 0x00000004
+	};
+
+/**
+@publishedPartner
+@released
+
+Used by the SetConfig() method to configure the sample rate and stereo mode of a CMMFHwDevice 
+plugin. The configuration of HwDevices is device specific.
+*/
+class TTaskConfig
+	{
+	public:
+		/** The rate of the audio data.
+
+		@see TTaskSampleRate
+	    */
+		TInt iRate;
+		/** The type of stereo audio data.
+
+		@see TTaskStereoMode
+		*/
+		TInt iStereoMode;
+		/** Uid for this TTaskConfig struct
+		*/
+		TInt iUid;
+	};
+	
+/**
+@publishedPartner
+@released
+
+Extended version of TTaskConfig used by the SetConfig() method to configure the sample rate, 
+stereo mode and number of channels of a CMdfHwDevice plugin. The configuration of HwDevices 
+is device specific.
+*/	
+class TTaskConfig2 : public TTaskConfig
+	{
+public:
+	/** 
+	The number of channels.
+	*/
+	TInt iNumberOfChannels;
+	};	
+
+#endif
+