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