aboutsummaryrefslogtreecommitdiff
path: root/stream/src/jhls.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-04-16 20:06:01 +0200
committermetamuffin <metamuffin@disroot.org>2025-04-16 20:06:01 +0200
commitd26849375c70c795fdf664f9dfea68c273b6d483 (patch)
tree53ad4f0eff3604e80b27ff0abf0438ea6c69d432 /stream/src/jhls.rs
parent1cd966f7454f052fda6c6c9ae1597479f05e23d9 (diff)
parentcdf95d7b80bd2b78895671da8f462145bb5db522 (diff)
downloadjellything-d26849375c70c795fdf664f9dfea68c273b6d483.tar
jellything-d26849375c70c795fdf664f9dfea68c273b6d483.tar.bz2
jellything-d26849375c70c795fdf664f9dfea68c273b6d483.tar.zst
Merge branch 'rewrite-stream'
Diffstat (limited to 'stream/src/jhls.rs')
-rw-r--r--stream/src/jhls.rs47
1 files changed, 0 insertions, 47 deletions
diff --git a/stream/src/jhls.rs b/stream/src/jhls.rs
deleted file mode 100644
index b222e39..0000000
--- a/stream/src/jhls.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- This file is part of jellything (https://codeberg.org/metamuffin/jellything)
- which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
- Copyright (C) 2025 metamuffin <metamuffin.org>
-*/
-use anyhow::{anyhow, Result};
-use jellybase::{
- common::{
- jhls::JhlsTrackIndex,
- stream::StreamSpec,
- user::{PermissionSet, UserPermission},
- LocalTrack, Node,
- },
- permission::PermissionSetExt,
- CONF,
-};
-use std::sync::Arc;
-use tokio::io::{AsyncWriteExt, DuplexStream};
-
-pub async fn jhls_index(
- node: Arc<Node>,
- local_tracks: &[LocalTrack],
- spec: StreamSpec,
- mut b: DuplexStream,
- perms: &PermissionSet,
-) -> Result<()> {
- let local_track = local_tracks
- .first()
- .ok_or(anyhow!("track missing"))?
- .to_owned();
-
- let fragments = tokio::task::spawn_blocking(move || {
- jellyremuxer::fragment::fragment_index(&CONF.media_path, &node, &local_track, spec.track[0])
- })
- .await??;
-
- let out = serde_json::to_string(&JhlsTrackIndex {
- extra_profiles: if perms.check(&UserPermission::Transcode) {
- CONF.transcoding_profiles.clone()
- } else {
- vec![]
- },
- fragments,
- })?;
- tokio::spawn(async move { b.write_all(out.as_bytes()).await });
- Ok(())
-}