diff --git a/src/lib.rs b/src/lib.rs index d5286ec..bf9ea55 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -83,7 +83,15 @@ fn read_boxes(f: File) -> Result { BoxType::MoofBox => { start = (size as u32 - HEADER_SIZE) as u64; } - _ => break + _ => { + // Skip over unsupported boxes, but stop if the size is zero, + // meaning the last box has been reached. + if size == 0 { + break; + } else { + start = (size as u32 - HEADER_SIZE) as u64; + } + } }; } Ok(bmff)