[Bug 754230] qtdemux: support sparse time ranges in qtdemux without needing a seek for MSE

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Feb 24 10:24:53 UTC 2016


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

--- Comment #20 from Enrique Ocaña González <eocanha at igalia.com> ---
(In reply to Sebastian Dröge (slomo) from comment #19)

> What a useless API :)

Agree.

> I guess we could in theory require a DISCONT flag to be set on buffers where
> it should resync the timestamping based on what it finds in the stream. And
> you would just always set it because you don't know anything at all.

Our use case works in push mode. I see in [1] that there's code already in
place to propagate the DISCONT flag from incoming buffers to their
corresponding internal qtdemux streams. However, the only place where that
stream flag is used for something is in [2], where it's propagated to the
outgoing buffer.

I guess I should modify the condition in qtdemux_parse_trun()[3] to check for
that flag in the stream instead of checking for always_honor_tfdt, right?
Should I keep the "significative difference" condition too? I hope these
thanges don't interfer with the other legitimate use of the DISCONT flag, in
gst_qtdemux_move_stream()[4].

I'll try to implement these changes when I have some time, still leaving the
"always_honor_tfdt" flag in my local branch, so I can compare both behaviours
and check that there are no regressions.

Thanks a lot for your advice!


[1]
https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/isomp4/qtdemux.c#n5644
[2]
https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/isomp4/qtdemux.c#n4880
[3]
https://bugzilla.gnome.org/attachment.cgi?id=314923&action=diff#a/gst/isomp4/qtdemux.c_sec5
[4]
https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/isomp4/qtdemux.c#n1210

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