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.
This commit is contained in:
Rodger Combs 2016-03-23 16:29:50 -05:00
parent d38fe9f493
commit 7524b67817
1 changed files with 3 additions and 13 deletions

View File

@ -38,7 +38,6 @@ typedef struct ATDecodeContext {
int quality; int quality;
AudioConverterRef converter; AudioConverterRef converter;
AudioStreamPacketDescription pkt_desc;
AVFrame in_frame; AVFrame in_frame;
AVFrame new_in_frame; AVFrame new_in_frame;
@ -312,10 +311,6 @@ static OSStatus ffat_encode_callback(AudioConverterRef converter, UInt32 *nb_pac
if (at->eof) { if (at->eof) {
*nb_packets = 0; *nb_packets = 0;
if (packets) {
*packets = &at->pkt_desc;
at->pkt_desc.mDataByteSize = 0;
}
return 0; return 0;
} }
@ -328,18 +323,13 @@ static OSStatus ffat_encode_callback(AudioConverterRef converter, UInt32 *nb_pac
} }
data->mNumberBuffers = 1; data->mNumberBuffers = 1;
data->mBuffers[0].mNumberChannels = 0; data->mBuffers[0].mNumberChannels = avctx->channels;
data->mBuffers[0].mDataByteSize = at->in_frame.nb_samples * data->mBuffers[0].mDataByteSize = at->in_frame.nb_samples *
av_get_bytes_per_sample(avctx->sample_fmt) * av_get_bytes_per_sample(avctx->sample_fmt) *
avctx->channels; avctx->channels;
data->mBuffers[0].mData = at->in_frame.data[0]; data->mBuffers[0].mData = at->in_frame.data[0];
*nb_packets = (at->in_frame.nb_samples + (at->frame_size - 1)) / at->frame_size; if (*nb_packets > at->in_frame.nb_samples)
*nb_packets = at->in_frame.nb_samples;
if (packets) {
*packets = &at->pkt_desc;
at->pkt_desc.mDataByteSize = data->mBuffers[0].mDataByteSize;
at->pkt_desc.mVariableFramesInPacket = at->in_frame.nb_samples;
}
return 0; return 0;
} }