diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index b002f14583..d4f48bb791 100644 --- a/libavcodec/aacdec.c +++ b/libavcodec/aacdec.c @@ -2556,7 +2556,7 @@ static int aac_decode_frame(AVCodecContext *avctx, void *data, AV_PKT_DATA_NEW_EXTRADATA, &new_extradata_size); - if (new_extradata) { + if (new_extradata && 0) { av_free(avctx->extradata); avctx->extradata = av_mallocz(new_extradata_size + FF_INPUT_BUFFER_PADDING_SIZE); diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 9f454474b2..d4cc7b9a83 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -618,7 +618,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) if (flv->wrong_dts) dts = AV_NOPTS_VALUE; } - if (type == 0 && !st->codec->extradata) { + if (type == 0 && (!st->codec->extradata || st->codec->codec_id == CODEC_ID_AAC)) { if (st->codec->extradata) { if ((ret = flv_queue_extradata(flv, s->pb, stream_type, size)) < 0) return ret;