]> git.nihav.org Git - nihav.git/commitdiff
avi: ignore non-existent audio extradata
authorKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 21 Aug 2025 16:06:04 +0000 (18:06 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 21 Aug 2025 16:06:04 +0000 (18:06 +0200)
nihav-commonfmt/src/demuxers/avi.rs

index de7d705418e50787bd7736c5f870493fc7030809..a5cd9ebec16ec9beef8a2a8312ffccf8c6c55a87 100644 (file)
@@ -734,10 +734,13 @@ fn parse_strf_auds(dmx: &mut AVIDemuxer, strmgr: &mut StreamManager, size: usize
     let signed = bits_per_sample > 8;
     let soniton = NASoniton::new(bits_per_sample as u8, if signed { SONITON_FLAG_SIGNED } else { 0 });
     let ahdr = NAAudioInfo::new(samplespersec, channels as u8, soniton, block_align as usize);
-    let edata = if size > 16 {
+    let edata = if size > 18 {
             let edata_size  = dmx.src.read_u16le()? as usize;
             validate!(edata_size + 18 <= size);
             dmx.read_extradata(size - 18)?
+        } else if size > 16 {
+                              dmx.src.read_skip(size - 16)?;
+            None
         } else {
             None
         };