[Bug 708532] tsdemux: skips too much when scanning for last PCR

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Dec 1 06:05:47 PST 2014


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

Edward Hervey <bilboed> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|HEAD                        |1.5.1

--- Comment #5 from Edward Hervey <bilboed at bilboed.com> 2014-12-01 14:05:45 UTC ---
commit 56ae254dd31f6c1ca468aa43bb3262d2fc84422e
Author: Edward Hervey <bilboed at bilboed.com>
Date:   Wed Jul 9 10:11:40 2014 +0200

    mpegtbase: Improve last PCR detection

    When dealing with random-access content (such as files), we initially
    search for the last PCR in order to figure out duration and to handle
    other position estimation such as those used in seeking.

    Previously, the code looking for that last PCR would search in the last
    640kB of the file going forward, and stop at the first PCR encountered.
    The problem with that was two-fold:
    * It wouldn't really be the last PCR (it would be the first one within
      those last 640kB. In case of VBR files, this would put off duration
      and seek code slightly.
    * It would fail on files with bitrates higher than 52Mbit/s (not common)

    Instead this patch modifies that code by:
    * Scanning over the last 2048kB (allows to cope with streams up to
160Mbit/s)
    * Starts by the end of the file, going over chunks of 300 MPEG-TS packets
    * Doesn't stop at the first PCR detected in a chunk, but instead records
all
      of them, and only stop searching if there was "at least" one PCR within
      that chunk

    This should improve duration reporting and seeking operations on VBR files

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

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