libavcodec/vorbisenc: Add missing initial_padding

Vorbis has priming samples at the beginning. If the initial_padding is not
set in the encoder, the total sample count will be one frame fewer than it
should be. The result is that we get a truncated version of encoding.

initial_padding should be set to the frame_size used in
vorbis_encode_frame().

Signed-off-by: Guangyu Sun <gsun@roblox.com>
This commit is contained in:
Guangyu Sun 2021-07-07 08:41:33 -07:00 committed by Lynne
parent 75510d7015
commit 24b3178efd

View File

@ -1287,6 +1287,7 @@ static av_cold int vorbis_encode_init(AVCodecContext *avctx)
avctx->extradata_size = ret;
avctx->frame_size = 64;
avctx->initial_padding = 1 << (venc->log2_blocksize[1] - 1);
ff_af_queue_init(avctx, &venc->afq);