diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/mmf/common/mmfbase.h --- a/epoc32/include/mmf/common/mmfbase.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/mmf/common/mmfbase.h Wed Mar 31 12:33:34 2010 +0100 @@ -1,9 +1,9 @@ // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. @@ -55,30 +55,28 @@ @publishedAll @released -A set of priority values which define the behaviour to be adopted by an -audio client if a higher priority client takes over the device. +Audio priority preference values. These are to be interpreted as discrete values and not separate flags. */ enum TMdaPriorityPreference { /** - No priority. + Default value - no specific meaning. */ - EMdaPriorityPreferenceNone = 0x00000000, + EMdaPriorityPreferenceNone = 0, /** - The audio data is time sensitive. The playback operation fails if it cannot happen when - requested but degraded output such as mixing or muting is allowed. - */ - EMdaPriorityPreferenceTime = 0x00000001, + The audio data is time sensitive. The playback operation may fail if it cannot happen when + requested but degraded output such as mixing or muting is allowed. Note that this is the + default behaviour anyway, but this declaration is maintained for compatability. */ + EMdaPriorityPreferenceTime = 1, /** - The audio data must be played at the best possible quality (for example, it must not be degraded by - muting or mixing). The playback operation is delayed until the sound device is available for exclusive use. + The audio data should be played at the best possible quality (for example, it should not be degraded by + muting or mixing). This is an advisory to the adaptation and can be ignored. */ - EMdaPriorityPreferenceQuality = 0x00000002, + EMdaPriorityPreferenceQuality = 2, /** - The audio data is both time and quality sensitive. The playback operation fails if it cannot - happen immediately at the highest quality. + The audio data is both time and quality sensitive. Identical in behaviour to EMdaPriorityPreferenceQuality. */ - EMdaPriorityPreferenceTimeAndQuality = EMdaPriorityPreferenceTime|EMdaPriorityPreferenceQuality + EMdaPriorityPreferenceTimeAndQuality = 3 }; /** @@ -115,36 +113,31 @@ A class type representing the audio client's priority, priority preference and state settings. + +Note: The Priority Value and Priority Preference are used primarily when deciding what to do when +several audio clients attempt to play or record simultaneously. In addition to the Priority Value and Preference, +the adaptation may consider other parameters such as the SecureId and Capabilities of the client process. +Whatever, the decision as to what to do in such situations is up to the audio adaptation, and may +vary between different phones. Portable applications are advised not to assume any specific behaviour. + */ class TMMFPrioritySettings { public: TMMFPrioritySettings(); /** - Absolute priority of a client of the MMF Server. - - Used by the policy server to determine which client should gain access to the sound device. - - The priority which should be an integer in the range -100 to +100. + The Priority Value - this client's relative priority. This is a value between EMdaPriorityMin and + EMdaPriorityMax and represents a relative priority. A higher value indicates a more important request. */ TInt iPriority; /** - The priority preference that expresses the nature of the priority that can be none, - time (or speed), quality or both time and quality. - - If this is set to EMdaPriorityPreferenceTime then the audio data is time sensitive. The playback - operation fails if it cannot happen when requested but degraded output such as mixing or muting - is allowed. - - If this is set to EMdaPriorityPreferenceQuality then the audio data must be played at the best possible - quality (for example, it must not be degraded by muting or mixing). The playback operation is delayed - until the sound device is available for exclusive use. - - If this is set to EMdaPriorityPreferenceTimeAndQuality then the audio data is both time and quality - sensitive. The playback operation fails if it cannot happen immediately at the highest quality. + The Priority Preference - an additional audio policy parameter. The suggested default is + EMdaPriorityPreferenceNone. Further values are given by TMdaPriorityPreference, and additional + values may be supported by given phones and/or platforms, but should not be depended upon by + portable code. */ - TMdaPriorityPreference iPref; + TInt iPref; /** The state of the MMF player such as idle, playing, recording and so on. See the TMMFState enum for possible states.