libavformat/mov.c: Skipped duplicated MOOV atom
authorThierry Foucu <tfoucu@gmail.com>
Thu, 11 Jul 2013 21:37:59 +0000 (14:37 -0700)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 12 Jul 2013 00:41:34 +0000 (02:41 +0200)
 This should fix ticket 1378
 If we have parsed a moov atom, and found another one, just skip it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/mov.c

index 9c6ad99..a9ca1c4 100644 (file)
@@ -785,6 +785,12 @@ static int mov_read_moov(MOVContext *c, AVIOContext *pb, MOVAtom atom)
 {
     int ret;
 
+    if (c->found_moov) {
+        av_log(c->fc, AV_LOG_WARNING, "Found duplicated MOOV Atom. Skipped it\n");
+        avio_skip(pb, atom.size);
+        return 0;
+    }
+
     if ((ret = mov_read_default(c, pb, atom)) < 0)
         return ret;
     /* we parsed the 'moov' atom, we can terminate the parsing as soon as we find the 'mdat' */