epoc32/include/mdaaudiooutputstream.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
     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