diff options
Diffstat (limited to 'stream/types')
| -rw-r--r-- | stream/types/src/lib.rs | 3 | ||||
| -rw-r--r-- | stream/types/src/path.rs | 4 |
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")? { |