aboutsummaryrefslogtreecommitdiff
path: root/stream/src/hls.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-03-07 04:02:48 +0100
committermetamuffin <metamuffin@disroot.org>2026-03-07 04:02:48 +0100
commit4ce6d64648634bd8d22e8ed0676e0e5b22947dc3 (patch)
treec1df9c9f623603651157006b9fd249de6d63fc7b /stream/src/hls.rs
parentd3ed810656a563fc733771e760b2abbb05bd98cb (diff)
downloadjellything-4ce6d64648634bd8d22e8ed0676e0e5b22947dc3.tar
jellything-4ce6d64648634bd8d22e8ed0676e0e5b22947dc3.tar.bz2
jellything-4ce6d64648634bd8d22e8ed0676e0e5b22947dc3.tar.zst
new media path format
Diffstat (limited to 'stream/src/hls.rs')
-rw-r--r--stream/src/hls.rs17
1 files changed, 6 insertions, 11 deletions
diff --git a/stream/src/hls.rs b/stream/src/hls.rs
index 70a0d3c..759b196 100644
--- a/stream/src/hls.rs
+++ b/stream/src/hls.rs
@@ -23,12 +23,12 @@ pub fn hls_multivariant_stream(info: &SMediaInfo) -> Result<Box<dyn Read + Send
for (i, t) in info.tracks.iter().enumerate() {
for (j, f) in t.formats.iter().enumerate() {
let uri = format!(
- "stream{}",
+ "{}",
StreamSpec::HlsVariant {
track: i,
format: j
}
- .to_query()
+ .to_path()
);
let r#type = match t.kind {
TrackKind::Video => "VIDEO",
@@ -50,7 +50,7 @@ pub fn hls_multivariant_stream(info: &SMediaInfo) -> Result<Box<dyn Read + Send
pub fn hls_variant_stream(
info: &SMediaInfo,
track: TrackNum,
- format: FormatNum,
+ _format: FormatNum,
) -> Result<Box<dyn Read + Send + Sync>> {
let frags = fragment_index(&info, track)?;
let (_, info) = stream_info(&info)?;
@@ -61,19 +61,14 @@ pub fn hls_variant_stream(
writeln!(out, "#EXT-X-TARGETDURATION:{}", info.duration)?;
writeln!(out, "#EXT-X-VERSION:4")?;
writeln!(out, "#EXT-X-MEDIA-SEQUENCE:0")?;
+ writeln!(out, "#EXT-X-MAP:URI=\"init.webm\"")?;
for (index, Range { start, end }) in frags.iter().enumerate() {
writeln!(out, "#EXTINF:{:},", end - start)?;
writeln!(
out,
- "stream{}",
- StreamSpec::Fragment {
- track,
- index,
- container: StreamContainer::MP4,
- format,
- }
- .to_query()
+ "frag{index}.{}",
+ StreamContainer::WebM.file_ext(TrackKind::Video),
)?;
}