From 3f04466df27cb032a91e304eca1b3e91aad47cb4 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 16 Apr 2025 21:33:33 +0200 Subject: parse supermultivariant query --- common/src/stream.rs | 10 ++++++++++ stream/src/stream_info.rs | 8 ++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/common/src/stream.rs b/common/src/stream.rs index 55f2f49..ca1ec29 100644 --- a/common/src/stream.rs +++ b/common/src/stream.rs @@ -54,6 +54,12 @@ pub enum StreamSpec { container: StreamContainer, format: FormatNum, }, + // Track { + // segment: SegmentNum, + // track: TrackNum, + // container: StreamContainer, + // foramt: FormatNum, + // }, } #[derive(Debug, Clone, Deserialize, Serialize)] @@ -171,6 +177,10 @@ impl StreamSpec { Ok(Self::Info { segment: get_num("segment").ok(), }) + } else if query.contains_key("hlssupermultivariant") { + Ok(Self::HlsSuperMultiVariant { + container: get_container().ok().unwrap_or(StreamContainer::Matroska), + }) } else if query.contains_key("hlsmultivariant") { Ok(Self::HlsMultiVariant { segment: get_num("segment")? as SegmentNum, diff --git a/stream/src/stream_info.rs b/stream/src/stream_info.rs index 288ea5c..790d342 100644 --- a/stream/src/stream_info.rs +++ b/stream/src/stream_info.rs @@ -1,3 +1,9 @@ +/* + 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 crate::SMediaInfo; use anyhow::Result; use ebml_struct::matroska::TrackEntry; use jellybase::{ @@ -18,8 +24,6 @@ use tokio::{ task::spawn_blocking, }; -use crate::SMediaInfo; - async fn async_matroska_metadata(path: PathBuf) -> Result> { Ok(spawn_blocking(move || matroska_metadata(&path)).await??) } -- cgit v1.2.3-70-g09d2