decodebin3: fix hang issue when remove failing stream
authorHaihua Hu <jared.hu@nxp.com>
Mon, 27 Mar 2023 03:18:09 +0000 (11:18 +0800)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 27 Mar 2023 23:51:53 +0000 (00:51 +0100)
Need mark selection_update to true when update selection,
otherwise, pipeline will not handle this selection update
sometimes when this flag has been reset

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4284>

subprojects/gst-plugins-base/gst/playback/gstdecodebin3.c

index 4c48e52..f96d44c 100644 (file)
@@ -2312,6 +2312,7 @@ check_slot_reconfiguration (GstDecodebin3 * dbin, MultiQueueSlot * slot)
     slot->dbin->requested_selection =
         remove_from_list (slot->dbin->requested_selection,
         gst_stream_get_stream_id (slot->active_stream));
+    dbin->selection_updated = TRUE;
     SELECTION_UNLOCK (dbin);
     reassign_slot (dbin, slot);
   } else {