pitch: preserve seek event seqnums

This was wreaking havoc when used with a downstream audiomixer.

https://bugzilla.gnome.org/show_bug.cgi?id=796603
This commit is contained in:
Mathieu Duponchelle 2018-06-16 18:23:41 +02:00
parent 0b03b47193
commit 44f0814855

View file

@ -424,6 +424,7 @@ gst_pitch_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
GstSeekType cur_type, stop_type;
gint64 cur, stop;
gfloat stream_time_ratio;
guint32 seqnum;
GST_OBJECT_LOCK (pitch);
stream_time_ratio = pitch->priv->stream_time_ratio;
@ -432,6 +433,8 @@ gst_pitch_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
gst_event_parse_seek (event, &rate, &format, &flags,
&cur_type, &cur, &stop_type, &stop);
seqnum = gst_event_get_seqnum (event);
gst_event_unref (event);
if (format == GST_FORMAT_TIME || format == GST_FORMAT_DEFAULT) {
@ -441,6 +444,7 @@ gst_pitch_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
event = gst_event_new_seek (rate, format, flags,
cur_type, cur, stop_type, stop);
gst_event_set_seqnum (event, seqnum);
res = gst_pad_event_default (pad, parent, event);
} else {
GST_WARNING_OBJECT (pitch,