println!("failed to open {}", name);
return window;
};
- let br = Box::new(FileReader::new_read(file));
+ let mut fr = FileReader::new_read(file);
+ let (_is_raw, start, end) = detect_tags(&mut fr, self.loglevel == LogLevel::Verbose);
+ let br: Box<dyn ByteIO> = if start != 0 || end.is_some() {
+ if self.loglevel == LogLevel::Verbose {
+ println!(" limiting range to {:X}-{:X}", start, end.unwrap_or(0));
+ }
+ let file = fr.finish();
+ Box::new(BoundedFileReader::new_read(file, start, end).unwrap())
+ } else {
+ Box::new(fr)
+ };
+
let fdmx = self.force_dmx.as_deref();
let mut dmx = DemuxerObject::create(br, &self.full_reg, name, fdmx, false, &[], false);
self.force_dmx = None;