av_stream_info_rust/
streaminfo.rs

1#![allow(non_snake_case)]
2
3use crate::DecodeError;
4use crate::LatLong;
5
6use serde::{Deserialize, Serialize};
7
8/// Information extracted from a stream
9#[derive(Debug, Serialize, Deserialize, Clone)]
10pub struct StreamInfo {
11    pub Server: Option<String>,
12    pub Public: Option<bool>,
13    pub IceAudioInfo: Option<String>,
14    pub AudioInfo: Option<String>,
15    pub Name: Option<String>,
16    pub Description: Option<String>,
17    pub Type: String,
18    pub Homepage: Option<String>,
19    pub Genre: Option<String>,
20    pub Bitrate: Option<u32>,
21    pub Sampling: Option<u32>,
22    pub CodecAudio: String,
23    pub CodecVideo: Option<String>,
24    pub Hls: bool,
25
26    pub LogoUrl: Option<String>,
27    pub MainStreamUrl: Option<String>,
28    pub IcyVersion: u32,
29    pub OverrideIndexMetaData: Option<bool>,
30    pub CountryCode: Option<String>,
31    pub CountrySubdivisonCode: Option<String>,
32    pub LanguageCodes: Vec<String>,
33    pub GeoLatLong: Option<Result<LatLong, DecodeError>>,
34    pub DoNotIndex: Option<bool>,
35    pub SslError: bool,
36
37    pub HasHttp: bool,
38    pub HasHttps: bool,
39}