From bf50a888d9dcaba987f1d410fa17b162356abdf0 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Tue, 7 Oct 2025 06:39:33 +0200 Subject: [PATCH] binkdemux: fix arbitrary seeking with large timebase denominator --- nihav-rad/src/demuxers/bink.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; -- 2.39.5