aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/snippet.rs
diff options
context:
space:
mode:
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);