]> git.nihav.org Git - nihav.git/commitdiff
mov: create index for intra-only video streams
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 22 Feb 2026 16:58:06 +0000 (17:58 +0100)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 22 Feb 2026 16:58:06 +0000 (17:58 +0100)
nihav-commonfmt/src/demuxers/mov.rs

index 72d19e70aaa4b9b0f8b8e4db037ff7f7f3c3db3e..fce6336b0f58d9b69659b3ae73abd17aed0e85ee 100644 (file)
@@ -345,6 +345,14 @@ fn read_trak(dmx: &mut MOVDemuxer, strmgr: &mut StreamManager, size: u64) -> Dem
                 track.keyframes.push(abs_csamp as u32);
                 abs_csamp += count;
             }
+        } else if let Some(ref stream) = track.stream {
+            if let Some(desc) = get_codec_description(stream.get_info().get_name()) {
+                if (desc.caps & CODEC_CAP_INTRAONLY) != 0 && track.chunk_sizes.len() > 0 {
+                    for samp in 0..track.chunk_sizes.len() {
+                        track.keyframes.push((samp + 1) as u32);
+                    }
+                }
+            }
         }
     }
     validate!(strmgr.get_stream_by_id(track.track_id).is_none());