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

Francois Cartegnie git at videolan.org
Mon Mar 10 16:25:05 CET 2014


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

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

- 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=05c7bf42e8ad7951736e161a00c1f7f70f0a16d0
---

 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=05c7bf42e8ad7951736e161a00c1f7f70f0a16d0


More information about the vlc-commits mailing list