av_stream_info_rust/
streamcheckresult.rs

1use crate::StreamCheckError;
2use crate::StreamInfo;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Serialize, Deserialize, Clone)]
6pub enum UrlType {
7    Stream(StreamInfo),
8    Playlist(Vec<String>),
9}
10
11/// A check result for a single url
12#[derive(Debug, Serialize, Deserialize, Clone)]
13pub struct StreamCheckResult {
14    url: String,
15    pub info: Result<UrlType, StreamCheckError>,
16}
17
18impl StreamCheckResult {
19    pub fn new(url: &str, info: Result<UrlType, StreamCheckError>) -> Self {
20        StreamCheckResult {
21            url: url.to_string(),
22            info,
23        }
24    }
25
26    pub fn url(&self) -> &str {
27        &self.url
28    }
29}