File size: 1,094 Bytes
3374e90 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #[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)>,
}
|