From faa2930f191099621e03c55cca32662467d3cc15 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 21 May 2012 20:21:55 +0200 Subject: [PATCH] flvdec: reenable extradata passing code This fixes passing junk in stream. It should not have any user vissible effect. We are discarding the new data in the decoder as no case is known where it is needed but it causes problems if used. Signed-off-by: Michael Niedermayer --- libavcodec/aacdec.c | 2 +- libavformat/flvdec.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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;