diff options
Diffstat (limited to 'src/multimedia/platform/windows/audio/qwindowsaudiosink.cpp')
-rw-r--r-- | src/multimedia/platform/windows/audio/qwindowsaudiosink.cpp | 5 |
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) |