let ret = read_chunk_header(self.src);
if ret.is_err() { break; }
let (ctype, size) = ret.unwrap();
+ if self.demux_mode == DemuxMode::Normal && ctype == mktag!(b"mdat") && size == u64::MAX && self.src.tell() == 8 {
+ println!("mdat atom with no size at the very beginning of the file");
+ println!("try nihav-movrender to extract streams from such file");
+ return Err(DemuxerError::NotImplemented);
+ }
let size = if size == u64::MAX { self.file_size - self.src.tell() } else { size };
if size == 256-8 && (ctype >> 24) == 0 {
println!("Probably an old flattened file, skipping garbage in the middle...");