]> git.nihav.org Git - nihav.git/commitdiff
mov: work around one old bug
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 10 Oct 2026 14:50:58 +0000 (16:50 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 10 Oct 2026 14:50:58 +0000 (16:50 +0200)
nihav-commonfmt/src/demuxers/mov/track.rs

index 8c48cae010286963051d1643bf20600277644a6c..d45bef07a7a35962150fb9cd0d8b2fca704f32b4 100644 (file)
@@ -716,7 +716,12 @@ fn read_stsc(track: &mut Track, br: &mut dyn ByteIO, size: u64) -> DemuxerResult
     track.pkt_demux.sample_map = Vec::with_capacity(entries);
     let mut last_chunk_no = 0;
     for _i in 0..entries {
-        let chunk_no       = br.read_u32be()?;
+        let mut chunk_no    = br.read_u32be()?;
+        // QT2.0 bug?
+        if chunk_no == last_chunk_no && last_chunk_no == 5 {
+            println!("slightly buggy QT2.0 sample?");
+            chunk_no = 6;
+        }
         validate!(chunk_no > last_chunk_no);
         let nsamples        = br.read_u32be()?;
         let sample_desc     = br.read_u32be()?;