[FFmpeg-devel] [PATCH] avcodec/audiotoolboxdec: Properly fill out_format

Christopher Snowhill kode54 at gmail.com
Fri Dec 31 07:23:09 EET 2021


Monterey needs mBytesPerFrame and mBytesPerPacket to be set, and I'm
surprised this didn't break any previous system versions.

Fixes bug #9564: Cannot decode xHE-AAC with audiotoolbox (aac_at) on
Mac OS Monterey. Fixes likely bug that none of the AudioToolbox
decoders work on Monterey.

Signed-off-by: Christopher Snowhill <kode54 at gmail.com>
---
 libavcodec/audiotoolboxdec.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c
index 9939fef218..4abcb63a03 100644
--- a/libavcodec/audiotoolboxdec.c
+++ b/libavcodec/audiotoolboxdec.c
@@ -370,6 +370,11 @@ static av_cold int ffat_create_decoder(AVCodecContext *avctx,
     avctx->sample_rate = out_format.mSampleRate = in_format.mSampleRate;
     avctx->channels = out_format.mChannelsPerFrame = in_format.mChannelsPerFrame;
 
+    out_format.mBytesPerFrame =
+        out_format.mChannelsPerFrame * (out_format.mBitsPerChannel / 8);
+    out_format.mBytesPerPacket =
+        out_format.mBytesPerFrame * out_format.mFramesPerPacket;
+
     if (avctx->codec_id == AV_CODEC_ID_ADPCM_IMA_QT)
         in_format.mFramesPerPacket = 64;
 
-- 
2.32.0 (Apple Git-132)



More information about the ffmpeg-devel mailing list