fix he issue of decreased sound output when one or more input of the amix settings is set to EOF.
Signed-off-by: Shiqi Zhu <hiccup...@gmail.com> --- libavfilter/af_amix.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c index ade4ef76a8..3ff85650a7 100644 --- a/libavfilter/af_amix.c +++ b/libavfilter/af_amix.c @@ -216,11 +216,11 @@ static void calculate_scales(MixContext *s, int nb_samples) int i; for (i = 0; i < s->nb_inputs; i++) - if (s->input_state[i] & INPUT_ON) + if ((s->input_state[i] & INPUT_ON) && av_audio_fifo_size(s->fifos[i]) > 0) weight_sum += FFABS(s->weights[i]); for (i = 0; i < s->nb_inputs; i++) { - if (s->input_state[i] & INPUT_ON) { + if ((s->input_state[i] & INPUT_ON) && av_audio_fifo_size(s->fifos[i]) > 0) { if (s->scale_norm[i] > weight_sum / FFABS(s->weights[i])) { s->scale_norm[i] -= ((s->weight_sum / FFABS(s->weights[i])) / s->nb_inputs) * nb_samples / (s->dropout_transition * s->sample_rate); @@ -230,7 +230,7 @@ static void calculate_scales(MixContext *s, int nb_samples) } for (i = 0; i < s->nb_inputs; i++) { - if (s->input_state[i] & INPUT_ON) { + if ((s->input_state[i] & INPUT_ON) && av_audio_fifo_size(s->fifos[i]) > 0) { if (!s->normalize) s->input_scale[i] = FFABS(s->weights[i]); else -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".