diff options
Diffstat (limited to 'remuxer/src/seek_index.rs')
-rw-r--r-- | remuxer/src/seek_index.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/remuxer/src/seek_index.rs b/remuxer/src/seek_index.rs index 7296d93..82f62fb 100644 --- a/remuxer/src/seek_index.rs +++ b/remuxer/src/seek_index.rs @@ -53,6 +53,13 @@ pub fn get_seek_index(path: &Path) -> anyhow::Result<Arc<BTreeMap<u64, Arc<SeekI }) } +pub fn get_track_sizes(path: &Path) -> Result<BTreeMap<u64, usize>> { + Ok(get_seek_index(path)? + .iter() + .map(|(k, v)| (*k, v.blocks.iter().map(|b| b.size).sum::<usize>())) + .collect()) +} + pub fn import_seek_index(input: &mut EbmlReader) -> Result<BTreeMap<u64, SeekIndex>> { let mut seek_index = BTreeMap::new(); while let Some(item) = input.next() { |