summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-04-06 17:35:56 +0200
committerLars Knoll <lars.knoll@qt.io>2021-04-08 12:19:42 +0000
commit1730f47fe18772f48b42b8e4dbec527889ae2ef3 (patch)
tree3e4b6a5464e141bc1883f34efbc6beec4ebacaca
parent89de5fe956d32d68490b2ee29963ab18b651be0f (diff)
Fix audio device switching on Linux in the audiooutput example
Change-Id: I5a6f8392352b212fb4741d4253c16874f7db6581 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp1
-rw-r--r--src/multimedia/platform/gstreamer/common/qgstappsrc.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp
index ee46a5b1c..325975cb0 100644
--- a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp
+++ b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp
@@ -236,6 +236,7 @@ void QGStreamerAudioOutput::close()
if (!m_opened)
return;
+ gstPipeline.setStateSync(GST_STATE_NULL);
gstPipeline = {};
gstVolume = {};
gstAppSrc = {};
diff --git a/src/multimedia/platform/gstreamer/common/qgstappsrc.cpp b/src/multimedia/platform/gstreamer/common/qgstappsrc.cpp
index 834a29c61..08582efa9 100644
--- a/src/multimedia/platform/gstreamer/common/qgstappsrc.cpp
+++ b/src/multimedia/platform/gstreamer/common/qgstappsrc.cpp
@@ -158,7 +158,7 @@ void QGstAppSrc::pushDataToAppSrc()
if ((!isStreamValid() && !m_buffer) || !m_appSrc)
return;
- if (m_stream->atEnd() && (!m_networkReply || !m_networkReply->isRunning())) {
+ if ((!m_stream || m_stream->atEnd()) && (!m_networkReply || !m_networkReply->isRunning())) {
sendEOS();
return;
}