diff options
Diffstat (limited to 'server/src/logic/stream.rs')
-rw-r--r-- | server/src/logic/stream.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/server/src/logic/stream.rs b/server/src/logic/stream.rs index dfe2f86..d239c92 100644 --- a/server/src/logic/stream.rs +++ b/server/src/logic/stream.rs @@ -9,7 +9,7 @@ use jellycommon::{api::NodeFilterSort, stream::StreamSpec, NodeID, TrackSource}; use jellyimport::asset_token::AssetInner; use jellylogic::{node::get_node, session::Session}; use jellystream::SMediaInfo; -use log::info; +use log::{info, warn}; use rocket::{ get, head, http::{Header, Status}, @@ -148,9 +148,16 @@ pub async fn r_stream( }); // TODO cleaner solution needed - let mut reader = spawn_blocking(move || jellystream::stream(media, spec, urange)) + let mut reader = match spawn_blocking(move || jellystream::stream(media, spec, urange)) .await - .unwrap()?; + .unwrap() + { + Ok(o) => o, + Err(e) => { + warn!("stream error: {e:?}"); + Err(e)? + } + }; let (stream_write, stream_read) = duplex(4096); spawn_blocking(move || std::io::copy(&mut reader, &mut SyncIoBridge::new(stream_write))); |