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)?;