[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