X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fdemuxers%2Favi.rs;h=1e7a10fe57f495a314efe107b3f7e74a9da64ae8;hb=3cd340f1334d99c00899a2b8869edc440ade40c9;hp=bc3923444c6e96bffff3afd5a1cacf4ca49447b0;hpb=bf30ce1bcf061cf59d0dbd149997892ad4fdf7ed;p=nihav.git diff --git a/nihav-commonfmt/src/demuxers/avi.rs b/nihav-commonfmt/src/demuxers/avi.rs index bc39234..1e7a10f 100644 --- a/nihav-commonfmt/src/demuxers/avi.rs +++ b/nihav-commonfmt/src/demuxers/avi.rs @@ -167,9 +167,13 @@ impl<'a> DemuxCore<'a> for AVIDemuxer<'a> { } continue; } - let str = strmgr.get_stream(stream_no as usize); - if str.is_none() { return Err(InvalidData); } - let stream = str.unwrap(); + let stream = strmgr.get_stream(stream_no as usize); + if stream.is_none() { + self.src.read_skip(size)?; + self.movi_size -= size + 8; + continue; + } + let stream = stream.unwrap(); if size == 0 { self.movi_size -= 8; if self.movi_size == 0 { @@ -180,8 +184,8 @@ impl<'a> DemuxCore<'a> for AVIDemuxer<'a> { } continue; } - let (tb_num, tb_den) = stream.get_timebase(); - let mut ts = NATimeInfo::new(Some(self.cur_frame[stream_no as usize]), None, None, tb_num, tb_den); + let (tb_num, _) = stream.get_timebase(); + let mut ts = stream.make_ts(Some(self.cur_frame[stream_no as usize]), None, None); if stream.get_media_type() == StreamType::Audio && tb_num == 1 && stream.get_info().get_name() == "pcm" { ts.pts = None; }