decodebin3: check and send selected stream message even if no decoder is selected

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7579>
This commit is contained in:
Elliot Chen 2024-09-27 19:45:06 +09:00 committed by GStreamer Marge Bot
parent 50a27da3ad
commit 6c830c5bd3

View file

@ -3172,20 +3172,23 @@ mq_slot_check_reconfiguration (MultiQueueSlot * slot)
SELECTION_UNLOCK (dbin); SELECTION_UNLOCK (dbin);
if (msg) if (msg)
gst_element_post_message ((GstElement *) slot->dbin, msg); gst_element_post_message ((GstElement *) slot->dbin, msg);
if (no_more_streams) if (no_more_streams) {
GST_ELEMENT_ERROR (slot->dbin, CORE, MISSING_PLUGIN, (NULL), GST_ELEMENT_ERROR (slot->dbin, CORE, MISSING_PLUGIN, (NULL),
("No suitable plugins found")); ("No suitable plugins found"));
else return;
GST_ELEMENT_WARNING (slot->dbin, CORE, MISSING_PLUGIN, (NULL), }
("Some plugins were missing"));
} else { GST_ELEMENT_WARNING (slot->dbin, CORE, MISSING_PLUGIN, (NULL),
GstMessage *selection_msg = is_selection_done (dbin); ("Some plugins were missing"));
/* All good, we reconfigured the associated output. Check if we're done with SELECTION_LOCK (dbin);
* the current selection */
SELECTION_UNLOCK (dbin);
if (selection_msg)
gst_element_post_message ((GstElement *) slot->dbin, selection_msg);
} }
GstMessage *selection_msg = is_selection_done (dbin);
/* We reconfigured the associated output. Check if we're done with
* the current selection */
SELECTION_UNLOCK (dbin);
if (selection_msg)
gst_element_post_message ((GstElement *) slot->dbin, selection_msg);
} }
static void static void