diff options
author | Gareth Stockwell <ext-gareth.stockwell@nokia.com> | 2010-09-01 12:49:54 (GMT) |
---|---|---|
committer | Gareth Stockwell <ext-gareth.stockwell@nokia.com> | 2010-09-17 12:33:11 (GMT) |
commit | 1f3c8e102c026b7bfb163234a8f87cc0b6863246 (patch) | |
tree | 06cc5e35e0b57c6ea886eb6a72318a83373c7ce8 | |
parent | 7ed96ae38b3eaee5988ac4d4717ff5c7611d0f15 (diff) | |
download | Qt-1f3c8e102c026b7bfb163234a8f87cc0b6863246.zip Qt-1f3c8e102c026b7bfb163234a8f87cc0b6863246.tar.gz Qt-1f3c8e102c026b7bfb163234a8f87cc0b6863246.tar.bz2 |
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
-rw-r--r-- | src/multimedia/audio/qaudiooutput_symbian_p.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/multimedia/audio/qaudiooutput_symbian_p.cpp b/src/multimedia/audio/qaudiooutput_symbian_p.cpp index 5098469..5054ae3 100644 --- a/src/multimedia/audio/qaudiooutput_symbian_p.cpp +++ b/src/multimedia/audio/qaudiooutput_symbian_p.cpp @@ -210,7 +210,7 @@ void QAudioOutputPrivate::suspend() void QAudioOutputPrivate::resume() { if (SymbianAudio::SuspendedState == m_internalState) { - if (!m_pullMode && m_devSoundBuffer && m_devSoundBuffer->Data().Length()) + if (!m_pullMode && m_devSoundBuffer) bufferFilled(); startPlayback(); } |