Commit 675072a8 authored by Committed by Rafaël CarréBrowse files
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é <email@example.com>
Showing with 261 additions and 35 deletions