fix demuxer tests after introducing seek index
[nihav.git] / nihav-rad / src / demuxers / smacker.rs
index 6555319c76ca1a3f55e1108099f28dc6f82e92b0..09f1cd70e82c4c3468884ac3cea02ab0834335f7 100644 (file)
@@ -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)?;
@@ -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))?;
@@ -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 {