diff --git a/code/client/cl_main.c b/code/client/cl_main.c index 3fa0933b..13de133a 100644 --- a/code/client/cl_main.c +++ b/code/client/cl_main.c @@ -35,6 +35,7 @@ cvar_t *cl_mumbleScale; #if USE_VOIP cvar_t *cl_voipUseVAD; +cvar_t *cl_voipVADThreshold; cvar_t *cl_voipSend; cvar_t *cl_voipSendTarget; cvar_t *cl_voipGainDuringCapture; @@ -384,7 +385,7 @@ void CL_CaptureVoip(void) clc.voipPower = voipPower / (32768.0f * 32768.0f * ((float) (clc.speexFrameSize * speexFrames))); - if ((useVad) && (clc.voipPower > 0.25f)) { + if ((useVad) && (clc.voipPower < cl_voipVADThreshold->value)) { CL_VoipNewGeneration(); // no "talk" for at least 1/4 second. } else { clc.voipOutgoingDataSize = wpos; @@ -3082,6 +3083,7 @@ void CL_Init( void ) { cl_voipSendTarget = Cvar_Get ("cl_voipSendTarget", "all", 0); cl_voipGainDuringCapture = Cvar_Get ("cl_voipGainDuringCapture", "0.2", CVAR_ARCHIVE); cl_voipUseVAD = Cvar_Get ("cl_voipUseVAD", "0", CVAR_ARCHIVE); + cl_voipVADThreshold = Cvar_Get ("cl_voipVADThreshold", "0.0025", CVAR_ARCHIVE); voip = Cvar_Get ("voip", "1", CVAR_USERINFO | CVAR_ARCHIVE | CVAR_LATCH); // This is a protocol version number. diff --git a/code/client/client.h b/code/client/client.h index 1514582d..329d67ac 100644 --- a/code/client/client.h +++ b/code/client/client.h @@ -412,6 +412,7 @@ extern cvar_t *cl_mumbleScale; // send to no one, or a comma-separated list of client numbers: // "0,7,2,23" ... an empty string is treated like "all". extern cvar_t *cl_voipUseVAD; +extern cvar_t *cl_voipVADThreshold; extern cvar_t *cl_voipSend; extern cvar_t *cl_voipSendTarget; extern cvar_t *cl_voipGainDuringCapture;