/* This file is part of jellything (https://codeberg.org/metamuffin/jellything) which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2025 metamuffin */ use bincode::{Decode, Encode}; use serde::{Deserialize, Serialize}; use std::ops::Range; #[derive(Debug, Clone, Deserialize, Serialize)] pub struct JhlsTrackIndex { pub extra_profiles: Vec, 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, }, } #[derive(Debug, Serialize, Deserialize, Encode, Decode)] pub struct SubtitleCue { pub start: f64, pub end: f64, pub content: String, }