aboutsummaryrefslogtreecommitdiff
path: root/stream/src
diff options
context:
space:
mode:
Diffstat (limited to 'stream/src')
-rw-r--r--stream/src/hls.rs20
1 files changed, 13 insertions, 7 deletions
diff --git a/stream/src/hls.rs b/stream/src/hls.rs
index c5b7f91..ea82fed 100644
--- a/stream/src/hls.rs
+++ b/stream/src/hls.rs
@@ -11,7 +11,10 @@ use jellycommon::{
LocalTrack, Node,
};
use std::{fmt::Write, ops::Range};
-use tokio::io::{AsyncWriteExt, DuplexStream};
+use tokio::{
+ io::{AsyncWriteExt, DuplexStream},
+ task::spawn_blocking,
+};
pub async fn hls_master_stream(
_node: Node,
@@ -47,12 +50,15 @@ pub async fn hls_variant_stream(
mut b: DuplexStream,
) -> Result<()> {
let track = *spec.tracks.get(0).ok_or(anyhow!("no track"))?;
- let snips = jellyremuxer::snippet::snippet_index(
- &CONF.library_path,
- &node.public,
- &track_sources,
- track,
- )?;
+ let snips = spawn_blocking(move || {
+ jellyremuxer::snippet::snippet_index(
+ &CONF.library_path,
+ &node.public,
+ &track_sources,
+ track,
+ )
+ })
+ .await??;
let mut out = String::new();
writeln!(out, "#EXTM3U")?;
writeln!(out, "#EXT-X-VERSION:4")?;