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)>,
}