summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/windows/audio/qwindowsaudiosink.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/platform/windows/audio/qwindowsaudiosink.cpp')
-rw-r--r--src/multimedia/platform/windows/audio/qwindowsaudiosink.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/multimedia/platform/windows/audio/qwindowsaudiosink.cpp b/src/multimedia/platform/windows/audio/qwindowsaudiosink.cpp
index 046a91ab0..39625ed1b 100644
--- a/src/multimedia/platform/windows/audio/qwindowsaudiosink.cpp
+++ b/src/multimedia/platform/windows/audio/qwindowsaudiosink.cpp
@@ -200,6 +200,9 @@ void QWindowsAudioSink::start(QIODevice* device)
if (deviceState != QAudio::StoppedState)
close();
+ if (device == nullptr)
+ return;
+
if (!open()) {
errorState = QAudio::OpenError;
emit errorChanged(QAudio::OpenError);
@@ -210,7 +213,7 @@ void QWindowsAudioSink::start(QIODevice* device)
m_timer.disconnect();
m_timer.callOnTimeout(this, &QWindowsAudioSink::pullSource);
- m_timer.start(0);
+ pullSource();
}
qint64 QWindowsAudioSink::push(const char *data, qint64 len)