mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 16:08:51 +00:00
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:
parent
0b03b47193
commit
44f0814855
1 changed files with 4 additions and 0 deletions
|
@ -424,6 +424,7 @@ gst_pitch_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
||||||
GstSeekType cur_type, stop_type;
|
GstSeekType cur_type, stop_type;
|
||||||
gint64 cur, stop;
|
gint64 cur, stop;
|
||||||
gfloat stream_time_ratio;
|
gfloat stream_time_ratio;
|
||||||
|
guint32 seqnum;
|
||||||
|
|
||||||
GST_OBJECT_LOCK (pitch);
|
GST_OBJECT_LOCK (pitch);
|
||||||
stream_time_ratio = pitch->priv->stream_time_ratio;
|
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,
|
gst_event_parse_seek (event, &rate, &format, &flags,
|
||||||
&cur_type, &cur, &stop_type, &stop);
|
&cur_type, &cur, &stop_type, &stop);
|
||||||
|
|
||||||
|
seqnum = gst_event_get_seqnum (event);
|
||||||
|
|
||||||
gst_event_unref (event);
|
gst_event_unref (event);
|
||||||
|
|
||||||
if (format == GST_FORMAT_TIME || format == GST_FORMAT_DEFAULT) {
|
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,
|
event = gst_event_new_seek (rate, format, flags,
|
||||||
cur_type, cur, stop_type, stop);
|
cur_type, cur, stop_type, stop);
|
||||||
|
gst_event_set_seqnum (event, seqnum);
|
||||||
res = gst_pad_event_default (pad, parent, event);
|
res = gst_pad_event_default (pad, parent, event);
|
||||||
} else {
|
} else {
|
||||||
GST_WARNING_OBJECT (pitch,
|
GST_WARNING_OBJECT (pitch,
|
||||||
|
|
Loading…
Reference in a new issue