WebRTC AGC (Control automático de ganancia)

Estoy probando el AGC WebRTC pero debo estar haciendo algo mal porque la señal simplemente pasa sin modificaciones.

Así es como creo e inicializo el AGC:

agcConfig.compressionGaindB = 9;
agcConfig.limiterEnable = 1;
agcConfig.targetLevelDbfs = 9;   /* 9dB below full scale */

WebRtcAgc_Create(&agc);
WebRtcAgc_Init(agc, minLevel, maxLevel, kAgcModeFixedDigital, 8000);
WebRtcAgc_set_config(agc, agcConfig);

Y luego, por cada bloque de muestra de 10 ms, hago lo siguiente:

WebRtcAgc_Process(agc, micData, NULL, 80, micData, NULL, micLevelIn, &micLevelOut, 0, &saturationWarning);

DóndemicLevelIn se establece en 0.

¿Alguien puede decirme qué estoy haciendo mal?

Esperaba que un tono sinusoidal a gran escala se atenuaría al nivel objetivo de DBFS; y un tono sinusoidal de bajo nivel (es decir, -30dBFS) se amplificaría para que coincida con el nivel objetivo de DBFS. Pero eso no es lo que estoy viendo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta