aboutsummaryrefslogtreecommitdiff
path: root/stream/src
diff options
context:
space:
mode:
Diffstat (limited to 'stream/src')
-rw-r--r--stream/src/hls.rs39
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)))