Otherwise the scale factor becomes NaN, resulting in corrupt output. Fixes #5426. --- libavcodec/wmavoice.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c index 90dfe20..cd5958c 100644 --- a/libavcodec/wmavoice.c +++ b/libavcodec/wmavoice.c @@ -512,7 +512,8 @@ static void adaptive_gain_control(float *out, const float *in, speech_energy += fabsf(speech_synth[i]); postfilter_energy += fabsf(in[i]); } - gain_scale_factor = (1.0 - alpha) * speech_energy / postfilter_energy; + gain_scale_factor = postfilter_energy == 0.0 ? 0.0 : + (1.0 - alpha) * speech_energy / postfilter_energy; for (i = 0; i < size; i++) { mem = alpha * mem + gain_scale_factor; -- 2.8.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel