aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/metadata.rs
diff options
context:
space:
mode:
Diffstat (limited to 'remuxer/src/metadata.rs')
-rw-r--r--remuxer/src/metadata.rs24
1 files changed, 11 insertions, 13 deletions
diff --git a/remuxer/src/metadata.rs b/remuxer/src/metadata.rs
index c8a5f8f..4a496fe 100644
--- a/remuxer/src/metadata.rs
+++ b/remuxer/src/metadata.rs
@@ -33,20 +33,17 @@ pub struct MatroskaMetadata {
pub infojson: Option<Vec<u8>>,
}
pub fn checked_matroska_metadata(path: &Path) -> Result<Arc<Option<MatroskaMetadata>>> {
- cache_memory(
- &["mkmeta-check-v1", path.to_string_lossy().as_ref()],
- || {
- let mut magic = [0; 4];
- File::open(path)?.read_exact(&mut magic).ok();
- if !matches!(magic, [0x1A, 0x45, 0xDF, 0xA3]) {
- return Ok(None);
- }
- Ok(Some((*matroska_metadata(path)?).clone()))
- },
- )
+ cache_memory("mkmeta-check-v1", path, || {
+ let mut magic = [0; 4];
+ File::open(path)?.read_exact(&mut magic).ok();
+ if !matches!(magic, [0x1A, 0x45, 0xDF, 0xA3]) {
+ return Ok(None);
+ }
+ Ok(Some((*matroska_metadata(path)?).clone()))
+ })
}
pub fn matroska_metadata(path: &Path) -> Result<Arc<MatroskaMetadata>> {
- cache_memory(&["mkmeta-v3", path.to_string_lossy().as_ref()], || {
+ cache_memory("mkmeta-v3", path, || {
info!("reading {path:?}");
let mut file = BufReader::new(File::open(path)?);
let mut file = file.by_ref().take(u64::MAX);
@@ -86,7 +83,8 @@ pub fn matroska_metadata(path: &Path) -> Result<Arc<MatroskaMetadata>> {
| "cover.avif" => {
cover = Some(
AssetInner::Cache(cache_file(
- &["att-cover", path.to_string_lossy().as_ref()],
+ "att-cover",
+ path,
move |mut file| {
file.write_all(&f.data)?;
Ok(())