[vlc-commits] demux: ogg: rewrite pts and pts computation (fix #9828)

Francois Cartegnie git at videolan.org
Mon Mar 10 17:11:31 CET 2014


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Fri Feb 28 02:03:15 2014 +0100| [ff681fc79fae79f428df272a9d005efef2fc9c87] | committer: Francois Cartegnie

demux: ogg: rewrite pts and pts computation (fix #9828)

- Previous algorithm was unable to guess the first packet
pts because of ogg design (some codecs/opus/vorbis have total
sample at page granule and only granule on last packet. You
then need to compute first packet pts backward using packets
duration).
So we were stuck either assuming a start at pts/pcr zero, or
be unable to handle ogg streaming (non zero start) correctly,
or had to always drop the 0..N-1 packets for first page.
We need libvorbis to correcly compute those durations (code
is far more complex than opus's one).
- Refactorized to discard the tons of cases appended
with each new codec.
- lots of other fixes in many places

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ff681fc79fae79f428df272a9d005efef2fc9c87
---

 configure.ac              |    4 +
 modules/demux/Makefile.am |    4 +-
 modules/demux/ogg.c       |  608 ++++++++++++++++++++++++++-------------------
 modules/demux/ogg.h       |   51 +++-
 modules/demux/oggseek.c   |  180 +++-----------
 modules/demux/oggseek.h   |    7 -
 6 files changed, 437 insertions(+), 417 deletions(-)

Diff:   http://git.videolan.org/gitweb.cgi/vlc.git/?a=commitdiff;h=ff681fc79fae79f428df272a9d005efef2fc9c87


More information about the vlc-commits mailing list