[Bug 754230] New: [qtdemux] Support sparse time ranges in qtdemux without needing a seek
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Fri Aug 28 04:28:32 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=754230
Bug ID: 754230
Summary: [qtdemux] Support sparse time ranges in qtdemux
without needing a seek
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-good
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: eocanha at igalia.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
This is a follow up of https://bugzilla.gnome.org/show_bug.cgi?id=754222#c3
We're using qtdemux in WebKit to process data coming from Media Source
Extensions[1] appends. At appsrc push time, we don't have any info about what
time the data we're appending belongs to. We rely on what qtdemux detects.
When our tests and use cases append data linearly from the begining, qtdemux
keeps timing info internally and generates the proper timestamps without
problems.
However, there are problems for sparse ranges. If the user seeks forward and
the upper layer (out of our control) decides to append [2:00, 2:30] right after
a former append of [0:00, 1:00], then the internal demuxer status keeps
generating PTSs in the range [1:00, 1:30]. Note that in our layer we don't
really know the time range being appended, so we can't hint appsrc in any way.
We have a patch[2] for qtdemux_parse_trun() to use decode_ts (which comes from
the TFDT atom) if it's significantly higher than the time in the last sample.
This rule allows us to blindly feed sparse ranges and have qtdemux generating
the right times.
Is it wrong to rely on TFDT as much as possible? What alternatives do we have
to support sparse ranges in the appended data?
[1] https://w3c.github.io/media-source/
[2] http://pastebin.com/612D3kyU
Sebastian Dröge (slomo) asked:
Why don't you know the timestamps on your side, i.e. that you are appending
[2:00, 2:30] now instead of [1:00, 1:30]? How would you distinguish these two
cases if you don't know the timestamps?
--
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