X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-rad%2Fsrc%2Fcodecs%2Fbinkaud.rs;h=2bf93ff351df144cc4128f5c1e9aa69cec080724;hb=5de1b1183a7a086f03fa5de407bb5df2445a3524;hp=05440190008cd533efb394ad4841cd2287045801;hpb=b3799375d68d06aa6d6872f7df33a6f5ddf5c503;p=nihav.git diff --git a/nihav-rad/src/codecs/binkaud.rs b/nihav-rad/src/codecs/binkaud.rs index 0544019..2bf93ff 100644 --- a/nihav-rad/src/codecs/binkaud.rs +++ b/nihav-rad/src/codecs/binkaud.rs @@ -184,7 +184,7 @@ impl NADecoder for BinkAudioDecoder { let channels = ainfo.get_channels(); validate!(channels <= 2); self.ainfo = NAAudioInfo::new(srate, channels, SND_F32P_FORMAT, 2); - self.chmap = NAChannelMap::from_str("L,R").unwrap(); + self.chmap = NAChannelMap::from_str(if channels == 2 {"L,R"} else {"C"}).unwrap(); if let Some(ref edata) = info.get_extradata() { if edata.as_slice() == b"BIKb" { self.version_b = true; @@ -238,7 +238,7 @@ impl NADecoder for BinkAudioDecoder { let nsamples = br.read(32)? as usize; // validate!(nsamples % self.duration == 0); - let mut abuf = alloc_audio_buffer(self.ainfo, nsamples / self.chmap.num_channels() / 2, self.chmap.clone())?; + let abuf = alloc_audio_buffer(self.ainfo, nsamples / self.chmap.num_channels() / 2, self.chmap.clone())?; let mut adata = abuf.get_abuf_f32().unwrap(); let mut off0 = adata.get_offset(0); let mut off1 = adata.get_offset(1);