decodebin3: Allow configure output stream without reassign slot

By select-streams event, current implementation of decodebin3
supports deactivate output stream (i.e., decoder element)
in reassign slot(), but cannot activate any slot without track change.

https://bugzilla.gnome.org/show_bug.cgi?id=778015
This commit is contained in:
Seungha Yang 2017-03-16 20:55:44 +09:00 committed by Edward Hervey
parent 969ab3f48c
commit 466cbef6ab

View file

@ -2442,6 +2442,14 @@ handle_stream_switch (GstDecodebin3 * dbin, GList * select_streams,
g_list_free (unknown); g_list_free (unknown);
} }
if (to_activate && !slots_to_reassign) {
for (tmp = to_activate; tmp; tmp = tmp->next) {
MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
gst_pad_add_probe (slot->src_pad, GST_PAD_PROBE_TYPE_IDLE,
(GstPadProbeCallback) idle_reconfigure, slot, NULL);
}
}
/* For all streams to deactivate, add an idle probe where we will do /* For all streams to deactivate, add an idle probe where we will do
* the unassignment and switch over */ * the unassignment and switch over */
for (tmp = slots_to_reassign; tmp; tmp = tmp->next) { for (tmp = slots_to_reassign; tmp; tmp = tmp->next) {