1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // 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 |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 // |
7 // |
8 // Initial Contributors: |
8 // Initial Contributors: |
9 // Nokia Corporation - initial contribution. |
9 // Nokia Corporation - initial contribution. |
10 // |
10 // |
11 // Contributors: |
11 // Contributors: |
137 |
137 |
138 @param aCallBack |
138 @param aCallBack |
139 A callback to notify the client when the sound device is open and ready to receive data, when each |
139 A callback to notify the client when the sound device is open and ready to receive data, when each |
140 descriptor has been copied and when the stream is closed. The caller must create a callback class |
140 descriptor has been copied and when the stream is closed. The caller must create a callback class |
141 which implements this interface. |
141 which implements this interface. |
142 @param aPriority |
142 @param aPriority |
143 This client's relative priority. This is a value between EMdaPriorityMin and EMdaPriorityMax and represents |
143 The Priority Value - this client's relative priority. This is a value between EMdaPriorityMin and |
144 a relative priority. A higher value indicates a more important request. |
144 EMdaPriorityMax and represents a relative priority. A higher value indicates a more important request. |
145 @param aPref |
145 @param aPref |
146 The required behaviour if a higher priority client takes over the sound output device. |
146 The Priority Preference - an additional audio policy parameter. The suggested default is |
|
147 EMdaPriorityPreferenceNone. Further values are given by TMdaPriorityPreference, and additional |
|
148 values may be supported by given phones and/or platforms, but should not be depended upon by |
|
149 portable code. |
147 |
150 |
148 @return A pointer to CMdaAudioOutputStream. |
151 @return A pointer to CMdaAudioOutputStream. |
149 |
152 |
150 @capability MultimediaDD |
153 Note: The Priority Value and Priority Preference are used primarily when deciding what to do when |
151 A process requesting or using this method that has MultimediaDD capability will |
154 several audio clients attempt to play or record simultaneously. In addition to the Priority Value and Preference, |
152 always have precedence over a process that does not have MultimediaDD. |
155 the adaptation may consider other parameters such as the SecureId and Capabilities of the client process. |
|
156 Whatever, the decision as to what to do in such situations is up to the audio adaptation, and may |
|
157 vary between different phones. Portable applications are advised not to assume any specific behaviour. |
153 */ |
158 */ |
154 IMPORT_C static CMdaAudioOutputStream* NewL(MMdaAudioOutputStreamCallback& aCallBack, |
159 IMPORT_C static CMdaAudioOutputStream* NewL(MMdaAudioOutputStreamCallback& aCallBack, |
155 TInt aPriority, |
160 TInt aPriority, |
156 TMdaPriorityPreference aPref = EMdaPriorityPreferenceTimeAndQuality); |
161 TInt aPref = EMdaPriorityPreferenceTimeAndQuality); |
157 |
162 |
158 |
163 |
159 /** |
164 /** |
160 Destructor. |
165 Destructor. |
161 |
166 |
218 |
223 |
219 This function cannot be used while the stream object is open. It is intended for use before an Open() |
224 This function cannot be used while the stream object is open. It is intended for use before an Open() |
220 is issued, or between a previous Stop() and a new Open(). |
225 is issued, or between a previous Stop() and a new Open(). |
221 |
226 |
222 @param aPriority |
227 @param aPriority |
223 The priority level to apply, EMdaPriorityMin allows the client can be interrupted by any other client, |
228 The Priority Value. |
224 EMdaPriorityNormal allows the client is only interrupted by clients with a higher priority or |
|
225 EMdaPriorityMax allows the client cannot be interrupted by other clients. |
|
226 @param aPref |
229 @param aPref |
227 A set of priority values that define the behaviour to be adopted by a client using a sound device if a |
230 The Priority Preference. |
228 higher priority client takes over that device. |
231 |
229 |
232 @see CMdaAudioOutputStream::NewL() |
230 |
233 */ |
231 @capability MultimediaDD |
234 virtual void SetPriority(TInt aPriority, TInt aPref); |
232 A process requesting or using this method that has MultimediaDD capability will |
|
233 always have precedence over a process that does not have MultimediaDD. |
|
234 */ |
|
235 virtual void SetPriority(TInt aPriority, TMdaPriorityPreference aPref); |
|
236 |
235 |
237 /** |
236 /** |
238 Writes (plays) streaming raw audio data. |
237 Writes (plays) streaming raw audio data. |
239 |
238 |
240 This function is asynchronous. When aData has been received, the client is notified by a call to |
239 This function is asynchronous. When aData has been received, the client is notified by a call to |