]> git.nihav.org Git - nihav.git/commitdiff
mov: keyframes are always sample numbers, not chunk numbers
authorKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 6 Apr 2026 15:05:37 +0000 (17:05 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 6 Apr 2026 15:05:37 +0000 (17:05 +0200)
Also update movmuxer checksum changed because of input keyframes.

nihav-commonfmt/src/demuxers/mov/pktread.rs
nihav-commonfmt/src/muxers/mov/mod.rs

index 943c558d0f37f307fe73f4c47af7dbc937ac6e7c..d8a2299c324ad4a30baf05f9b72ba3b9a1ad7f88 100644 (file)
@@ -300,8 +300,8 @@ impl QTPacketDemuxer {
                 let offset = self.last_offset;
                 let size = self.get_size(self.cur_sample);
                 self.last_offset += size as u64;
-                let is_kf = chunk_start && self.keyframes.contains(&(self.cur_chunk as u32));
                 self.cur_sample += 1;
+                let is_kf = chunk_start && self.keyframes.contains(&(self.cur_sample as u32));
                 self.samples_left -= 1;
                 Some((ts, offset, size, is_kf))
             },
index aaf5203ca9f1e6875f2a8211781d424ffb73fc54..9429465cc5f2b5777d77eea11b09d7a1bcb436a1 100644 (file)
@@ -590,6 +590,6 @@ mod test {
         let mut mux_reg = RegisteredMuxers::new();
         generic_register_all_muxers(&mut mux_reg);
         test_remuxing_md5(&dec_config, "mov", &mux_reg,
-                          [0x3d030f10, 0x842de3e2, 0xb6a5ae89, 0x30d9b05f]);
+                          [0x4f91995d, 0x7ba8b830, 0x5efe9f8c, 0xd1779301]);
     }
 }