X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;ds=sidebyside;f=nihav-rad%2Fsrc%2Fdemuxers%2Fsmacker.rs;h=741756c12b3418f0c44fe6b0006a3b5987c70274;hb=d24468d9dbd54f5cbe414649ff061699337fa7fe;hp=b666cf1f7eac2ae440924f3414e76a3d584e751e;hpb=606c448ef167017c3171b49f9eb2af82c15079ce;p=nihav.git diff --git a/nihav-rad/src/demuxers/smacker.rs b/nihav-rad/src/demuxers/smacker.rs index b666cf1..741756c 100644 --- a/nihav-rad/src/demuxers/smacker.rs +++ b/nihav-rad/src/demuxers/smacker.rs @@ -95,7 +95,7 @@ fn get_pts_inc(val: i32) -> u64 { } impl<'a> DemuxCore<'a> for SmackerVideoDemuxer<'a> { - fn open(&mut self, strmgr: &mut StreamManager) -> DemuxerResult<()> { + fn open(&mut self, strmgr: &mut StreamManager, _seek_idx: &mut SeekIndex) -> DemuxerResult<()> { let src = &mut self.src; let mut magic: [u8; 4] = [0; 4]; src.read_buf(&mut magic)?; @@ -161,7 +161,7 @@ impl<'a> DemuxCore<'a> for SmackerVideoDemuxer<'a> { self.start = src.tell(); self.cur_frame = 0; self.reset_state(); - + Ok(()) } fn get_frame(&mut self, strmgr: &mut StreamManager) -> DemuxerResult { @@ -178,7 +178,7 @@ impl<'a> DemuxCore<'a> for SmackerVideoDemuxer<'a> { validate!(chunk_size > 0); validate!(payload_size >= chunk_size); payload_size -= chunk_size; - let oldpal = self.pal.clone(); + let oldpal = self.pal; let mut idx = 0; let endpos = self.src.tell() + (chunk_size as u64) - 1; while idx < 256 { @@ -245,8 +245,7 @@ impl<'a> DemuxCore<'a> for SmackerVideoDemuxer<'a> { Ok(pkt) } - #[allow(unused_variables)] - fn seek(&mut self, time: u64) -> DemuxerResult<()> { + fn seek(&mut self, time: u64, _seek_idx: &SeekIndex) -> DemuxerResult<()> { if time == 0 { let start = self.start; self.src.seek(SeekFrom::Start(start))?; @@ -284,7 +283,7 @@ impl<'a> SmackerVideoDemuxer<'a> { pub struct SMKDemuxerCreator { } impl DemuxerCreator for SMKDemuxerCreator { - fn new_demuxer<'a>(&self, br: &'a mut ByteReader<'a>) -> Box + 'a> { + fn new_demuxer<'a>(&self, br: &'a mut ByteReader<'a>) -> Box + 'a> { Box::new(SmackerVideoDemuxer::new(br)) } fn get_name(&self) -> &'static str { "smacker" } @@ -305,7 +304,8 @@ mod test { let mut br = ByteReader::new(&mut fr); let mut dmx = SmackerVideoDemuxer::new(&mut br); let mut sm = StreamManager::new(); - dmx.open(&mut sm).unwrap(); + let mut si = SeekIndex::new(); + dmx.open(&mut sm, &mut si).unwrap(); loop { let pktres = dmx.get_frame(&mut sm); if let Err(e) = pktres {