[FFmpeg-cvslog] flvdec: reenable extradata passing code

Michael Niedermayer git at videolan.org
Mon May 21 21:29:58 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon May 21 20:21:55 2012 +0200| [faa2930f191099621e03c55cca32662467d3cc15] | committer: Michael Niedermayer

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 <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=faa2930f191099621e03c55cca32662467d3cc15
---

 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 b002f14..d4f48bb 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 9f45447..d4cc7b9 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;



More information about the ffmpeg-cvslog mailing list