diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/Cargo.toml | 4 | ||||
-rw-r--r-- | tools/src/bin/import.rs | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/tools/Cargo.toml b/tools/Cargo.toml index 9eb488b..006a7a1 100644 --- a/tools/Cargo.toml +++ b/tools/Cargo.toml @@ -12,9 +12,11 @@ log = "0.4.18" env_logger = "0.10.0" anyhow = "1.0.71" clap = { version = "4.3.0", features = ["derive"] } +reqwest = { version = "0.11.18", features = ["blocking", "json"] } + serde = { version = "1.0.164", features = ["derive"] } serde_json = "1.0.96" -reqwest = { version = "0.11.18", features = ["blocking", "json"] } +bincode = { version = "2.0.0-rc.3", features = ["serde"] } [[bin]] path = "src/bin/import.rs" diff --git a/tools/src/bin/import.rs b/tools/src/bin/import.rs index c048eb5..c886adf 100644 --- a/tools/src/bin/import.rs +++ b/tools/src/bin/import.rs @@ -136,8 +136,18 @@ fn main() -> anyhow::Result<()> { std::fs::copy(&input, &source_path)?; let input = File::open(&source_path).unwrap(); let mut input = EbmlReader::new(input); - let (tracks, local_tracks, _seek_index) = + let (tracks, local_tracks, seek_index) = import_read(&source_path.to_path_buf(), &mut input)?; + + for (tn, index) in seek_index { + info!("writing index {tn} with {} blocks", index.blocks.len()); + bincode::encode_into_std_write( + index, + &mut File::create(source_path.with_extension(&format!("si.{tn}")))?, + bincode::config::standard(), + )?; + } + kind = NodeKind::Movie; media = Some(MediaInfo { tracks, |