av_stream_info_rust/
streaminfo.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#![allow(non_snake_case)]

use crate::DecodeError;
use crate::LatLong;

use serde::{Deserialize, Serialize};

/// Information extracted from a stream
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct StreamInfo {
    pub Server: Option<String>,
    pub Public: Option<bool>,
    pub IceAudioInfo: Option<String>,
    pub AudioInfo: Option<String>,
    pub Name: Option<String>,
    pub Description: Option<String>,
    pub Type: String,
    pub Homepage: Option<String>,
    pub Genre: Option<String>,
    pub Bitrate: Option<u32>,
    pub Sampling: Option<u32>,
    pub CodecAudio: String,
    pub CodecVideo: Option<String>,
    pub Hls: bool,

    pub LogoUrl: Option<String>,
    pub MainStreamUrl: Option<String>,
    pub IcyVersion: u32,
    pub OverrideIndexMetaData: Option<bool>,
    pub CountryCode: Option<String>,
    pub CountrySubdivisonCode: Option<String>,
    pub LanguageCodes: Vec<String>,
    pub GeoLatLong: Option<Result<LatLong, DecodeError>>,
    pub DoNotIndex: Option<bool>,
    pub SslError: bool,

    pub HasHttp: bool,
    pub HasHttps: bool,
}