| #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] |
| pub struct VideoResolution { pub width: u32, pub height: u32, pub hdr: bool, pub label: String } |
|
|
| #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] |
| pub struct VideoTrack { |
| pub resolution: VideoResolution, pub url: String, |
| pub mime_type: Option<String>, pub bitrate: Option<u64>, pub codecs: Option<String>, |
| } |
|
|
| #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] |
| pub struct SubtitleTrack { pub label: String, pub url: String, pub language: Option<String>, pub format: Option<String> } |
|
|
| #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] |
| pub struct Server { pub id: String, pub label: String, pub url: String, pub priority: u8, pub extra: Vec<(String, String)> } |
|
|
| #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] |
| pub struct StreamSource { |
| pub id: String, pub label: String, pub format: String, |
| pub manifest_url: Option<String>, pub videos: Vec<VideoTrack>, |
| pub subtitles: Vec<SubtitleTrack>, pub headers: Vec<(String, String)>, |
| pub extra: Vec<(String, String)>, |
| } |
|
|