From: Kostya Shishkov Date: Sat, 16 May 2026 08:04:36 +0000 (+0200) Subject: hopefully fix regression with encoding non-PCM audio X-Git-Url: https://git.nihav.org/?a=commitdiff_plain;ds=inline;p=nihav-encoder.git hopefully fix regression with encoding non-PCM audio --- diff --git a/src/transcoder.rs b/src/transcoder.rs index 1cff30c..01b9399 100644 --- a/src/transcoder.rs +++ b/src/transcoder.rs @@ -1090,10 +1090,18 @@ impl Transcoder { let icodec = istr.get_info().get_name(); if (sainfo == dainfo) && (icodec != "pcm" || oopts.enc_name.as_str() == "pcm") { Box::new(AudioEncodeContext { encoder, cvt: None, sainfo: *sainfo, dainfo: *dainfo, vol: oopts.volume }) - } else { + } else if oopts.enc_name.as_str() == "pcm" { let dchmap = generate_channel_map(dainfo)?; let acvt = AudioConverter::new(sainfo, dainfo, dchmap); Box::new(AudioEncodeContext { encoder, cvt: Some(acvt), sainfo: *sainfo, dainfo: *dainfo, vol: oopts.volume }) + } else if let NACodecTypeInfo::Audio(dinfo) = &ret_eparams.format { + let cvt = if sainfo == dinfo { None } else { + let dchmap = generate_channel_map(dinfo)?; + Some(AudioConverter::new(sainfo, dinfo, dchmap)) + }; + Box::new(AudioEncodeContext { encoder, cvt, sainfo: *sainfo, dainfo: *dinfo, vol: oopts.volume }) + } else { + unreachable!() } }, _ => unreachable!(),