diff options
Diffstat (limited to 'remuxer')
-rw-r--r-- | remuxer/src/fragment.rs | 6 | ||||
-rw-r--r-- | remuxer/src/lib.rs | 6 | ||||
-rw-r--r-- | remuxer/src/seek_index.rs | 11 | ||||
-rw-r--r-- | remuxer/src/trim_writer.rs | 5 |
4 files changed, 8 insertions, 20 deletions
diff --git a/remuxer/src/fragment.rs b/remuxer/src/fragment.rs index 0da1ed5..a567657 100644 --- a/remuxer/src/fragment.rs +++ b/remuxer/src/fragment.rs @@ -37,7 +37,7 @@ pub fn fragment_index(path: &Path, track: u64) -> Result<Vec<Range<f64>>> { .track_type == 17; - let index = get_seek_index(&path)?; + let index = get_seek_index(path)?; let index = index .get(&track) .ok_or(anyhow!("seek index track missing"))?; @@ -106,8 +106,8 @@ pub fn write_fragment_into( let mapped = 1; info!("\t- {track} {path:?} ({} => {mapped})", track); // info!("\t {}", info); - let file = File::open(&path).context("opening source file")?; - let index = get_seek_index(&path)?; + let file = File::open(path).context("opening source file")?; + let index = get_seek_index(path)?; let index = index .get(&track) .ok_or(anyhow!("track missing 2"))? diff --git a/remuxer/src/lib.rs b/remuxer/src/lib.rs index 931d5e6..1824365 100644 --- a/remuxer/src/lib.rs +++ b/remuxer/src/lib.rs @@ -6,13 +6,13 @@ #![feature(random, exit_status_error)] pub mod extract; pub mod fragment; -pub mod metadata; pub mod matroska_to_mpeg4; +pub mod matroska_to_webm; +pub mod metadata; pub mod remux; pub mod seek_index; pub mod segment_extractor; pub mod trim_writer; -pub mod matroska_to_webm; use ebml_struct::matroska::TrackEntry; pub use fragment::write_fragment_into; @@ -85,7 +85,7 @@ pub fn ebml_track_entry(number: u64, track: &TrackEntry) -> MatroskaTag { MatroskaTag::Channels(audio.channels), ]; if let Some(bit_depth) = audio.bit_depth { - props.push(MatroskaTag::BitDepth(bit_depth.try_into().unwrap())); + props.push(MatroskaTag::BitDepth(bit_depth)); } els.push(MatroskaTag::Audio(Master::Collected(props))); } diff --git a/remuxer/src/seek_index.rs b/remuxer/src/seek_index.rs index 1e1ce02..33c1189 100644 --- a/remuxer/src/seek_index.rs +++ b/remuxer/src/seek_index.rs @@ -15,7 +15,7 @@ use jellymatroska::{ use log::{debug, info, trace, warn}; use std::{collections::BTreeMap, fs::File, io::BufReader, path::Path, sync::Arc}; -#[derive(Debug, Clone, Decode, Encode)] +#[derive(Debug, Clone, Default, Decode, Encode)] pub struct SeekIndex { pub blocks: Vec<BlockIndex>, pub keyframes: Vec<usize>, @@ -29,15 +29,6 @@ pub struct BlockIndex { pub size: usize, } -impl Default for SeekIndex { - fn default() -> Self { - Self { - blocks: Vec::new(), - keyframes: Vec::new(), - } - } -} - pub fn get_seek_index(path: &Path) -> anyhow::Result<Arc<BTreeMap<u64, Arc<SeekIndex>>>> { cache_memory("seekindex-v1", path, move || { info!("generating seek index for {path:?}"); diff --git a/remuxer/src/trim_writer.rs b/remuxer/src/trim_writer.rs index ad400c1..2c1b7ed 100644 --- a/remuxer/src/trim_writer.rs +++ b/remuxer/src/trim_writer.rs @@ -34,10 +34,7 @@ impl<W: Write> Write for TrimWriter<W> { let end = end.clamp(0, buf.len() as isize) as usize; if self.position >= self.range.end { - return Err(std::io::Error::new( - std::io::ErrorKind::Other, - anyhow!("range ended"), - )); + return Err(std::io::Error::other(anyhow!("range ended"))); } let tbuf = &buf[start..end]; |