summaryrefslogtreecommitdiff
path: root/gst/isomp4/qtdemux.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-04-06 20:17:52 -0700
committerSebastian Dröge <sebastian@centricular.com>2015-04-06 20:17:52 -0700
commitbf95f93c0189aa04f18e264b86b6527e431c5d53 (patch)
treee8160aa382c2b448dedb08be248f9743e2fd0a8f /gst/isomp4/qtdemux.c
parent6611517af574d2f5d2007b9458143438cec9029e (diff)
qtdemux: Don't accumulate segment bases manually
gst_segment_do_seek() does that for us already, and doing it twice will break non-flushing seeks in interesting ways. Leftover from 1.0 porting. Also copy over segment offset and applied_rate, just in case.
Diffstat (limited to 'gst/isomp4/qtdemux.c')
-rw-r--r--gst/isomp4/qtdemux.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c
index 4bcf91ea7..2279097b6 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -3725,9 +3725,9 @@ gst_qtdemux_activate_segment (GstQTDemux * qtdemux, QtDemuxStream * stream,
/* update the segment values used for clipping */
/* accumulate previous segments */
- if (GST_CLOCK_TIME_IS_VALID (stream->segment.stop))
- stream->segment.base += (stream->segment.stop - stream->segment.start) /
- ABS (stream->segment.rate);
+ stream->segment.offset = qtdemux->segment.offset;
+ stream->segment.base = qtdemux->segment.base;
+ stream->segment.applied_rate = qtdemux->segment.applied_rate;
stream->segment.rate = rate;
stream->segment.start = start;
stream->segment.stop = stop;