aboutsummaryrefslogtreecommitdiff
path: root/stream/types
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-03-10 21:51:02 +0100
committermetamuffin <metamuffin@disroot.org>2026-03-10 21:51:02 +0100
commit958c5ecfd1ffbb43425c3737dc3eb1ea50fc92f6 (patch)
treebdb252928aa1b4f241c2e0bf34a023791e6af694 /stream/types
parent4a79df8b43238e4de816af17daecbad0fa9866e4 (diff)
downloadjellything-958c5ecfd1ffbb43425c3737dc3eb1ea50fc92f6.tar
jellything-958c5ecfd1ffbb43425c3737dc3eb1ea50fc92f6.tar.bz2
jellything-958c5ecfd1ffbb43425c3737dc3eb1ea50fc92f6.tar.zst
attachment stream
Diffstat (limited to 'stream/types')
-rw-r--r--stream/types/src/lib.rs3
-rw-r--r--stream/types/src/path.rs4
2 files changed, 7 insertions, 0 deletions
diff --git a/stream/types/src/lib.rs b/stream/types/src/lib.rs
index cbf5dcb..d02073d 100644
--- a/stream/types/src/lib.rs
+++ b/stream/types/src/lib.rs
@@ -49,6 +49,9 @@ pub enum StreamSpec {
Original {
track: TrackNum,
},
+ Attachment {
+ name: String,
+ },
// Track {
// segment: SegmentNum,
// track: TrackNum,
diff --git a/stream/types/src/path.rs b/stream/types/src/path.rs
index 226d6e8..d0b1139 100644
--- a/stream/types/src/path.rs
+++ b/stream/types/src/path.rs
@@ -14,6 +14,7 @@ impl StreamSpec {
StreamSpec::Info => "formats.json".to_string(),
StreamSpec::HlsVariant { track, format } => format!("{track}/{format}/variant.m3u8"),
StreamSpec::FragmentIndex { track } => format!("{track}/fragindex.json"),
+ StreamSpec::Attachment { name } => format!("attachment/{name}"),
StreamSpec::FragmentInit {
track,
container,
@@ -40,6 +41,9 @@ impl StreamSpec {
"stream.mpd" => Ok(Self::Dash),
"stream.m3u8" => Ok(Self::HlsMultiVariant),
"formats.json" => Ok(Self::Info),
+ "attachment" => Ok(Self::Attachment {
+ name: segs.next().ok_or("attachment name expected")?.to_string(),
+ }),
track => {
let track = track.parse::<TrackNum>().ok().ok_or("invalid track")?;
match *segs.next().ok_or("<track> is a directory")? {