summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorJulien Isorce <jisorce@oblong.com>2017-01-26 16:51:21 +0000
committerJulien Isorce <jisorce@oblong.com>2017-01-26 16:51:21 +0000
commitb2c05cac8e50204d9ded4a858618c8b8b5b00910 (patch)
tree3c7a730ed5d900779687e2e989dd111ebdd8e2fe /libs
parent0c36e5766dde198a8015e7f04306838407dc8a86 (diff)
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
Diffstat (limited to 'libs')
-rw-r--r--libs/gst/base/gstbaseparse.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index 34b40ebfd..2751239ca 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -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->sinkpad, fevent);
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));