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

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jun 11 20:33:19 UTC 2018


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

--- Comment #7 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
(In reply to Alicia Boya García from comment #6)
> Review of attachment 372632 [details] [review]:
> 
> ::: 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?

Yes, "only" is the keyword here. Only a new segment is needed, not all the
other stuff that is done to find the correct edst segment, and then finding the
correct sample in there, etc.

> @@ -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.

I don't know, I just moved that comment with the code. It made no sense to me
either.

> @@ +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.

This is probably leftover from an older version of the code, where it maybe did
a NULL seek in pull mode at the very beginning. Not sure.

-- 
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