Index: webrtc/modules/audio_coding/neteq/decision_logic.cc |
diff --git a/webrtc/modules/audio_coding/neteq/decision_logic.cc b/webrtc/modules/audio_coding/neteq/decision_logic.cc |
index b702e6dc509c1cce8e1a4ccc0e73ca4e95a03508..8cef2c96d4eced2ac2387e2a100ea0189d19e264 100644 |
--- a/webrtc/modules/audio_coding/neteq/decision_logic.cc |
+++ b/webrtc/modules/audio_coding/neteq/decision_logic.cc |
@@ -67,7 +67,6 @@ DecisionLogic::DecisionLogic(int fs_hz, |
delay_manager_(delay_manager), |
buffer_level_filter_(buffer_level_filter), |
cng_state_(kCngOff), |
- generated_noise_samples_(0), |
packet_length_samples_(0), |
sample_memory_(0), |
prev_time_scale_(false), |
@@ -80,7 +79,7 @@ DecisionLogic::DecisionLogic(int fs_hz, |
void DecisionLogic::Reset() { |
cng_state_ = kCngOff; |
- generated_noise_samples_ = 0; |
+ noise_fast_forward_ = 0; |
packet_length_samples_ = 0; |
sample_memory_ = 0; |
prev_time_scale_ = false; |
@@ -107,15 +106,15 @@ Operations DecisionLogic::GetDecision(const SyncBuffer& sync_buffer, |
size_t decoder_frame_length, |
const RTPHeader* packet_header, |
Modes prev_mode, |
- bool play_dtmf, bool* reset_decoder) { |
+ bool play_dtmf, |
+ size_t generated_noise_samples, |
+ bool* reset_decoder) { |
if (prev_mode == kModeRfc3389Cng || |
prev_mode == kModeCodecInternalCng || |
prev_mode == kModeExpand) { |
// If last mode was CNG (or Expand, since this could be covering up for |
- // a lost CNG packet), increase the |generated_noise_samples_| counter. |
- generated_noise_samples_ += output_size_samples_; |
- // Remember that CNG is on. This is needed if comfort noise is interrupted |
- // by DTMF. |
+ // a lost CNG packet), remember that CNG is on. This is needed if comfort |
+ // noise is interrupted by DTMF. |
if (prev_mode == kModeRfc3389Cng) { |
cng_state_ = kCngRfc3389On; |
} else if (prev_mode == kModeCodecInternalCng) { |
@@ -139,7 +138,7 @@ Operations DecisionLogic::GetDecision(const SyncBuffer& sync_buffer, |
return GetDecisionSpecialized(sync_buffer, expand, decoder_frame_length, |
packet_header, prev_mode, play_dtmf, |
- reset_decoder); |
+ reset_decoder, generated_noise_samples); |
} |
void DecisionLogic::ExpandDecision(Operations operation) { |