- let ret = dmx_reg.find_demuxer(dmx_name);
- if ret.is_none() {
- println!("cannot find demuxer for '{}'", dmx_name);
+
+ let mut nfr: Box<dyn ByteIO>;
+ if start != 0 || end.is_some() {
+ let file = fr.finish();
+ nfr = Box::new(BoundedFileReader::new_read(file, start, end).unwrap());
+ } else {
+ nfr = Box::new(fr);
+ }
+ let mut br = ByteReader::new(nfr.as_mut());
+
+ let mut dmx = DemuxerObject::create(&mut br, &full_reg, transcoder.input_name.as_str(), &transcoder.input_fmt, is_raw);
+ if dmx.is_none() {
+ println!("cannot find demuxer for '{}'", transcoder.input_name.as_str());