diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-22 13:56:06 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-22 13:56:06 +0100 |
commit | ec76bbe5398f51ffa55bfd315b30c0a07245d4e6 (patch) | |
tree | fa0e1723f861de6fee21a35524bb7768fab0b6ce /server/src/routes/stream.rs | |
parent | 84e093afa908dc68a7b0ae97ba8dc76aa0901d26 (diff) | |
download | jellything-ec76bbe5398f51ffa55bfd315b30c0a07245d4e6.tar jellything-ec76bbe5398f51ffa55bfd315b30c0a07245d4e6.tar.bz2 jellything-ec76bbe5398f51ffa55bfd315b30c0a07245d4e6.tar.zst |
this is *horrible*
Diffstat (limited to 'server/src/routes/stream.rs')
-rw-r--r-- | server/src/routes/stream.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/server/src/routes/stream.rs b/server/src/routes/stream.rs index c49f51d..0e1fccb 100644 --- a/server/src/routes/stream.rs +++ b/server/src/routes/stream.rs @@ -1,9 +1,12 @@ +use crate::library::Library; + use super::ui::error::MyError; -use crate::AppState; use anyhow::{anyhow, Context}; +use jellyremuxer::RemuxerContext; use log::debug; use log::warn; use rocket::{get, http::ContentType, response::stream::ReaderStream, State}; +use std::ops::Deref; use std::path::PathBuf; use tokio::io::{duplex, DuplexStream}; use tokio_util::io::SyncIoBridge; @@ -25,16 +28,16 @@ pub fn r_stream( path: PathBuf, webm: Option<bool>, tracks: String, - state: &State<AppState>, + remuxer: &State<RemuxerContext>, + library: &State<Library>, ) -> Result<(ContentType, ReaderStream![DuplexStream]), MyError> { let (a, b) = duplex(1024); let path = path.to_str().unwrap().to_string(); - let item = state - .library + let item = library .nested(&path) .context("retrieving library node")? .get_item()?; - let remuxer = state.remuxer.clone(); + let remuxer = remuxer.deref().clone(); let tracks = tracks .split(",") .map(|e| e.parse().map_err(|_| anyhow!("invalid number"))) |