diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-12-08 19:53:12 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-12-08 19:53:12 +0100 |
| commit | 6edf0fd93abf7e58b4c0974e3d3e54bcf8517946 (patch) | |
| tree | 32577db9d987897d4037ba9af0084b95b55e145c /stream/src | |
| parent | e4584a8135584e6591bac7d5397cf227cf3cff92 (diff) | |
| download | jellything-6edf0fd93abf7e58b4c0974e3d3e54bcf8517946.tar jellything-6edf0fd93abf7e58b4c0974e3d3e54bcf8517946.tar.bz2 jellything-6edf0fd93abf7e58b4c0974e3d3e54bcf8517946.tar.zst | |
human-readable cache keys
Diffstat (limited to 'stream/src')
| -rw-r--r-- | stream/src/cues.rs | 4 | ||||
| -rw-r--r-- | stream/src/fragment.rs | 3 | ||||
| -rw-r--r-- | stream/src/metadata.rs | 29 |
3 files changed, 20 insertions, 16 deletions
diff --git a/stream/src/cues.rs b/stream/src/cues.rs index 9291e18..8aac590 100644 --- a/stream/src/cues.rs +++ b/stream/src/cues.rs @@ -5,7 +5,7 @@ */ use anyhow::{anyhow, Result}; -use jellycache::{cache_memory, CacheKey}; +use jellycache::{cache_memory, HashKey}; use jellyremuxer::demuxers::create_demuxer_autodetect; use serde::{Deserialize, Serialize}; use std::{collections::BTreeMap, fs::File, path::Path, sync::Arc}; @@ -30,7 +30,7 @@ pub struct StatsAndCues { pub fn generate_cues(path: &Path) -> Result<Arc<StatsAndCues>> { cache_memory( - CacheKey::new_json(("media-generated-cues", path)), + &format!("media/generated-cues/{}.json", HashKey(path)), move || { let media = File::open(path)?; let mut media = create_demuxer_autodetect(Box::new(media))? diff --git a/stream/src/fragment.rs b/stream/src/fragment.rs index 35a5cd2..ef4f074 100644 --- a/stream/src/fragment.rs +++ b/stream/src/fragment.rs @@ -8,6 +8,7 @@ use crate::{ stream_info, SMediaInfo, }; use anyhow::{anyhow, Result}; +use jellycache::HashKey; use jellyremuxer::{ demuxers::create_demuxer_autodetect, matroska::{self, Segment}, @@ -121,7 +122,7 @@ pub fn fragment_stream( if !format.remux { segment = transcode( track.kind, - &format!("{media_path:?} {track_num} {index}"), + &format!("{}-T{track_num}-I{index}", HashKey(media_path)), format, segment, next_kf, diff --git a/stream/src/metadata.rs b/stream/src/metadata.rs index fe553e2..30d30e5 100644 --- a/stream/src/metadata.rs +++ b/stream/src/metadata.rs @@ -5,22 +5,25 @@ */ use anyhow::{anyhow, Result}; -use jellycache::{cache_memory, CacheKey}; +use jellycache::{cache_memory, HashKey}; use jellyremuxer::{demuxers::create_demuxer_autodetect, matroska::Segment}; use std::{fs::File, path::Path, sync::Arc}; pub fn read_metadata(path: &Path) -> Result<Arc<Segment>> { - cache_memory(CacheKey::new_json(("media-metadata", path)), move || { - let media = File::open(path)?; - let mut media = - create_demuxer_autodetect(Box::new(media))?.ok_or(anyhow!("media format unknown"))?; + cache_memory( + &format!("media/stream-metadata/{}.json", HashKey(path)), + move || { + let media = File::open(path)?; + let mut media = create_demuxer_autodetect(Box::new(media))? + .ok_or(anyhow!("media format unknown"))?; - let info = media.info()?; - let tracks = media.tracks()?; - Ok(Segment { - info, - tracks, - ..Default::default() - }) - }) + let info = media.info()?; + let tracks = media.tracks()?; + Ok(Segment { + info, + tracks, + ..Default::default() + }) + }, + ) } |