X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fdemuxers%2Fmov.rs;h=bc2a24065b78fde365c42441899c8467941e661d;hb=554caf5da58b2cf1e65d2ff7c85a9b9d22dfdc2c;hp=9a77496fc2717e70ba563b2756adacd18ae65ba6;hpb=0a0456a8355d0bd06c8f8612bfd3326868a6b25f;p=nihav.git diff --git a/nihav-commonfmt/src/demuxers/mov.rs b/nihav-commonfmt/src/demuxers/mov.rs index 9a77496..bc2a240 100644 --- a/nihav-commonfmt/src/demuxers/mov.rs +++ b/nihav-commonfmt/src/demuxers/mov.rs @@ -205,6 +205,7 @@ const MOOV_CHUNK_HANDLERS: &[RootChunkHandler] = &[ RootChunkHandler { ctype: mktag!(b"trak"), parse: read_trak }, RootChunkHandler { ctype: mktag!(b"meta"), parse: read_meta }, RootChunkHandler { ctype: mktag!(b"mvex"), parse: read_mvex }, + RootChunkHandler { ctype: mktag!(b"iods"), parse: skip_chunk_mov }, ]; fn read_mvhd(dmx: &mut MOVDemuxer, _strmgr: &mut StreamManager, size: u64) -> DemuxerResult { @@ -291,6 +292,10 @@ fn read_mvex(_dmx: &mut MOVDemuxer, _strmgr: &mut StreamManager, _size: u64) -> Ok(0) } +fn skip_chunk_mov(_dmx: &mut MOVDemuxer, _strmgr: &mut StreamManager, _size: u64) -> DemuxerResult { + Ok(0) +} + fn read_trak(dmx: &mut MOVDemuxer, strmgr: &mut StreamManager, size: u64) -> DemuxerResult { let mut track = Track::new(dmx.cur_track as u32, dmx.tb_den); track.print_chunks = dmx.print_chunks; @@ -1077,7 +1082,7 @@ impl TimeSearcher { fn reset(&mut self) { *self = Self::default(); } - fn map_time(&mut self, sample: u32, tts: &Vec<(u32, u32)>) -> u64 { + fn map_time(&mut self, sample: u32, tts: &[(u32, u32)]) -> u64 { if tts.is_empty() { u64::from(sample) } else if sample >= self.sbase { @@ -1363,6 +1368,7 @@ impl Track { self.bsize } } + #[allow(clippy::collapsible_if)] fn seek(&mut self, pts: u64, tpoint: NATimePoint) -> DemuxerResult<()> { self.cur_sample = pts as usize; self.samples_left = 0; @@ -1604,6 +1610,7 @@ const DEMUXER_OPTIONS: &[NAOptionDefinition] = &[ impl<'a> NAOptionHandler for MOVDemuxer<'a> { fn get_supported_options(&self) -> &[NAOptionDefinition] { DEMUXER_OPTIONS } + #[allow(clippy::single_match)] fn set_options(&mut self, options: &[NAOption]) { for option in options.iter() { for opt_def in DEMUXER_OPTIONS.iter() {