diff options
author | metamuffin <metamuffin@disroot.org> | 2024-01-26 04:35:33 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-01-26 04:35:33 +0100 |
commit | 45a1ac348e2ca9cd4e05ee33d88e4dafc5336126 (patch) | |
tree | 5ac782c4766a4576a0d3dc59acd3b8f8b4da9c6c | |
parent | 8fb1a7033bc3936516f24b3a797d005ef9a54422 (diff) | |
download | jellything-45a1ac348e2ca9cd4e05ee33d88e4dafc5336126.tar jellything-45a1ac348e2ca9cd4e05ee33d88e4dafc5336126.tar.bz2 jellything-45a1ac348e2ca9cd4e05ee33d88e4dafc5336126.tar.zst |
oops. broke non-subtitle streams
-rw-r--r-- | remuxer/src/segment_extractor.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/remuxer/src/segment_extractor.rs b/remuxer/src/segment_extractor.rs index d176b3a..89d5784 100644 --- a/remuxer/src/segment_extractor.rs +++ b/remuxer/src/segment_extractor.rs @@ -31,9 +31,13 @@ impl<'a> SegmentExtractIter<'a> { MatroskaTag::Timestamp(_) => (), MatroskaTag::BlockGroup(Master::Start) => group = true, MatroskaTag::BlockGroup(Master::End) => { - assert!(group, "group end without start"); - let block = saved_block.expect("blockgroup without any block"); - return Ok((block, duration)); + if !group { + bail!("group end without start"); + } + if let Some(block) = saved_block { + return Ok((block, duration)); + } + group = false; } MatroskaTag::BlockDuration(d) => duration = Some(d), MatroskaTag::SimpleBlock(buf) | MatroskaTag::Block(buf) => { |