mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 00:36:51 +00:00
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:
parent
f97c80ae1d
commit
edea65f60a
1 changed files with 4 additions and 0 deletions
|
@ -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_pad_push_event (self->srcpad, gst_event_ref (eos_event));
|
||||||
GST_INPUT_SELECTOR_LOCK (self);
|
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;
|
pad->eos_sent = TRUE;
|
||||||
} else {
|
} else {
|
||||||
/* we can be unlocked here when we are shutting down (flushing) or when we
|
/* we can be unlocked here when we are shutting down (flushing) or when we
|
||||||
|
|
Loading…
Reference in a new issue