aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/import/seek_index.rs
diff options
context:
space:
mode:
Diffstat (limited to 'remuxer/src/import/seek_index.rs')
-rw-r--r--remuxer/src/import/seek_index.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/remuxer/src/import/seek_index.rs b/remuxer/src/import/seek_index.rs
index 3ab4a2c..efd2a78 100644
--- a/remuxer/src/import/seek_index.rs
+++ b/remuxer/src/import/seek_index.rs
@@ -10,6 +10,10 @@ use log::{debug, info, trace, warn};
use std::{collections::BTreeMap, fs::File, path::Path};
pub fn write_all(path: &Path) -> Result<()> {
+ if path.with_extension(&format!("si.1")).exists() {
+ info!("seek index already present");
+ return Ok(());
+ }
let seek_index = {
let input = File::open(&path).unwrap();
let mut input = EbmlReader::new(input);
@@ -72,7 +76,7 @@ fn import_seek_index_segment(
match item {
MatroskaTag::Timestamp(ts) => pts = ts,
MatroskaTag::BlockGroup(_) => {
- debug!("group");
+ trace!("group");
let mut children = children.unwrap();
// let position = children.position(); //? TODO where should this point to? cluster or block? // probably block
while let Some(Ok(Unflat {
@@ -104,11 +108,11 @@ fn import_seek_index_segment(
}
MatroskaTag::SimpleBlock(buf) => {
let block = Block::parse(&buf)?;
- debug!(
+ trace!(
"simple block: track={} tso={}",
block.track, block.timestamp_off
);
- debug!("{pts} {}", block.timestamp_off);
+ trace!("{pts} {}", block.timestamp_off);
seek_index
.entry(block.track)
.or_insert(SeekIndex { blocks: vec![] })
@@ -119,7 +123,7 @@ fn import_seek_index_segment(
size: block.data.len(),
});
}
- _ => debug!("(rsc) tag ignored: {item:?}"),
+ _ => trace!("(rsc) tag ignored: {item:?}"),
}
} else {
break;