use crate::SourceTrack; use serde::{Deserialize, Serialize}; use std::ops::Range; #[derive(Debug, Clone, Deserialize, Serialize)] pub struct JhlsMetadata { pub duration: f64, pub extra_profiles: Vec, pub tracks: Vec, } #[derive(Debug, Clone, Deserialize, Serialize)] pub struct JhlsTrack { pub info: SourceTrack, pub segments: Vec>, } #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "snake_case")] pub enum EncodingProfile { Video { codec: String, preset: Option, bitrate: usize, width: Option, }, Audio { codec: String, bitrate: usize, channels: Option, sample_rate: Option, }, Subtitles { codec: String, }, }