X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fdemuxers%2Favi.rs;h=d99bfc965b016b9807b58c64b053a679113b9785;hp=eb927e7e57846f545c248add1e754edd1cab5f45;hb=7769ca01cbfffd4c12d5e77953bb851bf0dfac91;hpb=c17489b831959f6543a506a21b4f333e629b47f5 diff --git a/nihav-commonfmt/src/demuxers/avi.rs b/nihav-commonfmt/src/demuxers/avi.rs index eb927e7..d99bfc9 100644 --- a/nihav-commonfmt/src/demuxers/avi.rs +++ b/nihav-commonfmt/src/demuxers/avi.rs @@ -456,7 +456,8 @@ fn parse_strf_auds(dmx: &mut AVIDemuxer, strmgr: &mut StreamManager, size: usize let block_align = dmx.src.read_u16le()?; let bits_per_sample = dmx.src.read_u16le()?; - let soniton = NASoniton::new(bits_per_sample as u8, SONITON_FLAG_SIGNED); + 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_size = dmx.src.read_u16le()? as usize;