diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-29 18:03:06 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-29 18:03:06 +0100 |
commit | db511d3fe50f05329615f718515fab1b80d9e06a (patch) | |
tree | 7969fea01be100cbe4385ad13a14940a987ac513 /stream/src | |
parent | 82e8a55a1496ae9132e13e7286fe1c0d57d586d3 (diff) | |
download | jellything-db511d3fe50f05329615f718515fab1b80d9e06a.tar jellything-db511d3fe50f05329615f718515fab1b80d9e06a.tar.bz2 jellything-db511d3fe50f05329615f718515fab1b80d9e06a.tar.zst |
no direct redb access
Diffstat (limited to 'stream/src')
-rw-r--r-- | stream/src/fragment.rs | 3 | ||||
-rw-r--r-- | stream/src/hls.rs | 6 | ||||
-rw-r--r-- | stream/src/jhls.rs | 3 | ||||
-rw-r--r-- | stream/src/lib.rs | 6 | ||||
-rw-r--r-- | stream/src/webvtt.rs | 5 |
5 files changed, 13 insertions, 10 deletions
diff --git a/stream/src/fragment.rs b/stream/src/fragment.rs index 17e7633..2dbc716 100644 --- a/stream/src/fragment.rs +++ b/stream/src/fragment.rs @@ -12,11 +12,12 @@ use jellycommon::{ }; use jellytranscoder::fragment::transcode; use log::warn; +use std::sync::Arc; use tokio::{fs::File, io::DuplexStream}; use tokio_util::io::SyncIoBridge; pub async fn fragment_stream( - node: Node, + node: Arc<Node>, local_tracks: Vec<LocalTrack>, spec: StreamSpec, mut b: DuplexStream, diff --git a/stream/src/hls.rs b/stream/src/hls.rs index 2203ee8..c09b77f 100644 --- a/stream/src/hls.rs +++ b/stream/src/hls.rs @@ -10,14 +10,14 @@ use jellycommon::{ stream::{StreamFormat, StreamSpec}, LocalTrack, Node, SourceTrackKind, }; -use std::{fmt::Write, ops::Range}; +use std::{fmt::Write, ops::Range, sync::Arc}; use tokio::{ io::{AsyncWriteExt, DuplexStream}, task::spawn_blocking, }; pub async fn hls_master_stream( - node: Node, + node: Arc<Node>, _local_tracks: Vec<LocalTrack>, _spec: StreamSpec, mut b: DuplexStream, @@ -50,7 +50,7 @@ pub async fn hls_master_stream( } pub async fn hls_variant_stream( - node: Node, + node: Arc<Node>, local_tracks: Vec<LocalTrack>, mut spec: StreamSpec, mut b: DuplexStream, diff --git a/stream/src/jhls.rs b/stream/src/jhls.rs index b0de837..28d383f 100644 --- a/stream/src/jhls.rs +++ b/stream/src/jhls.rs @@ -11,10 +11,11 @@ use jellycommon::{ user::{PermissionSet, UserPermission}, LocalTrack, Node, }; +use std::sync::Arc; use tokio::io::{AsyncWriteExt, DuplexStream}; pub async fn jhls_index( - node: Node, + node: Arc<Node>, local_tracks: &[LocalTrack], spec: StreamSpec, mut b: DuplexStream, diff --git a/stream/src/lib.rs b/stream/src/lib.rs index 14d3a4c..2055440 100644 --- a/stream/src/lib.rs +++ b/stream/src/lib.rs @@ -19,7 +19,7 @@ use jellycommon::{ LocalTrack, Node, TrackSource, }; use jhls::jhls_index; -use std::{io::SeekFrom, ops::Range}; +use std::{io::SeekFrom, ops::Range, sync::Arc}; use tokio::{ fs::File, io::{duplex, AsyncReadExt, AsyncSeekExt, AsyncWriteExt, DuplexStream}, @@ -47,7 +47,7 @@ pub fn stream_head(spec: &StreamSpec) -> StreamHead { } pub async fn stream( - node: Node, + node: Arc<Node>, spec: StreamSpec, range: Range<usize>, perms: &PermissionSet, @@ -94,7 +94,7 @@ pub async fn stream( } async fn remux_stream( - node: Node, + node: Arc<Node>, local_tracks: Vec<LocalTrack>, spec: StreamSpec, range: Range<usize>, diff --git a/stream/src/webvtt.rs b/stream/src/webvtt.rs index 4065e1b..02a4181 100644 --- a/stream/src/webvtt.rs +++ b/stream/src/webvtt.rs @@ -8,11 +8,12 @@ use jellybase::{cache::async_cache_memory, CONF}; use jellycommon::{stream::StreamSpec, LocalTrack, Node}; use jellyremuxer::extract::extract_track; use jellytranscoder::subtitles::{parse_subtitles, write_webvtt}; +use std::sync::Arc; use tokio::io::{AsyncWriteExt, DuplexStream}; pub async fn vtt_stream( json: bool, - node: Node, + node: Arc<Node>, local_tracks: Vec<LocalTrack>, spec: StreamSpec, mut b: DuplexStream, @@ -23,7 +24,7 @@ pub async fn vtt_stream( let tracki = *spec.track.first().ok_or(anyhow!("no track selected"))?; let local_track = local_tracks.first().ok_or(anyhow!("no tracks"))?.clone(); - let track = &node.media.unwrap().tracks[tracki]; + let track = &node.media.as_ref().unwrap().tracks[tracki]; let cp = local_track.codec_private.clone(); let subtitles = async_cache_memory( |