diff options
author | metamuffin <metamuffin@disroot.org> | 2025-03-02 13:43:59 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-03-02 13:43:59 +0100 |
commit | b9539ee3afbf1440b8628bf0609dc0e24aed116c (patch) | |
tree | 5fa67c5db5e3c266385da36116f7723bf1a72c96 /server/src/routes/compat/jellyfin/mod.rs | |
parent | f0dbf139d8708194d1ff7e887b1dff48ccc166fa (diff) | |
download | jellything-b9539ee3afbf1440b8628bf0609dc0e24aed116c.tar jellything-b9539ee3afbf1440b8628bf0609dc0e24aed116c.tar.bz2 jellything-b9539ee3afbf1440b8628bf0609dc0e24aed116c.tar.zst |
change things
Diffstat (limited to 'server/src/routes/compat/jellyfin/mod.rs')
-rw-r--r-- | server/src/routes/compat/jellyfin/mod.rs | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/server/src/routes/compat/jellyfin/mod.rs b/server/src/routes/compat/jellyfin/mod.rs index ab36a8c..6066760 100644 --- a/server/src/routes/compat/jellyfin/mod.rs +++ b/server/src/routes/compat/jellyfin/mod.rs @@ -21,7 +21,7 @@ use crate::routes::{ use anyhow::{anyhow, Context}; use jellybase::{database::Database, CONF}; use jellycommon::{ - stream::{StreamFormat, StreamSpec}, + stream::{StreamContainer, StreamSpec}, user::{NodeUserData, WatchedState}, MediaInfo, Node, NodeID, NodeKind, SourceTrack, SourceTrackKind, Visibility, }; @@ -446,16 +446,12 @@ pub fn r_jellyfin_video_stream( .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: (0..media.tracks.len()).collect(), - index: None, - profile: None, - } - )))) + let params = StreamSpec::Remux { + tracks: (0..media.tracks.len()).collect(), + container: StreamContainer::WebM, + } + .to_query(); + Ok(Redirect::temporary(format!("/n/{id}/stream{params}"))) } #[derive(Deserialize)] @@ -498,9 +494,7 @@ pub fn r_jellyfin_playback_bitratetest(_session: Session, Size: usize) -> Vec<u8 } #[post("/Sessions/Capabilities/Full")] -pub fn r_jellyfin_sessions_capabilities_full(_session: Session) { - -} +pub fn r_jellyfin_sessions_capabilities_full(_session: Session) {} #[derive(Deserialize)] #[serde(rename_all = "PascalCase")] @@ -796,7 +790,10 @@ fn item_object(node: &Node, userdata: &NodeUserData) -> JellyfinItem { location_type: node.media.as_ref().map(|_| "FileSystem".to_owned()), play_access: node.media.as_ref().map(|_| "Full".to_owned()), container: node.media.as_ref().map(|_| "webm".to_owned()), - run_time_ticks: node.media.as_ref().map(|m| (m.duration * 10_000_000.) as i64), + run_time_ticks: node + .media + .as_ref() + .map(|m| (m.duration * 10_000_000.) as i64), media_sources: media_source.as_ref().map(|s| vec![s.clone()]), media_streams: media_source.as_ref().map(|s| s.media_streams.clone()), path: node |