]> git.nihav.org Git - nihav.git/commitdiff
mov: do not demux packets from the ignored streams
authorKostya Shishkov <kostya.shishkov@gmail.com>
Wed, 4 Feb 2026 17:29:10 +0000 (18:29 +0100)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Wed, 4 Feb 2026 17:29:10 +0000 (18:29 +0100)
nihav-commonfmt/src/demuxers/mov.rs

index b57a284f41f5865e0429756ceaff7947f506e935..9b5bb2b1b12babbe1d41db1be925c1435333e1f4 100644 (file)
@@ -1852,7 +1852,10 @@ impl<'a> DemuxCore<'a> for MOVDemuxer<'a> {
         }
         let mut has_all_time = true;
         let mut min_ts = u64::MAX;
-        for trk in self.tracks.iter() {
+        for (trk_no, trk) in self.tracks.iter().enumerate() {
+            if strmgr.is_ignored(trk_no) {
+                continue;
+            }
             if let Some(ts) = trk.cur_ts {
                 min_ts = min_ts.min(ts);
             } else {
@@ -1880,6 +1883,9 @@ impl<'a> DemuxCore<'a> for MOVDemuxer<'a> {
             }
             let track = &mut self.tracks[self.cur_track];
             self.cur_track += 1;
+            if strmgr.is_ignored(self.cur_track - 1) {
+                continue;
+            }
             let first = track.cur_sample == 0;
             if let Some((pts, offset, size)) = track.get_next_chunk() {
                 return process_packet(self.src, strmgr, track, pts, offset, size, first);