mmlibs/mmfw/codecs/Inc/MMFCodecCommon/MMFAudioDataSettings.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
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
* Copyright (c) 2002-2003 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
* All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
* Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
* Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
* Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
#ifndef __MMF_TMMFAUDIO_DATA_SETTINGS_H__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
#define __MMF_TMMFAUDIO_DATA_SETTINGS_H__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
#include <e32std.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
* Generic Audio Parameters
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
* class TMMFAudioDataSettings
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
class TMMFAudioDataSettings
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
	enum TAudioCaps
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
		// Sampled audio capabilities
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
		ESampleRateFixed =		0x00000001,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
		ESampleRateAnyInRange = 0x00000002,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
		ESampleRate8000Hz =		0x00000010,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
		ESampleRate11025Hz =	0x00000040,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
		ESampleRate12000Hz =	0x00000080,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
		ESampleRate16000Hz =	0x00000100,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
		ESampleRate22050Hz =	0x00000400,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
		ESampleRate24000Hz =	0x00000800,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
		ESampleRate32000Hz =	0x00001000,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
		ESampleRate44100Hz =	0x00004000,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
		ESampleRate48000Hz =	0x00010000,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
		ESampleRate96000Hz =	0x00020000,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
		ESampleRate64000Hz =	0x00040000,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
		// Channel related - applies to sampled
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
		EChannelsMono =			0x02000000,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
		EChannelsStereo =		0x04000000,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
		// Routing related
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
		ERoutingControl =		0x08000000,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
		// True if data flow is synchronised with real time (e.g. stream)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
		ERealTime =				0x10000000
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
		};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
	enum TAudioFlags
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
		ENoLocalRouting =		0x00000001,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
		ENoNetworkRouting =		0x00000002
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
		};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
	inline TMMFAudioDataSettings();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
	inline void Query(); // Call this when you just want to have caps and maxvolume filled
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
	// Fixed values - must be queried
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
	TInt iCaps;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
	TInt iMaxVolume; // One means fixed volume (zero not valid)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
	// Variables
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
	TInt iSampleRate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
	TInt iChannels;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
	TInt iVolume;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
	TInt iFlags;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
#endif //__MMF_TMMFAUDIO_DATA_SETTINGS_H__