diff options
Diffstat (limited to 'stream/src/hls.rs')
| -rw-r--r-- | stream/src/hls.rs | 17 |
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), )?; } |