aboutsummaryrefslogtreecommitdiff
path: root/stream
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-01-25 01:21:24 +0100
committermetamuffin <metamuffin@disroot.org>2026-01-25 01:21:24 +0100
commite3708145efd0bbed5d10320ee0a0deff0f38479e (patch)
tree877ace344bc78c9fc11c3418f8361de660b594a5 /stream
parent2bcccb18a6cb8bf836f57c3d86f759b19699def2 (diff)
downloadjellything-e3708145efd0bbed5d10320ee0a0deff0f38479e.tar
jellything-e3708145efd0bbed5d10320ee0a0deff0f38479e.tar.bz2
jellything-e3708145efd0bbed5d10320ee0a0deff0f38479e.tar.zst
start moving logic code; less arcing in stream
Diffstat (limited to 'stream')
-rw-r--r--stream/src/hls.rs5
-rw-r--r--stream/src/lib.rs6
-rw-r--r--stream/src/stream_info.rs2
3 files changed, 6 insertions, 7 deletions
diff --git a/stream/src/hls.rs b/stream/src/hls.rs
index 5557e48..b8d04ef 100644
--- a/stream/src/hls.rs
+++ b/stream/src/hls.rs
@@ -11,11 +11,10 @@ use std::{
fmt::Write,
io::{Cursor, Read},
ops::Range,
- sync::Arc,
};
pub fn hls_multivariant_stream(
- info: Arc<SMediaInfo>,
+ info: &SMediaInfo,
container: StreamContainer,
) -> Result<Box<dyn Read + Send + Sync>> {
let (_iinfo, info) = stream_info(&info)?;
@@ -48,7 +47,7 @@ pub fn hls_multivariant_stream(
}
pub fn hls_variant_stream(
- info: Arc<SMediaInfo>,
+ info: &SMediaInfo,
track: TrackNum,
format: FormatNum,
container: StreamContainer,
diff --git a/stream/src/lib.rs b/stream/src/lib.rs
index 20a5e1c..424e44b 100644
--- a/stream/src/lib.rs
+++ b/stream/src/lib.rs
@@ -92,13 +92,13 @@ pub fn stream(
) -> Result<Box<dyn Read + Send + Sync>> {
match spec {
StreamSpec::Original { track } => original_stream(info, track, range),
- StreamSpec::HlsMultiVariant { container } => hls_multivariant_stream(info, container),
+ StreamSpec::HlsMultiVariant { container } => hls_multivariant_stream(&info, container),
StreamSpec::HlsVariant {
track,
container,
format,
- } => hls_variant_stream(info, track, format, container),
- StreamSpec::Info => write_stream_info(info),
+ } => hls_variant_stream(&info, track, format, container),
+ StreamSpec::Info => write_stream_info(&info),
StreamSpec::FragmentIndex { track } => fragment_index_stream(info, track),
StreamSpec::Fragment {
track,
diff --git a/stream/src/stream_info.rs b/stream/src/stream_info.rs
index 4a2605e..33dd288 100644
--- a/stream/src/stream_info.rs
+++ b/stream/src/stream_info.rs
@@ -157,7 +157,7 @@ fn containers_by_codec(codec: &str) -> Vec<StreamContainer> {
}
}
-pub(crate) fn write_stream_info(info: Arc<SMediaInfo>) -> Result<Box<dyn Read + Send + Sync>> {
+pub(crate) fn write_stream_info(info: &SMediaInfo) -> Result<Box<dyn Read + Send + Sync>> {
let (_, info) = stream_info(&info)?;
Ok(Box::new(Cursor::new(serde_json::to_vec(&info)?)))
}