Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.
Increased CMMFDevSound playback buffer size in Nokia N8 (Known Issue)
When playing back encoded audio (for instance, MP3 or AAC) on the Nokia N8 using the low-level interface to audio device (CMMFDevSound), the length of the playback buffers as requested by the audio device can be significantly larger than what is reported by CMMFDevSound::Config().
After initialising and starting the playback process with CMMFDevSound::PlayInitL(), the client will receive callbacks to MDevSoundObserver::BufferToBeFilled(), with a pointer to the buffer (CMMFBuffer) that needs to be filled. The amount of data that the audio device requires to start or continue playback is specified in CMMFBuffer::RequestSize(). The request size can be significantly bigger in Nokia N8 compared to previous S60 devices (eg. 48000 bytes for MP3 decoder). The client must always fill up the buffer to the requested size except at the end of playback, otherwise a KErrUnderflow error will be received.
Developers accessing the audio system through CMMFDevSound should be aware of this change, detect the buffer size at runtime, and adapt their application logic accordingly.