diff options
author | Matej Knopp <matej.knopp@gmail.com> | 2015-02-28 18:10:06 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2015-03-01 13:06:55 +0000 |
commit | f75e443a7a0bd27b3e1935dd5e82a4e4e2498397 (patch) | |
tree | dd1189d58cfd24d610f3448e286d08cc220bbe06 /gst/isomp4/qtdemux.c | |
parent | bc6d68c93a7ae0bb0995531fe7b59be11603e181 (diff) | |
download | gstreamer-plugins-good-f75e443a7a0bd27b3e1935dd5e82a4e4e2498397.tar.gz |
qtdemux: fix key unit seek
Unlike many other seek flags, the KEY_UNIT seek
flag is not copied over into the GstSegment,
since it's only relevant for the seek itself,
so we need to pass it explicitly to the seek
handler here.
https://bugzilla.gnome.org/show_bug.cgi?id=745339
Diffstat (limited to 'gst/isomp4/qtdemux.c')
-rw-r--r-- | gst/isomp4/qtdemux.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index 71c782d31..153d03196 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -1393,7 +1393,7 @@ no_format: */ static gboolean gst_qtdemux_perform_seek (GstQTDemux * qtdemux, GstSegment * segment, - guint32 seqnum) + guint32 seqnum, GstSeekFlags flags) { gint64 desired_offset; gint n; @@ -1406,7 +1406,7 @@ gst_qtdemux_perform_seek (GstQTDemux * qtdemux, GstSegment * segment, /* may not have enough fragmented info to do this adjustment, * and we can't scan (and probably should not) at this time with * possibly flushing upstream */ - if ((segment->flags & GST_SEEK_FLAG_KEY_UNIT) && !qtdemux->fragmented) { + if ((flags & GST_SEEK_FLAG_KEY_UNIT) && !qtdemux->fragmented) { gint64 min_offset; gst_qtdemux_adjust_seek (qtdemux, desired_offset, TRUE, &min_offset, NULL); @@ -1507,7 +1507,7 @@ gst_qtdemux_do_seek (GstQTDemux * qtdemux, GstPad * pad, GstEvent * event) } /* now do the seek, this actually never returns FALSE */ - gst_qtdemux_perform_seek (qtdemux, &seeksegment, seqnum); + gst_qtdemux_perform_seek (qtdemux, &seeksegment, seqnum, flags); /* prepare for streaming again */ if (flush) { |