diff options
author | metamuffin <metamuffin@disroot.org> | 2025-04-16 21:08:26 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-04-16 21:08:26 +0200 |
commit | 96da47a8bb0a58bc2732c35eef86702f5cd2b5b2 (patch) | |
tree | 5431c7f91528cf6e1f7fee556363f736a09d68f2 /remuxer/src | |
parent | afb1bd245b7065d791167611e3a6e84d7d1272f7 (diff) | |
download | jellything-96da47a8bb0a58bc2732c35eef86702f5cd2b5b2.tar jellything-96da47a8bb0a58bc2732c35eef86702f5cd2b5b2.tar.bz2 jellything-96da47a8bb0a58bc2732c35eef86702f5cd2b5b2.tar.zst |
send actual remux bitrate; close #18
Diffstat (limited to 'remuxer/src')
-rw-r--r-- | remuxer/src/matroska_to_webm.rs | 5 | ||||
-rw-r--r-- | remuxer/src/seek_index.rs | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/remuxer/src/matroska_to_webm.rs b/remuxer/src/matroska_to_webm.rs index b9a1819..b77062b 100644 --- a/remuxer/src/matroska_to_webm.rs +++ b/remuxer/src/matroska_to_webm.rs @@ -1,3 +1,8 @@ +/* + This file is part of jellything (https://codeberg.org/metamuffin/jellything) + which is licensed under the GNU Affero General Public License (version 3); see /COPYING. + Copyright (C) 2025 metamuffin <metamuffin.org> +*/ use crate::ebml_track_entry; use anyhow::Context; use ebml_struct::{ 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() { |