From: Kostya Shishkov Date: Tue, 7 Oct 2025 04:39:33 +0000 (+0200) Subject: binkdemux: fix arbitrary seeking with large timebase denominator X-Git-Url: https://git.nihav.org/?a=commitdiff_plain;h=bf50a888d9dcaba987f1d410fa17b162356abdf0;p=nihav.git binkdemux: fix arbitrary seeking with large timebase denominator --- diff --git a/nihav-rad/src/demuxers/bink.rs b/nihav-rad/src/demuxers/bink.rs index fd9ef33..834b5ea 100644 --- a/nihav-rad/src/demuxers/bink.rs +++ b/nihav-rad/src/demuxers/bink.rs @@ -163,7 +163,7 @@ impl<'a> DemuxCore<'a> for BinkDemuxer<'a> { return Err(DemuxerError::SeekError); } if let Some(seek_info) = seek_idx.find_pos(time) { - if !self.force_seek || seek_info.pts.abs_diff(seek_ts) <= u64::from(self.tb_den * 2) { + if !self.force_seek || seek_info.pts.abs_diff(seek_ts) <= u64::from(self.tb_den * 2 / self.tb_num.max(1)) { self.src.seek(SeekFrom::Start(seek_info.pos))?; self.queued_packets.clear(); self.cur_frame = seek_info.pts as usize;