mirror of
https://github.com/rutgersc/m3u8-rs.git
synced 2024-12-22 22:46:37 +00:00
Merge pull request #26 from thaytan/update-to-rfc8216
Add HDCP-LEVEL and CHANNELS fields.
This commit is contained in:
commit
85b0826103
2 changed files with 8 additions and 1 deletions
|
@ -179,6 +179,7 @@ pub struct VariantStream {
|
||||||
pub codecs: Option<String>,
|
pub codecs: Option<String>,
|
||||||
pub resolution: Option<String>,
|
pub resolution: Option<String>,
|
||||||
pub frame_rate: Option<String>,
|
pub frame_rate: Option<String>,
|
||||||
|
pub hdcp_level: Option<String>,
|
||||||
pub audio: Option<String>,
|
pub audio: Option<String>,
|
||||||
pub video: Option<String>,
|
pub video: Option<String>,
|
||||||
pub subtitles: Option<String>,
|
pub subtitles: Option<String>,
|
||||||
|
@ -197,6 +198,7 @@ impl VariantStream {
|
||||||
codecs: attrs.remove("CODECS"),
|
codecs: attrs.remove("CODECS"),
|
||||||
resolution: attrs.remove("RESOLUTION"),
|
resolution: attrs.remove("RESOLUTION"),
|
||||||
frame_rate: attrs.remove("FRAME-RATE"),
|
frame_rate: attrs.remove("FRAME-RATE"),
|
||||||
|
hdcp_level: attrs.remove("HDCP-LEVEL"),
|
||||||
audio: attrs.remove("AUDIO"),
|
audio: attrs.remove("AUDIO"),
|
||||||
video: attrs.remove("VIDEO"),
|
video: attrs.remove("VIDEO"),
|
||||||
subtitles: attrs.remove("SUBTITLES"),
|
subtitles: attrs.remove("SUBTITLES"),
|
||||||
|
@ -229,6 +231,7 @@ impl VariantStream {
|
||||||
write_some_attribute_quoted!(w, ",CODECS", &self.codecs)?;
|
write_some_attribute_quoted!(w, ",CODECS", &self.codecs)?;
|
||||||
write_some_attribute!(w, ",RESOLUTION", &self.resolution)?;
|
write_some_attribute!(w, ",RESOLUTION", &self.resolution)?;
|
||||||
write_some_attribute!(w, ",FRAME-RATE", &self.frame_rate)?;
|
write_some_attribute!(w, ",FRAME-RATE", &self.frame_rate)?;
|
||||||
|
write_some_attribute!(w, ",HDCP-LEVEL", &self.hdcp_level)?;
|
||||||
write_some_attribute_quoted!(w, ",VIDEO", &self.video)
|
write_some_attribute_quoted!(w, ",VIDEO", &self.video)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -256,6 +259,7 @@ pub struct AlternativeMedia {
|
||||||
pub forced: bool, // Its absence indicates an implicit value of NO
|
pub forced: bool, // Its absence indicates an implicit value of NO
|
||||||
pub instream_id: Option<String>,
|
pub instream_id: Option<String>,
|
||||||
pub characteristics: Option<String>,
|
pub characteristics: Option<String>,
|
||||||
|
pub channels: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AlternativeMedia {
|
impl AlternativeMedia {
|
||||||
|
@ -275,6 +279,7 @@ impl AlternativeMedia {
|
||||||
forced: bool_default_false!(attrs.remove("FORCED")),
|
forced: bool_default_false!(attrs.remove("FORCED")),
|
||||||
instream_id: attrs.remove("INSTREAM-ID"),
|
instream_id: attrs.remove("INSTREAM-ID"),
|
||||||
characteristics: attrs.remove("CHARACTERISTICS"),
|
characteristics: attrs.remove("CHARACTERISTICS"),
|
||||||
|
channels: attrs.remove("CHANNELS"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -291,6 +296,7 @@ impl AlternativeMedia {
|
||||||
if self.forced { write!(w, ",FORCED=YES")?; }
|
if self.forced { write!(w, ",FORCED=YES")?; }
|
||||||
write_some_attribute_quoted!(w, ",INSTREAM-ID", &self.instream_id)?;
|
write_some_attribute_quoted!(w, ",INSTREAM-ID", &self.instream_id)?;
|
||||||
write_some_attribute_quoted!(w, ",CHARACTERISTICS", &self.characteristics)?;
|
write_some_attribute_quoted!(w, ",CHARACTERISTICS", &self.characteristics)?;
|
||||||
|
write_some_attribute_quoted!(w, ",CHANNELS", &self.channels)?;
|
||||||
write!(w, "\n")
|
write!(w, "\n")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -314,6 +314,7 @@ fn create_and_parse_master_playlist_full() {
|
||||||
forced: true, // Its absence indicates an implicit value of NO
|
forced: true, // Its absence indicates an implicit value of NO
|
||||||
instream_id: Some("instream_id".into()),
|
instream_id: Some("instream_id".into()),
|
||||||
characteristics: Some("characteristics".into()),
|
characteristics: Some("characteristics".into()),
|
||||||
|
channels: Some("channels".into()),
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
variants: vec![
|
variants: vec![
|
||||||
|
@ -325,11 +326,11 @@ fn create_and_parse_master_playlist_full() {
|
||||||
codecs: Some("TheCODEC".into()),
|
codecs: Some("TheCODEC".into()),
|
||||||
resolution: Some("1000x3000".into()),
|
resolution: Some("1000x3000".into()),
|
||||||
frame_rate: Some("60".into()),
|
frame_rate: Some("60".into()),
|
||||||
|
hdcp_level: Some("NONE".into()),
|
||||||
audio: Some("audio".into()),
|
audio: Some("audio".into()),
|
||||||
video: Some("video".into()),
|
video: Some("video".into()),
|
||||||
subtitles: Some("subtitles".into()),
|
subtitles: Some("subtitles".into()),
|
||||||
closed_captions: Some("closed_captions".into()),
|
closed_captions: Some("closed_captions".into()),
|
||||||
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
session_data: Some(SessionData {
|
session_data: Some(SessionData {
|
||||||
|
|
Loading…
Reference in a new issue