diff options
author | metamuffin <metamuffin@disroot.org> | 2023-10-04 23:32:24 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-10-04 23:32:24 +0200 |
commit | 95e43ac88a322251a5e5a7d529b7b20a511978fd (patch) | |
tree | 52e86d7917b7de9c3c2e38fdd580a621c2726961 /stream/src/jhls.rs | |
parent | ae6885187b0aa881164151ab97bd4887c83b775a (diff) | |
download | jellything-95e43ac88a322251a5e5a7d529b7b20a511978fd.tar jellything-95e43ac88a322251a5e5a7d529b7b20a511978fd.tar.bz2 jellything-95e43ac88a322251a5e5a7d529b7b20a511978fd.tar.zst |
more permissions
Diffstat (limited to 'stream/src/jhls.rs')
-rw-r--r-- | stream/src/jhls.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/stream/src/jhls.rs b/stream/src/jhls.rs index 5183a26..850cc32 100644 --- a/stream/src/jhls.rs +++ b/stream/src/jhls.rs @@ -1,8 +1,9 @@ use anyhow::Result; -use jellybase::CONF; +use jellybase::{permission::PermissionSetExt, CONF}; use jellycommon::{ jhls::{JhlsMetadata, JhlsTrack}, stream::StreamSpec, + user::{PermissionSet, UserPermission}, LocalTrack, Node, }; use tokio::io::{AsyncWriteExt, DuplexStream}; @@ -12,6 +13,7 @@ pub async fn jhls_stream( track_sources: Vec<LocalTrack>, _spec: StreamSpec, mut b: DuplexStream, + perms: &PermissionSet, ) -> Result<()> { let media = node.public.media.clone().unwrap(); let tracks = tokio::task::spawn_blocking(move || { @@ -42,7 +44,11 @@ pub async fn jhls_stream( let out = serde_json::to_string(&JhlsMetadata { tracks, - extra_profiles: CONF.transcoding_profiles.clone(), + extra_profiles: if perms.check(&UserPermission::Transcode) { + CONF.transcoding_profiles.clone() + } else { + vec![] + }, duration: media.duration, })?; tokio::spawn(async move { b.write_all(out.as_bytes()).await }); |