aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/routes/compat/jellyfin/mod.rs16
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)]