[Bug 732294] New: mxfdemux: Use IndexTableSegments

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jun 26 13:17:05 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=732294
  GStreamer | gst-plugins-bad | git

           Summary: mxfdemux: Use IndexTableSegments
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: mathieu.duponchelle at epitech.eu
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


This patch integrates with the existing code in the following way:

For now, when a seek was requested in a position that hadn't been played back
or seeked to previously, the whole file was parsed up from the current position
to the requested position, and an index was filled.

A lot of MXF files contain IndexTableSegments, located at the beginning of each
partition.

The position of each partition is provided by the random index pack, we now use
this information when a seek is requested to directly skip to the relevant
partition, the index is then filled and used as it was done previously.

One can test the patch with the scenario that I will attach and a (long enough
to see the difference) MXF file containing Index Table Segments.

The time to make the initial seek is now considerably reduced, from 2 seconds
to seek to the end of a 3-minute long MXF file to 0.04 seconds.

validating the patch can be done with :

gst-validate-1.0 playbin uri=file:///path/to/mxf --set-scenario
/path/to/scenario

Additionally, standard validate tests were run with the files available
http://gstreamer.freedesktop.org/data/media/incoming/mxf/ , and no regressions
were spotted.

Patch and scenario follow.

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