diff options
Diffstat (limited to 'stream')
-rw-r--r-- | stream/src/lib.rs | 5 | ||||
-rw-r--r-- | stream/src/webvtt.rs | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/stream/src/lib.rs b/stream/src/lib.rs index 604e3eb..1ee0690 100644 --- a/stream/src/lib.rs +++ b/stream/src/lib.rs @@ -15,7 +15,7 @@ use jellybase::{permission::PermissionSetExt, CONF}; use jellycommon::{ stream::{StreamFormat, StreamSpec}, user::{PermissionSet, UserPermission}, - LocalTrack, MediaSource, Node, + LocalTrack, Node, }; use jhls::jhls_stream; use segment::segment_stream; @@ -55,13 +55,14 @@ pub async fn stream( let (a, b) = duplex(4096); + // TODO remux of mixed remote and local tracks?! let track_sources = match node .private .source .as_ref() .ok_or(anyhow!("node has no media"))? { - MediaSource::Local { tracks } => tracks.to_owned(), + // MediaSource::Local { tracks } => tracks.to_owned(), _ => bail!("node tracks are not local"), }; diff --git a/stream/src/webvtt.rs b/stream/src/webvtt.rs index 6ee5212..faf0cd3 100644 --- a/stream/src/webvtt.rs +++ b/stream/src/webvtt.rs @@ -41,8 +41,12 @@ pub async fn webvtt_stream( }) .await??; - let webvtt = webvtt_from_ass_blocks(node.public.title, codec_private, ass_blocks) - .context("transcoding subtitles")?; + let webvtt = webvtt_from_ass_blocks( + node.public.title.clone().unwrap_or_default(), + codec_private, + ass_blocks, + ) + .context("transcoding subtitles")?; tokio::task::spawn(async move { let _ = b.write_all(webvtt.as_bytes()).await; |