summaryrefslogtreecommitdiff
path: root/libavcodec/audiotoolboxdec.c
diff options
context:
space:
mode:
authorChristopher Snowhill <kode54@gmail.com>2021-12-30 21:23:09 -0800
committerJames Almer <jamrial@gmail.com>2022-04-24 19:11:33 -0300
commit944b8c96c90ae050606e638f77a15d6292209b91 (patch)
treed268a0de759f1d2bfce8613ab747d26daf056ab0 /libavcodec/audiotoolboxdec.c
parent058a1ff9b4cdbd2e1a93acc8bf0365e7d01cc9f4 (diff)
avcodec/audiotoolboxdec: Properly fill out_format
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@gmail.com>
Diffstat (limited to 'libavcodec/audiotoolboxdec.c')
-rw-r--r--libavcodec/audiotoolboxdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c
index b8d0e868f7..daccf4abf8 100644
--- a/libavcodec/audiotoolboxdec.c
+++ b/libavcodec/audiotoolboxdec.c
@@ -375,6 +375,11 @@ static av_cold int ffat_create_decoder(AVCodecContext *avctx,
avctx->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC;
avctx->ch_layout.nb_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;