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); }
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);
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);
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);