]> git.nihav.org Git - nihav.git/commitdiff
wavmux: always write non-zero block size for PCM
authorKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 7 Apr 2025 16:39:14 +0000 (18:39 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 7 Apr 2025 16:41:04 +0000 (18:41 +0200)
nihav-commonfmt/src/muxers/wav.rs

index 5b20677b4c65acc38c887c33c9624bb6f5421a7a..981a2f6db75bdb52c2101e9f2b02b965b7d87112 100644 (file)
@@ -62,7 +62,11 @@ impl<'a> MuxCore<'a> for WAVMuxer<'a> {
         self.bw.write_u16le(u16::from(ainfo.channels))?;
         self.bw.write_u32le(ainfo.sample_rate)?;
         self.bw.write_u32le(avg_bytes_per_sec)?;
-        self.bw.write_u16le(ainfo.block_len as u16)?;
+        if stream.get_info().get_name() != "pcm" || ainfo.block_len > 0 {
+            self.bw.write_u16le(ainfo.block_len as u16)?;
+        } else {
+            self.bw.write_u16le(u16::from(ainfo.channels) * u16::from(ainfo.format.bits) >> 3)?;
+        }
         self.bw.write_u16le(u16::from(ainfo.format.bits))?;
         if let Some(ref buf) = stream.get_info().get_extradata() {
             self.bw.write_u16le(edata_len as u16)?;