From 7524b678175e69504c9360c884cfe9116cb8bb11 Mon Sep 17 00:00:00 2001 From: Rodger Combs Date: Wed, 23 Mar 2016 16:29:50 -0500 Subject: [PATCH] lavc/audiotoolboxenc: remove unneeded packet metadata This isn't necessary here, and for some reason broke only multichannel AAC encoding when a channel layout tag was set. --- libavcodec/audiotoolboxenc.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c index c4d36f56d1..4797b2aae9 100644 --- a/libavcodec/audiotoolboxenc.c +++ b/libavcodec/audiotoolboxenc.c @@ -38,7 +38,6 @@ typedef struct ATDecodeContext { int quality; AudioConverterRef converter; - AudioStreamPacketDescription pkt_desc; AVFrame in_frame; AVFrame new_in_frame; @@ -312,10 +311,6 @@ static OSStatus ffat_encode_callback(AudioConverterRef converter, UInt32 *nb_pac if (at->eof) { *nb_packets = 0; - if (packets) { - *packets = &at->pkt_desc; - at->pkt_desc.mDataByteSize = 0; - } return 0; } @@ -328,18 +323,13 @@ static OSStatus ffat_encode_callback(AudioConverterRef converter, UInt32 *nb_pac } data->mNumberBuffers = 1; - data->mBuffers[0].mNumberChannels = 0; + data->mBuffers[0].mNumberChannels = avctx->channels; data->mBuffers[0].mDataByteSize = at->in_frame.nb_samples * av_get_bytes_per_sample(avctx->sample_fmt) * avctx->channels; data->mBuffers[0].mData = at->in_frame.data[0]; - *nb_packets = (at->in_frame.nb_samples + (at->frame_size - 1)) / at->frame_size; - - if (packets) { - *packets = &at->pkt_desc; - at->pkt_desc.mDataByteSize = data->mBuffers[0].mDataByteSize; - at->pkt_desc.mVariableFramesInPacket = at->in_frame.nb_samples; - } + if (*nb_packets > at->in_frame.nb_samples) + *nb_packets = at->in_frame.nb_samples; return 0; } -- 2.11.0