diff options
author | Jyrki Vesterinen <jyrkive@nekonyansoft.com> | 2022-09-08 14:36:32 +0300 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2022-09-14 19:42:59 +0200 |
commit | 8fc2dedfe6e8fcc58dd052bf3b85cd4754133b17 (patch) | |
tree | 32966b2dc3789c37485e9223a2bfb42c83e2eb53 /libavcodec/qtrleenc.c | |
parent | a5ce44f30108a0683a123354e52210a20026fb5c (diff) | |
download | ffmpeg-8fc2dedfe6e8fcc58dd052bf3b85cd4754133b17.tar.gz |
avcodec/vorbisdec: don't use a flag to determine if frames have been output
If a developer using FFmpeg libraries seeks into an earlier position and calls
avcodec_flush_buffers() afterwards as recommended, the Vorbis decoder will drop
the next frame, since buffer flushing clears the first_frame flag. As a result,
the audio samples the calling code receives may be ahead of the requested seek
position, which is unacceptable in some use cases such as playing a looping
sound effect.
This commit records the presentation timestamp of the first frame and
determines after that if the new frame is the first frame (possible after
seeking to the start) by comparing its pts to the stored pts.
Diffstat (limited to 'libavcodec/qtrleenc.c')
0 files changed, 0 insertions, 0 deletions