if (self.src.tell() & 1) == 1 {
self.src.read_skip(1)?;
self.movi_size -= 1;
+ if self.movi_size == 0 { return Err(EOF); }
}
self.src.read_buf(&mut tag)?;
let size = self.src.read_u32le()? as usize;
self.src.read_skip(size)?;
continue;
}
+ if mktag!(tag) == mktag!(b"LIST") {
+ self.movi_size -= 12;
+ self.src.read_skip(4)?;
+ if self.movi_size == 0 { return Err(EOF); }
+ continue;
+ }
if tag[0] < b'0' || tag[0] > b'9' || tag[1] < b'0' || tag[1] > b'9' {
return Err(InvalidData);
}