Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Change #286413

Category ffmpeg
Changed by Dale Curtis <dalecurtisohnoyoudont@chromium.org>
Changed at Fri 16 Oct 2026 03:44:34
Repository https://git.ffmpeg.org/ffmpeg.git
Project ffmpeg
Branch master
Revision b863390a8dab1c76d5ba07a38348f6330e31591e

Comments

lavf/oggparsevorbis: restore page-start timestamp calculation after seek
Commit 63b7e4cefa91 removed the page duration scan in vorbis_packet()
that ran when os->lastpts was unset. While that scan previously ran on
every packet of a page and reset parser blocksize state during normal
playback, removing it entirely left os->lastpts unset at the start of
non-BOS pages after ogg_reset().

As a result, ogg_read_timestamp() could not determine a page's start
timestamp until advancing to the following page, and packets read from
the start of a page after a seek were stamped with the seek target's
cur_dts rather than the page start's timestamp.

When os->lastpts is AV_NOPTS_VALUE at os->page_start on a non-BOS,
non-EOS page, scan the remaining packets on the page to set os->lastpts
to os->granule minus the page duration, and restore the parser blocksize
state to the first packet afterwards.

Fixes #24768.

Changed files