mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 04:56:24 +00:00
pad: Remove SEGMENT sticky events when flushing
When flushing, it is expected that upstream will send a SEGMENT event afterwards. This also avoids stray SEGMENT events from coming through after a flush.
This commit is contained in:
parent
b909061031
commit
418dcd7277
1 changed files with 3 additions and 1 deletions
|
@ -4464,6 +4464,7 @@ gst_pad_push_event_unchecked (GstPad * pad, GstEvent * event,
|
|||
/* Remove sticky EOS events */
|
||||
GST_LOG_OBJECT (pad, "Removing pending EOS events");
|
||||
remove_event_by_type (pad, GST_EVENT_EOS);
|
||||
remove_event_by_type (pad, GST_EVENT_SEGMENT);
|
||||
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
|
||||
|
||||
type |= GST_PAD_PROBE_TYPE_EVENT_FLUSH;
|
||||
|
@ -4751,8 +4752,9 @@ gst_pad_send_event_unchecked (GstPad * pad, GstEvent * event,
|
|||
GST_CAT_DEBUG_OBJECT (GST_CAT_EVENT, pad, "cleared flush flag");
|
||||
}
|
||||
/* Remove pending EOS events */
|
||||
GST_LOG_OBJECT (pad, "Removing pending EOS events");
|
||||
GST_LOG_OBJECT (pad, "Removing pending EOS and SEGMENT events");
|
||||
remove_event_by_type (pad, GST_EVENT_EOS);
|
||||
remove_event_by_type (pad, GST_EVENT_SEGMENT);
|
||||
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
|
||||
|
||||
GST_OBJECT_UNLOCK (pad);
|
||||
|
|
Loading…
Reference in a new issue