diff options
author | Edward Hervey <edward@centricular.com> | 2023-01-13 16:37:03 +0100 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2023-01-13 16:41:53 +0100 |
commit | 1546ab0d0f6740708a868b59c301e543e16dcce5 (patch) | |
tree | dd3280d0d31daf7e2845a90f43ecfd79e6d095d4 | |
parent | f444e62672a626fcbf740833d09628d7b1aac482 (diff) | |
download | gstreamer-1546ab0d0f6740708a868b59c301e543e16dcce5.tar.gz |
urisourcebin: Unset locked state
Some elements still had it in failure cases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3720>
-rw-r--r-- | subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c b/subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c index d3c2db3972..b8366ecc64 100644 --- a/subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c +++ b/subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c @@ -1934,6 +1934,10 @@ setup_parsebin_for_slot (ChildSrcPadInfo * info, GstPad * originating_pad) could_not_link: { + if (info->pre_parse_queue) + gst_element_set_locked_state (info->pre_parse_queue, FALSE); + if (info->demuxer) + gst_element_set_locked_state (info->demuxer, FALSE); GST_URI_SOURCE_BIN_UNLOCK (urisrc); GST_STATE_UNLOCK (urisrc); GST_ELEMENT_ERROR (urisrc, CORE, NEGOTIATION, @@ -2143,6 +2147,7 @@ no_typefind: could_not_link: { gst_object_unref (sinkpad); + gst_element_set_locked_state (info->typefind, FALSE); GST_ELEMENT_ERROR (urisrc, CORE, NEGOTIATION, (NULL), ("Can't link source to typefind element")); return FALSE; |