From 6edf0fd93abf7e58b4c0974e3d3e54bcf8517946 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 8 Dec 2025 19:53:12 +0100 Subject: human-readable cache keys --- stream/src/cues.rs | 4 ++-- stream/src/fragment.rs | 3 ++- stream/src/metadata.rs | 29 ++++++++++++++++------------- 3 files changed, 20 insertions(+), 16 deletions(-) (limited to 'stream/src') 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> { 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> { - 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() + }) + }, + ) } -- cgit v1.3