summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2024-04-02 10:24:42 +0800
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-04-03 16:57:18 +0000
commit8d099d2a7984867e84c90b7801aa202050bf5d11 (patch)
treee2fdf3e0f2a3d67f29ce09ab12cc9b1769054b62
parenta9411b1449f9441a88f66db4aa0e2dc0e74ce252 (diff)
GStreamer: fix assertion failure in QGstreamerMediaCapture
we don't need to sync the state with the parent element, considering that we're running inside a `modifyPipelineWhileNotRunning` context. Pick-to: 6.5 Change-Id: I9e57f621c70da80ed5b4e91143183c91fe081493 Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io> Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> (cherry picked from commit ccf3c2296c24b82960c9f036c83885964c560638) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit dba66bea72f133760f85283d90497ce5a153ef71)
-rw-r--r--src/plugins/multimedia/gstreamer/common/qgst.cpp1
-rw-r--r--src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacapture.cpp2
2 files changed, 1 insertions, 2 deletions
diff --git a/src/plugins/multimedia/gstreamer/common/qgst.cpp b/src/plugins/multimedia/gstreamer/common/qgst.cpp
index 301989833..4aa7c83f9 100644
--- a/src/plugins/multimedia/gstreamer/common/qgst.cpp
+++ b/src/plugins/multimedia/gstreamer/common/qgst.cpp
@@ -832,6 +832,7 @@ bool QGstElement::setStateSync(GstState state, std::chrono::nanoseconds timeout)
bool QGstElement::syncStateWithParent()
{
+ Q_ASSERT(element());
return gst_element_sync_state_with_parent(element()) == TRUE;
}
diff --git a/src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacapture.cpp b/src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacapture.cpp
index 40ad0bc74..839187a9d 100644
--- a/src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacapture.cpp
+++ b/src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacapture.cpp
@@ -209,7 +209,6 @@ void QGstreamerMediaCapture::linkEncoder(QGstPad audioSink, QGstPad videoSink)
encoderVideoCapsFilter.src().link(videoSink);
linkTeeToPad(gstVideoTee, encoderVideoCapsFilter.sink());
- encoderVideoCapsFilter.syncStateWithParent();
encoderVideoSink = encoderVideoCapsFilter.sink();
}
@@ -225,7 +224,6 @@ void QGstreamerMediaCapture::linkEncoder(QGstPad audioSink, QGstPad videoSink)
encoderAudioCapsFilter.src().link(audioSink);
linkTeeToPad(gstAudioTee, encoderAudioCapsFilter.sink());
- encoderVideoCapsFilter.syncStateWithParent();
encoderAudioSink = encoderAudioCapsFilter.sink();
}
});