diff options
author | metamuffin <metamuffin@disroot.org> | 2025-02-05 15:01:28 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-02-05 15:01:28 +0100 |
commit | d84a306e86316b845b7fb8dfc971d9a577f00f22 (patch) | |
tree | ff08a3f1adb8dac3d2b1b067b72ead71c7944dec /server | |
parent | 7a2380bd5413253036c2ad5aa2a07be1e238d00c (diff) | |
download | jellything-d84a306e86316b845b7fb8dfc971d9a577f00f22.tar jellything-d84a306e86316b845b7fb8dfc971d9a577f00f22.tar.bz2 jellything-d84a306e86316b845b7fb8dfc971d9a577f00f22.tar.zst |
jellyfin: make audio-only less broken
Diffstat (limited to 'server')
-rw-r--r-- | server/src/routes/compat/jellyfin/mod.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/server/src/routes/compat/jellyfin/mod.rs b/server/src/routes/compat/jellyfin/mod.rs index ddbd410..9c0c6fb 100644 --- a/server/src/routes/compat/jellyfin/mod.rs +++ b/server/src/routes/compat/jellyfin/mod.rs @@ -437,17 +437,25 @@ pub fn r_jellyfin_items_playbackinfo( } #[get("/Videos/<id>/stream.webm")] -pub fn r_jellyfin_video_stream(_session: Session, id: &str) -> Redirect { - Redirect::temporary(rocket::uri!(r_stream( +pub fn r_jellyfin_video_stream( + _session: Session, + database: &State<Database>, + id: &str, +) -> MyResult<Redirect> { + let node = database + .get_node_slug(id)? + .ok_or(anyhow!("node does not exist"))?; + let media = node.media.as_ref().ok_or(anyhow!("node has no media"))?; + Ok(Redirect::temporary(rocket::uri!(r_stream( id, StreamSpec { format: StreamFormat::Matroska, webm: Some(true), - track: vec![0, 1], + track: (0..media.tracks.len()).collect(), index: None, profile: None, } - ))) + )))) } #[derive(Deserialize)] |