Browse Source

engine: client: voice: do not reinitialize voice with same parameters

pull/2/head
Alibek Omarov 1 year ago
parent
commit
7d2bf93c72
  1. 10
      engine/client/voice.c

10
engine/client/voice.c

@ -382,7 +382,7 @@ void Voice_RecordStart( void ) @@ -382,7 +382,7 @@ void Voice_RecordStart( void )
{
Sound_Process( &voice.input_file, voice.samplerate, voice.width, SOUND_RESAMPLE );
voice.input_file_pos = 0;
voice.start_time = Sys_DoubleTime();
voice.is_recording = true;
}
@ -499,7 +499,7 @@ void CL_AddVoiceToDatagram( void ) @@ -499,7 +499,7 @@ void CL_AddVoiceToDatagram( void )
if( cls.state != ca_active || !Voice_IsRecording() || !voice.encoder )
return;
size = Voice_GetOpusCompressedData( voice.output_buffer, sizeof( voice.output_buffer ), &frames );
if( size > 0 && MSG_GetNumBytesLeft( &cls.datagram ) >= size + 32 )
@ -600,8 +600,10 @@ qboolean Voice_Init( const char *pszCodecName, int quality ) @@ -600,8 +600,10 @@ qboolean Voice_Init( const char *pszCodecName, int quality )
}
// reinitialize only if codec parameters are different
if( Q_strcmp( voice.codec, pszCodecName ) && voice.quality != quality )
Voice_Shutdown();
if( !Q_strcmp( voice.codec, pszCodecName ) && voice.quality == quality )
return true;
Voice_Shutdown();
voice.autogain.block_size = 128;

Loading…
Cancel
Save