[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