diff mbox series

[FFmpeg-devel,1/2] avcodec/audiotoolboxenc: remove CAP_VARIABLE_FRAME_SIZE from alac

Message ID tencent_11C067C8EA86D31E1C474B80263610A3A606@qq.com
State Accepted
Commit 338e33b084b18b7dcc4a38c0fd9d0320ada8766a
Headers show
Series [FFmpeg-devel,1/2] avcodec/audiotoolboxenc: remove CAP_VARIABLE_FRAME_SIZE from alac | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Zhao Zhili Feb. 5, 2024, 11:57 a.m. UTC
From: Zhao Zhili <zhilizhao@tencent.com>

AV_CODEC_CAP_VARIABLE_FRAME_SIZE has been set for alac_at encoder,
which means avctx->frame_size should be zero. However, alac_at
encoder also set avctx->frame_size. This leading to assert failure
in ffmpeg_sched.c
	av_assert0(enc->sq_idx[0] >= 0);

Actually, the implementation of audiotoolboxenc.c doesn't support
frame_size been zero.

Fix #10720.
---
 libavcodec/audiotoolboxenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c
index 42ab7ae6e4..35dd4c553d 100644
--- a/libavcodec/audiotoolboxenc.c
+++ b/libavcodec/audiotoolboxenc.c
@@ -676,7 +676,7 @@  static const uint64_t aac_at_channel_layouts[] = {
 
 FFAT_ENC(aac,          AV_CODEC_ID_AAC,          aac_profiles, , aac_at_channel_layouts, aac_at_ch_layouts)
 //FFAT_ENC(adpcm_ima_qt, AV_CODEC_ID_ADPCM_IMA_QT, NULL)
-FFAT_ENC(alac,         AV_CODEC_ID_ALAC,         NULL, | AV_CODEC_CAP_VARIABLE_FRAME_SIZE, NULL, NULL)
+FFAT_ENC(alac,         AV_CODEC_ID_ALAC,         NULL, , NULL, NULL)
 FFAT_ENC(ilbc,         AV_CODEC_ID_ILBC,         NULL, , NULL, NULL)
 FFAT_ENC(pcm_alaw,     AV_CODEC_ID_PCM_ALAW,     NULL, , NULL, NULL)
 FFAT_ENC(pcm_mulaw,    AV_CODEC_ID_PCM_MULAW,    NULL, , NULL, NULL)