|
|
@ -1753,10 +1753,14 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx, |
|
|
|
/* many decoders assign whole AVFrames, thus overwriting extended_data;
|
|
|
|
/* many decoders assign whole AVFrames, thus overwriting extended_data;
|
|
|
|
* make sure it's set correctly; assume decoders that actually use |
|
|
|
* make sure it's set correctly; assume decoders that actually use |
|
|
|
* extended_data are doing it correctly */ |
|
|
|
* extended_data are doing it correctly */ |
|
|
|
planar = av_sample_fmt_is_planar(frame->format); |
|
|
|
if (*got_frame_ptr) { |
|
|
|
channels = av_get_channel_layout_nb_channels(frame->channel_layout); |
|
|
|
planar = av_sample_fmt_is_planar(frame->format); |
|
|
|
if (!(planar && channels > AV_NUM_DATA_POINTERS)) |
|
|
|
channels = av_get_channel_layout_nb_channels(frame->channel_layout); |
|
|
|
frame->extended_data = frame->data; |
|
|
|
if (!(planar && channels > AV_NUM_DATA_POINTERS)) |
|
|
|
|
|
|
|
frame->extended_data = frame->data; |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
frame->extended_data = NULL; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ret; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
} |
|
|
|