[vlc-commits] Opus demuxing fixes.

Timothy B. Terriberry git at videolan.org
Tue Sep 4 00:04:10 CEST 2012


vlc/vlc-2.0 | branch: master | Timothy B. Terriberry <tterribe at xiph.org> | Sun Sep  2 07:36:44 2012 -0700| [bf83512852485a6d46b38749d5a001234b1c6c31] | committer: Jean-Baptiste Kempf

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>
(cherry picked from commit 675072a8a6a520f79e9892e26ff3be98b069df7a)

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

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

 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/vlc-2.0.git/?a=commitdiff;h=bf83512852485a6d46b38749d5a001234b1c6c31


More information about the vlc-commits mailing list