Change #275157
| Category | ffmpeg |
| Changed by | Romain Beauxis <romain.beauxis@gmail.com> |
| Changed at | Sat 18 Jul 2026 17:48:34 |
| Repository | https://git.ffmpeg.org/ffmpeg.git |
| Project | ffmpeg |
| Branch | master |
| Revision | 63b7e4cefa91aac517e3012d64f75c754e680674 |
Comments
lavf/oggparsevorbis: rework timestamp offset and end trimming Replace the first-page packet scan with a direct use of the first packet's duration as the timestamp offset (the Vorbis I spec guarantees it produces no PCM output). Track last_page_granule to correctly anchor EOS trimming regardless of any initial granule offset. Track bos_pos to reinitialize parser state at stream boundaries without resetting at page boundaries. Restore the granule=0 workaround from ticket #3710 and handle chained streams by clearing bos_pos when new headers are collected. Vorbis I spec: https://xiph.org/vorbis/doc/Vorbis_I_spec.html
Changed files
- libavformat/oggdec.c
- libavformat/oggdec.h
- libavformat/oggparsevorbis.c
- tests/ref/fate/limited_input_seek
- tests/ref/fate/limited_input_seek-copyts
- tests/ref/fate/mov-mp4-chapters
- tests/ref/fate/ogg-vorbis-bear
- tests/ref/fate/ogg-vorbis-chained-meta.txt
- tests/ref/fate/ogg-vorbis-initial-padding-chained
- tests/ref/fate/ogg-vorbis-libvorbis-1s
- tests/ref/fate/ogg-vorbis-libvorbis-30s
- tests/ref/fate/ogg-vorbis-ts-offset
- tests/ref/fate/ogg-vorbis-ts-seek
- tests/ref/fate/webm-dash-chapters
- tests/ref/lavf-fate/vp8.ogg