[Bug 796559] qtdemux: Various segment fixes to properly take segment.offset into account

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jun 11 15:57:22 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=796559

--- Comment #6 from Alicia Boya GarcĂ­a <aboya at igalia.com> ---
Review of attachment 372632:
 --> (https://bugzilla.gnome.org/review?bug=796559&attachment=372632)

::: gst/isomp4/qtdemux.c
@@ +1566,3 @@
+  /* TODO: If !update we can keep all the streams at their current
+   * position and don't have to go through all the edst/segment finding
+   * machinary. We only need to send an updated segment in that case.

Isn't sending an updated segment required for all kinds of seeks?

@@ -1566,3 @@
-  /* 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 */

What was this about "flushing upstream"? gst_qtdemux_perform_seek() is only
called by gst_qtdemux_do_seek(), which is only called in pull mode.

@@ +1731,3 @@
   } else {
     /* now do the seek */
+    ret = gst_qtdemux_perform_seek (qtdemux, &seeksegment, TRUE, seqnum,
flags);

Not something to be fixed by this patch, but maybe worth pointing out: this
branch can never execute since `event` cannot be NULL. For event to be NULL,
gst_qtdemux_do_seek() would have to be called with a NULL event. The only call
is in gst_qtdemux_handle_src_event(), when the event type is GST_EVENT_SEEK...
Since the type of the event has been checked at that point -- which required
indirecting the pointer, event cannot be NULL.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list