aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/seek_index.rs
diff options
context:
space:
mode:
Diffstat (limited to 'remuxer/src/seek_index.rs')
-rw-r--r--remuxer/src/seek_index.rs7
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() {