summaryrefslogtreecommitdiffstats
path: root/src/multimedia/audio
diff options
context:
space:
mode:
authorKurt Korbatits <kurt.korbatits@nokia.com>2012-07-25 12:28:23 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-26 05:31:01 +0200
commit64dbf9d96874a2f6a77b6b525514e0995c358f65 (patch)
tree7da64af1dc731431c572960df1415ebf03883a05 /src/multimedia/audio
parenta646db3ef60d3235a08abe210876d2c301d2c7be (diff)
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/audio')
-rw-r--r--src/multimedia/audio/qaudiooutput_alsa_p.cpp5
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)