aboutsummaryrefslogtreecommitdiff
path: root/stream/src/hls.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-10-02 17:54:55 +0200
committermetamuffin <metamuffin@disroot.org>2023-10-02 17:54:55 +0200
commit74acb928996bcade2829c57187f35a31723be700 (patch)
treec9401d937f3844ad3d04f6958bc88aa3ce7adc94 /stream/src/hls.rs
parentab7d91489b0ba4c9222f493857c98aa4331a982b (diff)
downloadjellything-74acb928996bcade2829c57187f35a31723be700.tar
jellything-74acb928996bcade2829c57187f35a31723be700.tar.bz2
jellything-74acb928996bcade2829c57187f35a31723be700.tar.zst
spawn_blocking where neccesary
Diffstat (limited to 'stream/src/hls.rs')
-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")?;