diff options
author | Tim Blechmann <tim@klingt.org> | 2024-04-02 10:24:42 +0800 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-04-03 16:57:18 +0000 |
commit | 8d099d2a7984867e84c90b7801aa202050bf5d11 (patch) | |
tree | e2fdf3e0f2a3d67f29ce09ab12cc9b1769054b62 | |
parent | a9411b1449f9441a88f66db4aa0e2dc0e74ce252 (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.cpp | 1 | ||||
-rw-r--r-- | src/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacapture.cpp | 2 |
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(); } }); |