module-echo-cancel moves volume sliders in pavucontrol automatically
Submitted by Alexander E. Patrakov
Assigned to pul..@..op.org
First of all: this is primarily an UI-related bug in pavucontrol and other volume-control applications that does need some changes in pulseaudio itself.
In some circumstances (e.g. too strong microphone signal) module-echo-cancel wants to adjust the input level automatically. I have absolutely nothing against this. I do object, however, to the capture stream volume slider in pavucontrol moving automatically due to this. I understand that the opposite opinion is also valid - there should definitely be some indication that automatic capture volume adjustment takes place.
In fact, on the playback side, as Arun explained during his talk on GStreamer conference, we have something similar already solved. When module-role-ducking wants to reduce the stream volume temporarily, it does so using pa_sink_input_add_volume_factor(). Result: volume reduced, sliders not moved. Maybe we need to implement something similar for recording (if not already done), get module-echo-cancel use that, and get pavucontrol indicate both the user-set and the effective volume (with their interaction still to be determined).
Or we can discuss other UI solutions (such as attaching the "volume is controlled automatically" flag to the streams and greying out the volume slider on it), as some people would be equally annoyed by having a movable slider that has no effect if the user-set and effective volume interaction is not carefully thought out.