From cb997ccd09737b31220c7c2bc04934ceda9702e7 Mon Sep 17 00:00:00 2001 From: James Almer Date: Sun, 17 Nov 2024 23:01:38 -0300 Subject: [PATCH] avcodec/libfdk-aacenc: export CPB properties Needed to signal the muxer that the stream is VBR. Finishes fixing ticket #11303. Signed-off-by: James Almer (cherry picked from commit 46c6ca3ed1651c67faf899776f1922c108093a44) --- libavcodec/libfdk-aacenc.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c index 0f33cdb8c9..cc0ae0d8da 100644 --- a/libavcodec/libfdk-aacenc.c +++ b/libavcodec/libfdk-aacenc.c @@ -178,6 +178,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) AACContext *s = avctx->priv_data; int ret = AVERROR(EINVAL); AACENC_InfoStruct info = { 0 }; + AVCPBProperties *cpb_props; CHANNEL_MODE mode; AACENC_ERROR err; int aot = AV_PROFILE_AAC_LOW + 1; @@ -438,6 +439,14 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) memcpy(avctx->extradata, info.confBuf, info.confSize); } + + cpb_props = ff_encode_add_cpb_side_data(avctx); + if (!cpb_props) + return AVERROR(ENOMEM); + cpb_props->max_bitrate = + cpb_props->min_bitrate = + cpb_props->avg_bitrate = avctx->bit_rate; + return 0; error: aac_encode_close(avctx);