]> git.nihav.org Git - nihav.git/commitdiff
vx demuxer: set keyframe flags
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 28 Jul 2024 14:17:48 +0000 (16:17 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 28 Jul 2024 14:17:48 +0000 (16:17 +0200)
nihav-game/src/demuxers/vx.rs

index 4a4729825d3648960dfba326f00fe0072969a402..b3128a89ae893f3f2678b5526f2fb329fd58e976 100644 (file)
@@ -100,7 +100,9 @@ impl<'a> DemuxCore<'a> for VXDemuxer<'a> {
         let mut buf = vec![0; fsize + 4];
         write_u32le(&mut buf, (fsize * 8) as u32)?;
                                       self.src.read_buf(&mut buf[4..])?;
-        let pkt = NAPacket::new(stream, ts, false, buf);
+        let keyframe = self.vno == 0 ||
+                self.seektab.binary_search_by_key(&self.vno, |&(frm, _)| u64::from(frm)).is_ok();
+        let pkt = NAPacket::new(stream, ts, keyframe, buf);
         self.video_pos = self.src.tell();
         self.vno += 1;
         Ok(pkt)