From df8843c65f4d23ceadfc8f78a63d4d1632e55c38 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Sun, 15 Mar 2009 23:54:53 +0000 Subject: [PATCH] search for hdlr atom in meta, some files do not store version+flags Originally committed as revision 17996 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mov.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index fac6d0ccd..10aaac2bd 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1338,9 +1338,16 @@ static int mov_read_ilst(MOVContext *c, ByteIOContext *pb, MOVAtom atom) static int mov_read_meta(MOVContext *c, ByteIOContext *pb, MOVAtom atom) { - url_fskip(pb, 4); // version + flags - atom.size -= 4; - return mov_read_default(c, pb, atom); + while (atom.size > 8) { + uint32_t tag = get_le32(pb); + atom.size -= 4; + if (tag == MKTAG('h','d','l','r')) { + url_fseek(pb, -8, SEEK_CUR); + atom.size += 8; + return mov_read_default(c, pb, atom); + } + } + return 0; } static int mov_read_trkn(MOVContext *c, ByteIOContext *pb, MOVAtom atom) -- 2.11.0