diff options
author | Kurt Korbatits <kurt.korbatits@nokia.com> | 2012-07-25 12:28:23 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-26 05:31:01 +0200 |
commit | 64dbf9d96874a2f6a77b6b525514e0995c358f65 (patch) | |
tree | 7da64af1dc731431c572960df1415ebf03883a05 /src/multimedia | |
parent | a646db3ef60d3235a08abe210876d2c301d2c7be (diff) | |
download | qtmultimedia-64dbf9d96874a2f6a77b6b525514e0995c358f65.tar.gz |
Added check to alsa backend for QAudioOutput
- Was asserting when stop() called when in IdleState
Change-Id: Ib8a5bd149c0b9c700c709520cf8ffdd237e08694
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Diffstat (limited to 'src/multimedia')
-rw-r--r-- | src/multimedia/audio/qaudiooutput_alsa_p.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp index e80cf1503..c9400ba96 100644 --- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp +++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp @@ -747,6 +747,11 @@ bool QAudioOutputPrivate::deviceReady() if(input > (int)buffer_frames) input = buffer_frames; l = audioSource->read(audioBuffer,snd_pcm_frames_to_bytes(handle, input)); + + // reading can take a while and stream may have been stopped + if (!handle) + return false; + if(l > 0) { // Got some data to output if(deviceState != QAudio::ActiveState) |