MAddedDevSoundControl Class Reference

class MAddedDevSoundControl

Interface class for altering pause and resume behavior.

Clients of DevSound API can use this interface alter the default pause and resume behavior. By default when CMMFDevSound::Pause() is called data already sent to it is flushed/discarded and audio resources are released. Upon next PlayInitL() audio resources are re-allocated.

DevSound clients can obtain a handle to this interface by calling CMMFDevSound::CustomInterface() function with UID KUidAddedDevSoundControlInterface. Along with the handle, the ownership of the object is also transferred to the client.

This interface is valid until the DevSound is re-initialized or deleted. Client shuold make sure that they delete the interface before DevSound is re-initialized or deleted.

n/a
Since
S60 3.2

Constructor & Destructor Documentation

~MAddedDevSoundControl()

~MAddedDevSoundControl ( ) [inline, virtual]

Member Functions Documentation

PauseAndFlush()

TInt PauseAndFlush ( ) [pure virtual]

Flushes audio data that are not decoded/rendered yet.

Not necessarily available in all platforms.

DevSound instance must be in the playing PAUSED state.

Since
S60 3.2

SetHwAwareness(TBool)

TInt SetHwAwareness ( TBool aHwAware ) [pure virtual]

Alters DevSound's behavior for handling Pause and Resume.

Can be called after DevSound creation. Must be called prior to calling CMMFDevSound::Pause() to take effect.

When value is ETrue, Calling CMMFDevSound::Pause() will halt the decoding and/or rendering temporarily. Data buffers sent to the DevSound instance are buffered up. Resources associated with the DevSound instance is kept intact. Upon resuming via CMMFDevSound::PlayInitL() , all buffered data will be decoded and/or rendered. When value is EFalse, CMMFDevSound::Pause() will stop decoding and/or rendering immediately. Data buffers sent to the DevSound instance that were not decoded/rendered are flushed. Resources associated with DevSound instance are also released.

Not necessarily supported by all platforms.

Will return a KErrNotSupported if the DevSound behavior cannot be altered.

Since
S60 3.2

Parameters

TBool aHwAware