aboutsummaryrefslogtreecommitdiff
path: root/server/src/logic/stream.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/logic/stream.rs')
-rw-r--r--server/src/logic/stream.rs13
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)));