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.
Public Member Functions | |
---|---|
~MAddedDevSoundControl() | |
TInt | PauseAndFlush() |
TInt | SetHwAwareness(TBool) |
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.
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.
TBool aHwAware |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.