diff --git a/src/modules/audio_coding/main/source/acm_neteq.cc b/src/modules/audio_coding/main/source/acm_neteq.cc index c50a64e55d..0342388d03 100644 --- a/src/modules/audio_coding/main/source/acm_neteq.cc +++ b/src/modules/audio_coding/main/source/acm_neteq.cc @@ -44,6 +44,7 @@ _numSlaves(0), _receivedStereo(false), _masterSlaveInfo(NULL), _previousAudioActivity(AudioFrame::kVadUnknown), +_extraDelay(0), _callbackCritSect(CriticalSectionWrapper::CreateCriticalSection()) { for(int n = 0; n < MAX_NUM_SLAVE_NETEQ + 1; n++) @@ -333,6 +334,7 @@ ACMNetEQ::SetExtraDelay( return -1; } } + _extraDelay = delayInMS; return 0; } @@ -1186,16 +1188,8 @@ ACMNetEQ::AddSlave( _numSlaves = 1; _isInitialized[slaveIdx] = true; - // Set Slave delay as Master delay - WebRtc_UWord16 currentDelayMs; - if(WebRtcNetEQ_GetCurrentDelay(_inst[0], ¤tDelayMs) < 0) - { - LogError("GetCurrentDelay", 0); - WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceAudioCoding, _id, - "AddSlave: AddSlave Failed, Could not Get Current Delay from Master."); - return -1; - } - if(WebRtcNetEQ_SetExtraDelay(_inst[slaveIdx], currentDelayMs) < 0) + // Set Slave delay as all other instances. + if(WebRtcNetEQ_SetExtraDelay(_inst[slaveIdx], _extraDelay) < 0) { LogError("SetExtraDelay", slaveIdx); WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceAudioCoding, _id, diff --git a/src/modules/audio_coding/main/source/acm_neteq.h b/src/modules/audio_coding/main/source/acm_neteq.h index 8d4b2c1004..61046f14d2 100644 --- a/src/modules/audio_coding/main/source/acm_neteq.h +++ b/src/modules/audio_coding/main/source/acm_neteq.h @@ -401,6 +401,7 @@ private: bool _receivedStereo; void* _masterSlaveInfo; AudioFrame::VADActivity _previousAudioActivity; + WebRtc_Word32 _extraDelay; CriticalSectionWrapper* _callbackCritSect; };