diff options
author | metamuffin <metamuffin@disroot.org> | 2023-10-02 00:52:49 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-10-02 00:52:49 +0200 |
commit | 758187da68fda9ebebfab8bf93e5bbe00bbdc506 (patch) | |
tree | 94c988f43124dc0889b4a7aed0df4ab2440d9e04 /remuxer/src/snippet.rs | |
parent | fdaa18968c5b3d923c93527efaeeb81cbd9b4d88 (diff) | |
download | jellything-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.rs | 11 |
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); |