mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-22 23:28:16 +00:00
pad: clear sticky event tag upon stream-start
When playing gapless there were situations when some sticky events like tags were stuck at some pad and then revived much later. Therefore it is better to clear them upon stream-start. Fixes #360
This commit is contained in:
parent
d8b8a13285
commit
e8c782d119
1 changed files with 3 additions and 1 deletions
|
@ -5233,9 +5233,10 @@ store_sticky_event (GstPad * pad, GstEvent * event)
|
|||
/* Unset the EOS flag when received STREAM_START event, so pad can
|
||||
* store sticky event and then push it later */
|
||||
if (type == GST_EVENT_STREAM_START) {
|
||||
GST_LOG_OBJECT (pad, "Removing pending EOS and StreamGroupDone events");
|
||||
GST_LOG_OBJECT (pad, "Removing pending EOS, StreamGroupDone, TAG events");
|
||||
remove_event_by_type (pad, GST_EVENT_EOS);
|
||||
remove_event_by_type (pad, GST_EVENT_STREAM_GROUP_DONE);
|
||||
remove_event_by_type (pad, GST_EVENT_TAG);
|
||||
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
|
||||
}
|
||||
|
||||
|
@ -5778,6 +5779,7 @@ gst_pad_send_event_unchecked (GstPad * pad, GstEvent * event,
|
|||
GST_LOG_OBJECT (pad, "Removing pending EOS events");
|
||||
remove_event_by_type (pad, GST_EVENT_EOS);
|
||||
remove_event_by_type (pad, GST_EVENT_STREAM_GROUP_DONE);
|
||||
remove_event_by_type (pad, GST_EVENT_TAG);
|
||||
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Reference in a new issue