ffmpeg | branch: master | Michael Niedermayer <michae...@gmx.at> | Sun Oct  5 
23:31:37 2014 +0200| [02f7665a3ce703217ae1cbbc7baa29c438d61456] | committer: 
Michael Niedermayer

avformat/mov: do not overwrite extradata in mov_read_glbl()

Fixes regression from Ticket3962

This basically favors the first global header while since 
34751f8313a41bf94e004ffa9491f35d96763558
it was the last. If this heuristic turns out worse, do not hesitate to revert 
this and
reopen 3962 as a feature request for multiple STSD

Signed-off-by: Michael Niedermayer <michae...@gmx.at>

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

 libavformat/mov.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 8070b4d..fdd0671 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1099,6 +1099,10 @@ static int mov_read_glbl(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
         if (type == MKTAG('f','i','e','l') && size == atom.size)
             return mov_read_default(c, pb, atom);
     }
+    if (st->codec->extradata_size > 1 && st->codec->extradata) {
+        av_log(c, AV_LOG_WARNING, "ignoring multiple glbl\n");
+        return 0;
+    }
     av_free(st->codec->extradata);
     if (ff_get_extradata(st->codec, pb, atom.size) < 0)
         return AVERROR(ENOMEM);

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

Reply via email to