[vlc-commits] Opus demuxing fixes.

Timothy B. Terriberry git at videolan.org
Mon Sep 3 23:22:42 CEST 2012


vlc | branch: master | Timothy B. Terriberry <tterribe at xiph.org> | Sun Sep  2 07:36:44 2012 -0700| [675072a8a6a520f79e9892e26ff3be98b069df7a] | committer: Rafaël Carré

Opus demuxing fixes.

This properly handles pre-skip, seeking pre-roll, and end-trim. It
uses the i_nb_samples field of block_t to signal to the decoder how
many samples should be returned after (possibly) skipping some at
the start of the block (for both pre-skip and pre-roll). In
addition, it abuses the i_length field of block_t to signal to the
decoder how many samples to trim from the end of the packet (for
end-trimming).

This patch does not compute correct timestamps for streams which
start at a non-zero offset (e.g., live streams joined in the
middle), nor does it correctly compute the length of a stream. But
neither of those things work for Vorbis, either. I'm leaving them
for a follow-up patch.

Signed-off-by: Rafaël Carré <funman at videolan.org>

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

 modules/demux/ogg.c     |  275 +++++++++++++++++++++++++++++++++++++++++------
 modules/demux/ogg.h     |    3 +
 modules/demux/oggseek.c |   18 +++-
 3 files changed, 261 insertions(+), 35 deletions(-)

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


More information about the vlc-commits mailing list