X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fdemuxers%2Favi.rs;h=3361806d9f3afb8ec99c8238016b9aec9d63c41e;hp=93ac060b96b37326e39bdb7801287ae3c3f43cae;hb=9da33f04bbd89f18942bbafc6d135b5d3f102953;hpb=4a6263cf8ef4a0d6ae85a04d5bac8326190bbd1e diff --git a/nihav-commonfmt/src/demuxers/avi.rs b/nihav-commonfmt/src/demuxers/avi.rs index 93ac060..3361806 100644 --- a/nihav-commonfmt/src/demuxers/avi.rs +++ b/nihav-commonfmt/src/demuxers/avi.rs @@ -224,16 +224,18 @@ impl<'a> AVIDemuxer<'a> { } rest_size -= csz; } - self.src.read_skip(self.movi_size)?; - while rest_size > 0 { - let ret = self.parse_chunk(strmgr, RIFFTag::Chunk(mktag!(b"idx1")), rest_size,0); - if ret.is_err() { break; } - let (csz, end) = ret.unwrap(); - if end { - let _res = parse_idx1(&mut self.src, strmgr, seek_idx, csz, self.movi_pos); - break; + if !seek_idx.skip_index { + self.src.read_skip(self.movi_size)?; + while rest_size > 0 { + let ret = self.parse_chunk(strmgr, RIFFTag::Chunk(mktag!(b"idx1")), rest_size,0); + if ret.is_err() { break; } + let (csz, end) = ret.unwrap(); + if end { + let _res = parse_idx1(&mut self.src, strmgr, seek_idx, csz, self.movi_pos); + break; + } + rest_size -= csz; } - rest_size -= csz; } if self.movi_pos != 0 { self.src.seek(SeekFrom::Start(self.movi_pos))?;