Discard empty buffer on call to QAudioOutput::resume()
authorGareth Stockwell <ext-gareth.stockwell@nokia.com>
Wed, 1 Sep 2010 12:49:54 +0000 (13:49 +0100)
committerGareth Stockwell <ext-gareth.stockwell@nokia.com>
Fri, 17 Sep 2010 12:33:11 +0000 (13:33 +0100)
commit1f3c8e102c026b7bfb163234a8f87cc0b6863246
tree06cc5e35e0b57c6ea886eb6a72318a83373c7ce8
parent7ed96ae38b3eaee5988ac4d4717ff5c7611d0f15
Discard empty buffer on call to QAudioOutput::resume()

The Symbian backend holds buffers which are passed to it from DevSound,
exposing the memory of these buffers via the QIODevice interface.

When QAudioOutput::resume() is called, the backend re-starts data flow
by passing the buffer it holds back to DevSound.  Previously, this
would not happen if the buffer was empty, potentially causing playback
to stall.  This patch ensures that the buffer is always sent back to
DevSound, and data flow therefore always resumes.

Task-number: QTBUG-13059
Reviewed-by: Derick Hawcroft
src/multimedia/audio/qaudiooutput_symbian_p.cpp