diff options
-rw-r--r-- | remuxer/src/fragment.rs | 11 | ||||
-rw-r--r-- | remuxer/src/lib.rs | 12 |
2 files changed, 12 insertions, 11 deletions
diff --git a/remuxer/src/fragment.rs b/remuxer/src/fragment.rs index dbf27d5..cd395f9 100644 --- a/remuxer/src/fragment.rs +++ b/remuxer/src/fragment.rs @@ -163,7 +163,7 @@ pub fn write_fragment_into( // TODO this one caused fragments to get dropped by MSE for no reason // for i in start_block_index..end_block_index { // let index_block = &index.blocks[i]; - // let mut block = reader.next()?; + // let (mut block, duration) = reader.next()?; // assert_eq!(index_block.size, block.data.len(), "seek index is wrong"); @@ -171,7 +171,14 @@ pub fn write_fragment_into( // block.timestamp_off = 0; // output.write_tag(&MatroskaTag::Cluster(Master::Collected(vec![ // MatroskaTag::Timestamp(index_block.pts - start_block.pts), - // MatroskaTag::SimpleBlock(block.dump()), + // if let Some(duration) = duration { + // MatroskaTag::BlockGroup(Master::Collected(vec![ + // MatroskaTag::BlockDuration(duration), + // MatroskaTag::Block(block), + // ])) + // } else { + // MatroskaTag::SimpleBlock(block) + // }, // ])))?; // } } diff --git a/remuxer/src/lib.rs b/remuxer/src/lib.rs index 6480a3d..192375b 100644 --- a/remuxer/src/lib.rs +++ b/remuxer/src/lib.rs @@ -71,15 +71,9 @@ pub fn ebml_track_entry( MatroskaTag::PixelWidth(width), MatroskaTag::PixelHeight(height), ]; - if let Some(display_width) = display_width { - props.push(MatroskaTag::DisplayWidth(display_width)) - } - if let Some(display_height) = display_height { - props.push(MatroskaTag::DisplayHeight(display_height)) - } - if let Some(display_unit) = display_unit { - props.push(MatroskaTag::DisplayUnit(display_unit)) - } + props.push(MatroskaTag::DisplayWidth(display_width.unwrap_or(width))); + props.push(MatroskaTag::DisplayHeight(display_height.unwrap_or(height))); + props.push(MatroskaTag::DisplayUnit(display_unit.unwrap_or(0))); if let Some(fps) = fps { props.push(MatroskaTag::FrameRate(fps)) } |