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
release/0.6
Baptiste Coudurier 16 years ago
parent 06abe7f5b4
commit df8843c65f
  1. 13
      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)

Loading…
Cancel
Save