/* 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 serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Deserialize, Serialize)] pub enum StreamSpec { Whep { track: u64, seek: u64, }, WhepControl { token: String, }, Remux { track: Vec, container: StreamContainer, }, Original { track: u64, }, HlsSuperMultiVariant { container: StreamContainer, }, HlsMultiVariant { segment: u64, container: StreamContainer, }, HlsVariant { segment: u64, track: u64, container: StreamContainer, format: usize, }, Info { segment: Option, }, FragmentIndex { segment: u64, track: u64, }, Fragment { segment: u64, track: u64, index: u64, container: StreamContainer, format: usize, }, } #[derive(Debug, Clone, Copy, Deserialize, Serialize)] #[serde(rename_all = "lowercase")] pub enum StreamContainer { WebM, Matroska, WebVTT, JVTT, }