diff options
Diffstat (limited to 'remuxer')
-rw-r--r-- | remuxer/src/lib.rs | 1 | ||||
-rw-r--r-- | remuxer/src/seek_index.rs | 17 |
2 files changed, 2 insertions, 16 deletions
diff --git a/remuxer/src/lib.rs b/remuxer/src/lib.rs index 1824365..bb732d7 100644 --- a/remuxer/src/lib.rs +++ b/remuxer/src/lib.rs @@ -48,6 +48,7 @@ pub fn ebml_segment_info(title: String, duration: f64) -> MatroskaTag { pub fn ebml_track_entry(number: u64, track: &TrackEntry) -> MatroskaTag { let mut els = vec![ MatroskaTag::TrackNumber(number), + MatroskaTag::TrackUID(number * 100), // TODO is this ok? MatroskaTag::FlagLacing(track.flag_lacing), MatroskaTag::Language(track.language.clone()), MatroskaTag::CodecID(track.codec_id.clone()), diff --git a/remuxer/src/seek_index.rs b/remuxer/src/seek_index.rs index 33c1189..c09fdf9 100644 --- a/remuxer/src/seek_index.rs +++ b/remuxer/src/seek_index.rs @@ -140,23 +140,8 @@ fn seek_index_add( position: u64, pts_base: u64, ) { - //* I heard this helped debugging once. - // { - // let mut f = File::open("/home/muffin/videos/itte-yorushika.mkv").unwrap(); - // f.seek(std::io::SeekFrom::Start(position.try_into().unwrap())) - // .unwrap(); - // let mut buf = [0u8]; - // f.read_exact(&mut buf).unwrap(); - - // eprintln!("{}", buf[0]); - // if buf[0] != 0xa0 && buf[0] != 0xa3 { - // warn!("invalid position {position}") - // } - // } - let trs = seek_index.entry(block.track).or_default(); - - if block.keyframe { + if block.flags.keyframe() { trs.keyframes.push(trs.blocks.len()); } trs.blocks.push(BlockIndex { |