diff options
Diffstat (limited to 'stream/src')
| -rw-r--r-- | stream/src/hls.rs | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/stream/src/hls.rs b/stream/src/hls.rs index b8d04ef..9414877 100644 --- a/stream/src/hls.rs +++ b/stream/src/hls.rs @@ -24,23 +24,28 @@ pub fn hls_multivariant_stream( writeln!(out, "#EXT-X-VERSION:4")?; // writeln!(out, "#EXT-X-INDEPENDENT-SEGMENTS")?; for (i, t) in info.tracks.iter().enumerate() { - let uri = format!( - "stream{}", - StreamSpec::HlsVariant { - track: i, - container, - format: 0 - } - .to_query() - ); - let r#type = match t.kind { - TrackKind::Video => "VIDEO", - TrackKind::Audio => "AUDIO", - TrackKind::Subtitle => "SUBTITLES", - }; - // TODO bw - writeln!(out, "#EXT-X-STREAM-INF:BANDWIDTH=5000000,TYPE={type}")?; - writeln!(out, "{uri}")?; + for (j, f) in t.formats.iter().enumerate() { + let uri = format!( + "stream{}", + StreamSpec::HlsVariant { + track: i, + container, + format: j + } + .to_query() + ); + let r#type = match t.kind { + TrackKind::Video => "VIDEO", + TrackKind::Audio => "AUDIO", + TrackKind::Subtitle => "SUBTITLES", + }; + writeln!( + out, + "#EXT-X-STREAM-INF:BANDWIDTH={},TYPE={type}", + f.bitrate as i64 + )?; + writeln!(out, "{uri}")?; + } } Ok(Box::new(Cursor::new(out))) |