inputselector: Wake other pads when selected goes EOS

Other pads that are waiting for the stream on the selected
pad to advance before they finish waiting themselves
should be given the chance to do so when the selected pad
goes EOS. Fixes problems where input streams can end up
waiting forever if the active stream goes EOS earlier than
their own end time.
This commit is contained in:
Jan Schmidt 2016-07-25 19:15:15 +10:00
parent d052ae63d8
commit 4981e09bc7

View file

@ -477,6 +477,10 @@ gst_input_selector_eos_wait (GstInputSelector * self, GstSelectorPad * pad,
gst_pad_push_event (self->srcpad, gst_event_ref (eos_event));
GST_INPUT_SELECTOR_LOCK (self);
/* Wake up other pads so they can continue when syncing to
* running time, as this pad just switched to EOS and
* may enable others to progress */
GST_INPUT_SELECTOR_BROADCAST (self);
pad->eos_sent = TRUE;
} else {
/* we can be unlocked here when we are shutting down (flushing) or when we