From 8519f8593567f7363949dd6a7bf1601b08932338 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 3 Aug 2023 17:56:19 +0200 Subject: set duration (doesnt work) --- remuxer/src/import/mod.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'remuxer') diff --git a/remuxer/src/import/mod.rs b/remuxer/src/import/mod.rs index 78c752e..7b0b371 100644 --- a/remuxer/src/import/mod.rs +++ b/remuxer/src/import/mod.rs @@ -17,10 +17,16 @@ use std::{collections::BTreeMap, path::PathBuf}; pub fn import_read( path: &PathBuf, input: &mut EbmlReader, -) -> Result<(Vec, Vec, BTreeMap)> { +) -> Result<( + Vec, + Vec, + BTreeMap, + f64, +)> { let mut iteminfo = Vec::new(); let mut private = Vec::new(); let mut seek_index = BTreeMap::new(); + let mut dur = None; while let Some(item) = input.next() { let item = match item { Ok(item) => item, @@ -49,20 +55,20 @@ pub fn import_read( MatroskaTag::Segment(_) => { info!("segment start"); let mut children = Unflatten::new_with_end(input, item); - import_read_segment( + dur = dur.or(import_read_segment( path, &mut children, &mut iteminfo, &mut private, &mut seek_index, - )?; + )?); info!("segment end"); } _ => debug!("(r) tag ignored: {item:?}"), } } - Ok((iteminfo, private, seek_index)) + Ok((iteminfo, private, seek_index, dur.unwrap_or(0.))) } fn import_read_segment( -- cgit v1.2.3-70-g09d2