diff options
author | metamuffin <metamuffin@disroot.org> | 2025-02-01 15:11:15 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-02-01 15:11:15 +0100 |
commit | 95d90fbba36a752f7cf96ea0bebd925534341e15 (patch) | |
tree | 03b51cc0bda1a6332d7b694a37a806b0ad982050 /import/src/lib.rs | |
parent | 05ae425c1b906f81d6981e10688cb6949bf9daaf (diff) | |
download | jellything-95d90fbba36a752f7cf96ea0bebd925534341e15.tar jellything-95d90fbba36a752f7cf96ea0bebd925534341e15.tar.bz2 jellything-95d90fbba36a752f7cf96ea0bebd925534341e15.tar.zst |
ebml-struct based fragment writer (does not work)
Diffstat (limited to 'import/src/lib.rs')
-rw-r--r-- | import/src/lib.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/import/src/lib.rs b/import/src/lib.rs index 4be2151..2de4cc9 100644 --- a/import/src/lib.rs +++ b/import/src/lib.rs @@ -14,7 +14,7 @@ use jellybase::{ database::Database, CONF, SECRETS, }; -use matroska::matroska_metadata; +use jellyremuxer::metadata::matroska_metadata; use rayon::iter::{ParallelDrainRange, ParallelIterator}; use std::{ collections::HashMap, @@ -243,6 +243,13 @@ fn import_media_file(db: &Database, path: &Path, parent: NodeID) -> Result<()> { let info = m.info.ok_or(anyhow!("no info"))?; let tracks = m.tracks.ok_or(anyhow!("no tracks"))?; + let infojson = m + .infojson + .as_ref() + .map(|ij| serde_json::from_slice::<infojson::YVideo>(ij)) + .transpose() + .context("infojson")?; + let mut tags = m .tags .map(|tags| { @@ -260,8 +267,7 @@ fn import_media_file(db: &Database, path: &Path, parent: NodeID) -> Result<()> { .to_string_lossy() .to_string(); - let slug = m - .infojson + let slug = infojson .as_ref() .map(|ij| format!("youtube-{}", ij.id)) .unwrap_or(make_kebab(&filepath_stem)); @@ -311,7 +317,7 @@ fn import_media_file(db: &Database, path: &Path, parent: NodeID) -> Result<()> { }) .collect::<Vec<_>>(); - if let Some(infojson) = m.infojson { + if let Some(infojson) = infojson { node.kind = Some( if !tracks .iter() |