Update contrib.
1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
19 // Standard EPOC32 includes
27 The priority for clients accessing a sound output device for audio playback or audio streaming.
29 This is a value between EMdaPriorityMin and EMdaPriorityMax. The higher value indicates a more
30 important request. It is used to resolve conflicts when more than one client tries to access the
31 same hardware resource simultaneously.
33 One of these values is passed in the first parameter to CMdaAudioOutputStream::SetPriority().
35 @see CMdaAudioOutputStream::SetPriority()
40 The lowest priority (= – 100). This indicates that the client can be interrupted
43 EMdaPriorityMin = -100,
45 Normal priority. This indicates that the client can be interrupted but only by higher priority clients.
47 EMdaPriorityNormal = 0,
49 The highest priority (= 100). This indicates that the client cannot be interrupted by other clients.
58 Audio priority preference values. These are to be interpreted as discrete values and not separate flags.
60 enum TMdaPriorityPreference
63 Default value - no specific meaning.
65 EMdaPriorityPreferenceNone = 0,
67 The audio data is time sensitive. The playback operation may fail if it cannot happen when
68 requested but degraded output such as mixing or muting is allowed. Note that this is the
69 default behaviour anyway, but this declaration is maintained for compatability. */
70 EMdaPriorityPreferenceTime = 1,
72 The audio data should be played at the best possible quality (for example, it should not be degraded by
73 muting or mixing). This is an advisory to the adaptation and can be ignored.
75 EMdaPriorityPreferenceQuality = 2,
77 The audio data is both time and quality sensitive. Identical in behaviour to EMdaPriorityPreferenceQuality.
79 EMdaPriorityPreferenceTimeAndQuality = 3
86 Holds the current state of DevSound.
93 /** The MMF is currently playing.
96 /** The MMF is playing a tone.
99 /** The MMF is currently recording.
102 /** The MMF is playing and recording.
104 EMMFStatePlayingRecording,
105 /** The MMF is converting data.
114 A class type representing the audio client's priority,
115 priority preference and state settings.
117 Note: The Priority Value and Priority Preference are used primarily when deciding what to do when
118 several audio clients attempt to play or record simultaneously. In addition to the Priority Value and Preference,
119 the adaptation may consider other parameters such as the SecureId and Capabilities of the client process.
120 Whatever, the decision as to what to do in such situations is up to the audio adaptation, and may
121 vary between different phones. Portable applications are advised not to assume any specific behaviour.
124 class TMMFPrioritySettings
127 TMMFPrioritySettings();
129 The Priority Value - this client's relative priority. This is a value between EMdaPriorityMin and
130 EMdaPriorityMax and represents a relative priority. A higher value indicates a more important request.
135 The Priority Preference - an additional audio policy parameter. The suggested default is
136 EMdaPriorityPreferenceNone. Further values are given by TMdaPriorityPreference, and additional
137 values may be supported by given phones and/or platforms, but should not be depended upon by
143 The state of the MMF player such as idle, playing, recording and so on. See the TMMFState enum for possible states.
148 This member is internal and not intended for use.
157 This is a TPckgBuf package of a TMMFPrioritySettings.
159 typedef TPckgBuf<TMMFPrioritySettings> TMMFPrioritySettingsPckg;
162 Initializes the object with arbitrary values.
164 inline TMMFPrioritySettings::TMMFPrioritySettings() : iPriority(EMdaPriorityNormal), iPref(EMdaPriorityPreferenceNone), iState(EMMFStateIdle), iReserved1(0)