WebRTC Metrics
A comprehensive overview of WebRTC statistics, derived indicators, and observable signals, to better understand call quality, connectivity, and user experience in rtcStats
Gain control intentionally disabled
The browser will not automatically adjust the microphone level, which may produce audio that is too quiet or too loud for remote participants.
Description
WebRTC applications can request access to audio devices via getUserMedia. By default, the browser applies several audio processing steps to the captured audio, including Automatic Gain Control (AGC). AGC dynamically adjusts the level of the captured audio so that it stays within a target range, regardless of how loud the user speaks or how far they are from the microphone.
When the constraint autoGainControl is explicitly set to false, AGC is turned off for the capture. Quiet speakers may become inaudible to remote participants, and loud speakers may saturate or clip.
What do we do here?
We look at every getUserMedia call in the dump and parse the provided audio constraints. We mark an observation when the property autoGainControl is set to false.
Notes
Disabling AGC can be a deliberate choice, for example when the application ships its own level control, when the capture pipeline feeds a recording or a music-oriented use case that must preserve dynamics, or when a dedicated external audio device already manages gain.
Our suggestions
- Make sure the decision to disable gain control is intentional.
- Otherwise, remove
autoGainControl: falsefrom the constraints and let the browser manage the microphone level.