aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/snippet.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-10-02 00:52:49 +0200
committermetamuffin <metamuffin@disroot.org>2023-10-02 00:52:49 +0200
commit758187da68fda9ebebfab8bf93e5bbe00bbdc506 (patch)
tree94c988f43124dc0889b4a7aed0df4ab2440d9e04 /remuxer/src/snippet.rs
parentfdaa18968c5b3d923c93527efaeeb81cbd9b4d88 (diff)
downloadjellything-758187da68fda9ebebfab8bf93e5bbe00bbdc506.tar
jellything-758187da68fda9ebebfab8bf93e5bbe00bbdc506.tar.bz2
jellything-758187da68fda9ebebfab8bf93e5bbe00bbdc506.tar.zst
apply caching to hlsseg aswell
Diffstat (limited to 'remuxer/src/snippet.rs')
-rw-r--r--remuxer/src/snippet.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/remuxer/src/snippet.rs b/remuxer/src/snippet.rs
index cc5ec9d..5f25400 100644
--- a/remuxer/src/snippet.rs
+++ b/remuxer/src/snippet.rs
@@ -9,7 +9,7 @@ use crate::{
segment_extractor::SegmentExtractIter,
};
use anyhow::{anyhow, Context, Result};
-use jellycommon::{seek_index::SeekIndex, LocalTrack, NodePublic};
+use jellycommon::{LocalTrack, NodePublic};
use jellymatroska::{read::EbmlReader, write::EbmlWriter, Master, MatroskaTag};
use log::{debug, info};
use std::{fs::File, io::Write, ops::Range, path::Path};
@@ -75,10 +75,11 @@ pub fn write_snippet_into(
);
info!("\t {}", info);
let file = File::open(&source_path).context("opening source file")?;
- let mut index = File::open(source_path.with_extension(format!("si.{}", private.track)))
- .context("opening seek index file")?;
- let index =
- bincode::decode_from_std_read::<SeekIndex, _, _>(&mut index, bincode::config::standard())?;
+ let index = get_seek_index(&source_path)?;
+ let index = index
+ .get(&(private.track as u64))
+ .ok_or(anyhow!("track missing"))?
+ .to_owned();
debug!("\t seek index: {} blocks loaded", index.blocks.len());
let mut reader = EbmlReader::new(file);