mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
vorbisparse: Fix event handling
Internal state should only be reset on FLUSH_STOP, not FLUSH_START. Also forward pre-caps events immediately and don't queue them.
This commit is contained in:
parent
1d20c0f4bb
commit
027654e71e
1 changed files with 3 additions and 2 deletions
|
@ -456,7 +456,7 @@ vorbis_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
|||
parse = GST_VORBIS_PARSE (parent);
|
||||
|
||||
switch (GST_EVENT_TYPE (event)) {
|
||||
case GST_EVENT_FLUSH_START:
|
||||
case GST_EVENT_FLUSH_STOP:
|
||||
vorbis_parse_clear_queue (parse);
|
||||
parse->prev_granulepos = -1;
|
||||
parse->prev_blocksize = -1;
|
||||
|
@ -467,7 +467,8 @@ vorbis_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
|||
ret = gst_pad_event_default (pad, parent, event);
|
||||
break;
|
||||
default:
|
||||
if (!parse->streamheader_sent && GST_EVENT_IS_SERIALIZED (event))
|
||||
if (!parse->streamheader_sent && GST_EVENT_IS_SERIALIZED (event)
|
||||
&& GST_EVENT_TYPE (event) > GST_EVENT_CAPS)
|
||||
ret = vorbis_parse_queue_event (parse, event);
|
||||
else
|
||||
ret = gst_pad_event_default (pad, parent, event);
|
||||
|
|
Loading…
Reference in a new issue