]> git.nihav.org Git - nihav.git/blobdiff - nihav-realmedia/src/demuxers/realmedia.rs
make audio decoder tests write .wav files only by request
[nihav.git] / nihav-realmedia / src / demuxers / realmedia.rs
index e3d7447f580335e50127a831d1835ce092a83b8c..2222b384fbf50e2c4df8f5ba09e3381b26e9fda9 100644 (file)
@@ -1060,7 +1060,11 @@ impl<'a> RealMediaDemuxer<'a> {
         else if id == mktag!(b"DATA") {
             self.data_chunks.push((self.src.tell() - 10, size, ver));
         }
-        else if id == mktag!(b"INDX") { self.parse_index(seek_idx, (size as usize) - 10, ver)?; }
+        else if id == mktag!(b"INDX") {
+            if !seek_idx.skip_index {
+                self.parse_index(seek_idx, (size as usize) - 10, ver)?;
+            }
+        }
         else if id == 0               { return Ok(true); }
         else                          { println!("unknown chunk type {:08X}", id); }
 
@@ -1670,7 +1674,8 @@ mod test {
         let mut br = ByteReader::new(&mut fr);
         let mut dmx = RealMediaDemuxer::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);
@@ -1692,7 +1697,8 @@ mod test {
         let mut br = ByteReader::new(&mut fr);
         let mut dmx = RealAudioDemuxer::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);
@@ -1713,7 +1719,8 @@ mod test {
         let mut br = ByteReader::new(&mut fr);
         let mut dmx = RealIVRDemuxer::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);