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.
Now you can use aec_method=webrtc and disable the analog gain control with "analog_gain_control=0". For example, put this in your /etc/pulse/default.pa load-module module-echo-cancel aec_method=webrtc aec_args="analog_gain_control=0 digital_gain_control=1" source_name=echoCancel_source sink_name=echoCancel_sink set-default-source echoCancel_source set-default-sink echoCancel_sink
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/224.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.