![Symbian Developer Library](../../../../a_stock/images/mainheading.gif)
![]() |
![]() |
|
class CMMFAudioOutput : public CBase, public MMMFAudioOutput, public MDevSoundObserver;
The interface into DevSound.
Abstract data sink class providing an interface into hardware sound output.
Uses CMMFDevSound
to access such output.
MDevSoundObserver
-
An interface to a set of DevSound callback functions.
MDataSink
-
Abstract class representing a data sink.
MMMFAudioOutput
-
Interface class to allow dynamic linkage to CMMFAudioOutput.
CBase
-
Base class for all classes to be instantiated on the heap.
CMMFAudioOutput
-
The interface into DevSound.
Defined in CMMFAudioOutput
:
BufferFilledL(CMMFBuffer *)
Called by MDataSource to pass back a full buffer to the sink.BufferToBeEmptied(CMMFBuffer *)
BufferToBeEmptied MMFDevSoundObserver - should never get called. BufferToBeFilled(CMMFBuffer *)
BufferToBeFilled MMFDevSoundObserver. Called when buffer used up. BytesPlayed()
Returns the number of bytes played.CanCreateSinkBuffer()
Tests whether a sink buffer can be created.ConstructSinkL(const TDesC8 &)
Overridable constuction specific to this datasource.ConvertError(TInt)
ConvertError MMFDevSoundObserver.CreateSinkBufferL(TMediaId,TBool &)
Creates a sink buffer.DataType()const
This method should not be used - it is provided to maintain SC with v7.0s.DeviceMessage(TUid,const TDesC8 &)
DeviceMessage MMFDevSoundObserver EmptyBufferL(CMMFBuffer *,MDataSource *,TMediaId)
Sends audio to MMFDevsound.HWEmptyBufferL(CMMFBuffer *,MDataSource *)
Gets audio from hardware device abstracted MMFDevsound (not used).InitializeComplete(TInt)
InitializeComplete MMFDevSoundObserver called when devsound initialisation compl...NegotiateL(MDataSource &)
Negotiates with the source to set, for example, the sample rate and number of ch...PlayError(TInt)
PlayError MMFDevSoundObserver.RecordError(TInt)
RecordError MMFDevSoundObserver called when recording has halted.SendEventToClient(const TMMFEvent &)
Handles policy request completion event.SetDataTypeL(TFourCC)
This method should not be used - it is provided to maintain SC with v7.0s.SetSinkDataTypeCode(TFourCC,TMediaId)
Sets the sink's data type code.SetSinkPrioritySettings(const TMMFPrioritySettings &)
Sets the sink's priority settings.SinkDataTypeCode(TMediaId)
Gets the sink's data type code.SinkPauseL()
Pauses the sink.SinkPlayL()
Starts playing the sink.SinkPrimeL()
Prime's the sink.SinkStopL()
Stops the sink.SinkThreadLogoff()
Logs off the sink thread.SinkThreadLogon(MAsyncEventHandler &)
Logs on the sink's thread.SoundDevice()
Returns the sound device.ToneFinished(TInt)
ToneFinished MMFDevSoundObserver called when a tone has finished or interrupted~CMMFAudioOutput()
Standard SymbianOS destructor. Inherited from CBase
:
Delete(CBase *)
Deletes the specified object.Extension_(TUint,TAny *&,TAny *)
Extension function operator new(TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TAny *)
Initialises the object to binary zeroes.operator new(TUint,TLeave)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TLeave,TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TUint)
Allocates the object from the heap and then initialises its contents to binary z...Inherited from MDataSink
:
DataSinkType()const
Returns the UID identifying the type of data sink.MDataSink(TUid)
Protected constructor.NewSinkL(TUid,const TDesC8 &)
Instantiates a new data sink.SinkCustomCommand(TMMFMessage &)
Calls a sink specific custom command.Inherited from MMMFAudioOutput
:
NewAudioOutputL(TUid,const TDesC8 &)
Gets a new audio output object.virtual TFourCC SinkDataTypeCode(TMediaId aMediaId);
Gets the sink's data type code.
Used by datapath MDataSource
/ MDataSink
for codec matching.
|
|
virtual void EmptyBufferL(CMMFBuffer *aBuffer, MDataSource *aSupplier, TMediaId aMediaId);
Sends audio to MMFDevsound.
|
virtual void BufferFilledL(CMMFBuffer *aBuffer);
Called by MDataSource
to pass back a full buffer to the sink.
Should never be called by a sink, as sinks empty buffers, not fill them.
|
virtual TBool CanCreateSinkBuffer();
Tests whether a sink buffer can be created.
The default implementation returns true.
|
virtual CMMFBuffer* CreateSinkBufferL(TMediaId aMediaId, TBool &aReference);
Creates a sink buffer.
Intended for asynchronous usage (buffers supplied by Devsound device)
|
|
virtual TInt SinkThreadLogon(MAsyncEventHandler &aEventHandler);
Logs on the sink's thread.
Thread specific initialization procedure for this device. Runs automatically on thread construction.
|
|
virtual void SinkThreadLogoff();
Logs off the sink thread.
Thread specific destruction procedure for this device. Runs automatically on thread destruction.
virtual void SinkPrimeL();
Prime's the sink.
This is a virtual function that each derived class must implement, but may be left blank for default behaviour.
Called by CMMFDataPath::PrimeL()
.
virtual void SinkPauseL();
Pauses the sink.
This is a virtual function that each derived class must implement, but may be left blank for default behaviour.
virtual void SinkPlayL();
Starts playing the sink.
This is a virtual function that each derived class must implement, but may be left blank for default behaviour.
virtual void SinkStopL();
Stops the sink.
This is a virtual function that each derived class must implement, but may be left blank for default behaviour.
virtual void SetSinkPrioritySettings(const TMMFPrioritySettings &aPrioritySettings);
Sets the sink's priority settings.
|
virtual void NegotiateL(MDataSource &aSource);
Negotiates with the source to set, for example, the sample rate and number of channels.
Called if the sink's setup depends on source.
|
virtual TInt BytesPlayed();
Returns the number of bytes played.
|
Interface status: | deprecated |
virtual void HWEmptyBufferL(CMMFBuffer *aBuffer, MDataSource *aSupplier);
Gets audio from hardware device abstracted MMFDevsound (not used).
|
virtual CMMFDevSound& SoundDevice();
Returns the sound device.
Accessor function exposing public CMMFDevsound methods.
|
virtual TInt SetSinkDataTypeCode(TFourCC aSinkFourCC, TMediaId aMediaId);
Sets the sink's data type code.
|
|
Interface status: | deprecated |
virtual void SetDataTypeL(TFourCC aAudioType);
This method should not be used - it is provided to maintain SC with v7.0s.
|
Interface status: | deprecated |
virtual TFourCC DataType() const;
This method should not be used - it is provided to maintain SC with v7.0s.
|
protected: virtual void ConstructSinkL(const TDesC8 &aInitData);
Overridable constuction specific to this datasource.
The default implementation does nothing.
|
private: virtual void InitializeComplete(TInt aError);
InitializeComplete MMFDevSoundObserver called when devsound initialisation completed.
|
private: virtual void ToneFinished(TInt aError);
ToneFinished MMFDevSoundObserver called when a tone has finished or interrupted
Should never get called.
|
private: virtual void BufferToBeFilled(CMMFBuffer *aBuffer);
BufferToBeFilled MMFDevSoundObserver. Called when buffer used up.
|
private: virtual void PlayError(TInt aError);
PlayError MMFDevSoundObserver.
Called when stopped due to error or EOF.
|
private: virtual void BufferToBeEmptied(CMMFBuffer *aBuffer);
BufferToBeEmptied MMFDevSoundObserver - should never get called.
|
private: virtual void RecordError(TInt aError);
RecordError MMFDevSoundObserver called when recording has halted.
Should never get called.
|
private: virtual void ConvertError(TInt aError);
ConvertError MMFDevSoundObserver.
Should never get called.
|
private: virtual void DeviceMessage(TUid aMessageType, const TDesC8 &aMsg);
DeviceMessage MMFDevSoundObserver
|
private: virtual void SendEventToClient(const TMMFEvent &);
Handles policy request completion event.
A derived class must provide an implementation to handle the policy request completion event.
CMMFDevSound
object calls this function when an attempt to acquire sound device is rejected by audio policy server.
|