mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 02:30:35 +00:00
baseparse: correctly handle non-flush seek
Otherwise when seeking/looping to the start when reaching the end, the sink waits for the duration of the stream. So the user hears nothing for the duration of the stream before it actually loop again. See example attached to the bug for that. Existing test: gst-plugins-good/tests/icles/test-segment-seeks foo.flac Without the patch the user hears a crack/cut at each seek. https://bugzilla.gnome.org/show_bug.cgi?id=777780
This commit is contained in:
parent
0c36e5766d
commit
b2c05cac8e
1 changed files with 0 additions and 4 deletions
|
@ -4644,10 +4644,6 @@ gst_base_parse_handle_seek (GstBaseParse * parse, GstEvent * event)
|
||||||
gst_pad_push_event (parse->srcpad, gst_event_ref (fevent));
|
gst_pad_push_event (parse->srcpad, gst_event_ref (fevent));
|
||||||
gst_pad_push_event (parse->sinkpad, fevent);
|
gst_pad_push_event (parse->sinkpad, fevent);
|
||||||
gst_base_parse_clear_queues (parse);
|
gst_base_parse_clear_queues (parse);
|
||||||
} else {
|
|
||||||
/* keep track of our position */
|
|
||||||
seeksegment.base = gst_segment_to_running_time (&seeksegment,
|
|
||||||
seeksegment.format, parse->segment.position);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy (&parse->segment, &seeksegment, sizeof (GstSegment));
|
memcpy (&parse->segment, &seeksegment, sizeof (GstSegment));
|
||||||
|
|
Loading…
Reference in a new issue