sl@0: /*
sl@0: * Copyright (c) 2002-2003 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: #ifndef __MMF_TMMFAUDIO_DATA_SETTINGS_H__
sl@0: #define __MMF_TMMFAUDIO_DATA_SETTINGS_H__
sl@0: #include <e32std.h>
sl@0: 
sl@0: /*
sl@0: * Generic Audio Parameters
sl@0: *
sl@0: * class TMMFAudioDataSettings
sl@0: *
sl@0: */
sl@0: class TMMFAudioDataSettings
sl@0: 	{
sl@0: public:
sl@0: 	enum TAudioCaps
sl@0: 		{
sl@0: 		// Sampled audio capabilities
sl@0: 		ESampleRateFixed =		0x00000001,
sl@0: 		ESampleRateAnyInRange = 0x00000002,
sl@0: 		ESampleRate8000Hz =		0x00000010,
sl@0: 		ESampleRate11025Hz =	0x00000040,
sl@0: 		ESampleRate12000Hz =	0x00000080,
sl@0: 		ESampleRate16000Hz =	0x00000100,
sl@0: 		ESampleRate22050Hz =	0x00000400,
sl@0: 		ESampleRate24000Hz =	0x00000800,
sl@0: 		ESampleRate32000Hz =	0x00001000,
sl@0: 		ESampleRate44100Hz =	0x00004000,
sl@0: 		ESampleRate48000Hz =	0x00010000,
sl@0: 		ESampleRate96000Hz =	0x00020000,
sl@0: 		ESampleRate64000Hz =	0x00040000,
sl@0: 		// Channel related - applies to sampled
sl@0: 		EChannelsMono =			0x02000000,
sl@0: 		EChannelsStereo =		0x04000000,
sl@0: 		// Routing related
sl@0: 		ERoutingControl =		0x08000000,
sl@0: 		// True if data flow is synchronised with real time (e.g. stream)
sl@0: 		ERealTime =				0x10000000
sl@0: 		};
sl@0: 	enum TAudioFlags
sl@0: 		{
sl@0: 		ENoLocalRouting =		0x00000001,
sl@0: 		ENoNetworkRouting =		0x00000002
sl@0: 		};
sl@0: public:
sl@0: 	inline TMMFAudioDataSettings();
sl@0: 	inline void Query(); // Call this when you just want to have caps and maxvolume filled
sl@0: public:
sl@0: 	// Fixed values - must be queried
sl@0: 	TInt iCaps;
sl@0: 	TInt iMaxVolume; // One means fixed volume (zero not valid)
sl@0: 	// Variables
sl@0: 	TInt iSampleRate;
sl@0: 	TInt iChannels;
sl@0: 	TInt iVolume;
sl@0: 	TInt iFlags;
sl@0: 	};
sl@0: 
sl@0: #endif //__MMF_TMMFAUDIO_DATA_SETTINGS_H__