mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 06:46:38 +00:00
funnel: Always push all sticky events whenever we forward a serialized event
Otherwise downstream will have an inconsistent set of sticky events at this point, e.g. when a TAG event is pushed and downstream wants to relate it to the stream by looking at the current STREAM_START event. https://bugzilla.gnome.org/show_bug.cgi?id=768526
This commit is contained in:
parent
25bf63d6f7
commit
c56e1d18c1
1 changed files with 6 additions and 2 deletions
|
@ -397,8 +397,12 @@ gst_funnel_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
|||
GST_OBJECT_LOCK (funnel);
|
||||
fpad->got_eos = FALSE;
|
||||
GST_OBJECT_UNLOCK (funnel);
|
||||
} else if (GST_EVENT_TYPE (event) == GST_EVENT_GAP) {
|
||||
/* If no data is coming and we receive GAP event, need to forward sticky events. */
|
||||
}
|
||||
|
||||
if (forward && GST_EVENT_IS_SERIALIZED (event)) {
|
||||
/* If no data is coming and we receive serialized event, need to forward all sticky events.
|
||||
* Otherwise downstream has an inconsistent set of sticky events when
|
||||
* handling the new event. */
|
||||
unlock = TRUE;
|
||||
GST_PAD_STREAM_LOCK (funnel->srcpad);
|
||||
|
||||
|
|
Loading…
Reference in a new issue