[Bug 734659] qtdemux: Does not properly update base time for non-flushing seeks
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Sep 3 01:00:20 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=734659
GStreamer | gst-plugins-good | git
--- Comment #29 from Aleix Conchillo Flaqué <aleix at oblong.com> 2014-09-03 08:00:13 UTC ---
(In reply to comment #28)
> Review of attachment 285192 [details]:
>
> Looks good, just needs a simplification.
>
> Also it would be good to test if this doesn't break the heavily edited samples
> from https://bugzilla.gnome.org/show_bug.cgi?id=345830
I am trying the videos and they don't work with this patch.
>
> Sorry for not mentioning this earlier, but there is already a position tracking
> in qtdemux for all streams: qtdemux->segment.position
>
> This is actually what is used to answer the POSITION query. So you can simplify
> it here and use that.
>
Not sure if I understand. Does qtdemux->segment.position *always* has the
latest position for all streams? If so, this should work?
stream->segment.base = gst_segment_to_running_time (&stream->segment,
GST_FORMAT_TIME, qtdemux->segment.position);
It doesn't work actually.
So, in my patch I just used qtdemux->segment.position to save the largest
position in each stream. But that doesn't work either. Audio loses
synchronization after a while.
Now that I have videos with multiple segments I will try to fix it properly.
> @@ +6211,3 @@
> stream->stps_present = FALSE;
> if ((stream->stss_present =
> + !!qtdemux_tree_get_child_by_type_full (stbl, FOURCC_stss,
>
> Those changes seem to be caused by gst-indent not being consistent, they should
> be removed from this patch.
Yes, sorry. I just removed them
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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