Index: webrtc/voice_engine/transmit_mixer.cc |
diff --git a/webrtc/voice_engine/transmit_mixer.cc b/webrtc/voice_engine/transmit_mixer.cc |
index 0240389be14f8df7132f1315087036baa199a49f..d6a5213217e3bfe92b36a3ddbf6b4f524f6ac0f3 100644 |
--- a/webrtc/voice_engine/transmit_mixer.cc |
+++ b/webrtc/voice_engine/transmit_mixer.cc |
@@ -205,6 +205,7 @@ |
external_postproc_ptr_(NULL), |
external_preproc_ptr_(NULL), |
_mute(false), |
+ _remainingMuteMicTimeMs(0), |
stereo_codec_(false), |
swap_stereo_channels_(false) |
{ |
@@ -358,6 +359,17 @@ |
TypingDetection(keyPressed); |
#endif |
+ // --- Mute during DTMF tone if direct feedback is enabled |
+ if (_remainingMuteMicTimeMs > 0) |
+ { |
+ AudioFrameOperations::Mute(_audioFrame); |
+ _remainingMuteMicTimeMs -= 10; |
+ if (_remainingMuteMicTimeMs < 0) |
+ { |
+ _remainingMuteMicTimeMs = 0; |
+ } |
+ } |
+ |
// --- Mute signal |
if (_mute) |
{ |
@@ -463,6 +475,15 @@ |
uint32_t TransmitMixer::CaptureLevel() const |
{ |
return _captureLevel; |
+} |
+ |
+void |
+TransmitMixer::UpdateMuteMicrophoneTime(uint32_t lengthMs) |
+{ |
+ WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1), |
+ "TransmitMixer::UpdateMuteMicrophoneTime(lengthMs=%d)", |
+ lengthMs); |
+ _remainingMuteMicTimeMs = lengthMs; |
} |
int32_t |