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>
pull/359/head
Guangyu Sun 4 years ago committed by Lynne
parent 75510d7015
commit 24b3178efd
  1. 1
      libavcodec/vorbisenc.c

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

Loading…
Cancel
Save