From 7722cca1d55c74442b93a355046f8958bbe9b207 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Mon, 7 Apr 2025 18:39:14 +0200 Subject: [PATCH] wavmux: always write non-zero block size for PCM --- nihav-commonfmt/src/muxers/wav.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nihav-commonfmt/src/muxers/wav.rs b/nihav-commonfmt/src/muxers/wav.rs index 5b20677..981a2f6 100644 --- a/nihav-commonfmt/src/muxers/wav.rs +++ b/nihav-commonfmt/src/muxers/wav.rs @@ -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)?; -- 2.39.5