diff --git a/src/modules/audio_processing/aec/echo_cancellation.c b/src/modules/audio_processing/aec/echo_cancellation.c index 36738f75b..f35105f48 100644 --- a/src/modules/audio_processing/aec/echo_cancellation.c +++ b/src/modules/audio_processing/aec/echo_cancellation.c @@ -736,6 +736,7 @@ int WebRtcAec_GetDelayMetrics(void* handle, int* median, int* std) { int delay_values = 0; int num_delay_values = 0; int my_median = 0; + const int kMsPerBlock = (PART_LEN * 1000) / self->splitSampFreq; float l1_norm = 0; if (self == NULL) { @@ -779,13 +780,13 @@ int WebRtcAec_GetDelayMetrics(void* handle, int* median, int* std) { break; } } - *median = my_median; + *median = my_median * kMsPerBlock; // Calculate the L1 norm, with median value as central moment for (i = 0; i < kMaxDelay; i++) { l1_norm += (float) (fabs(i - my_median) * self->aec->delay_histogram[i]); } - *std = (int) (l1_norm / (float) num_delay_values + 0.5f); + *std = (int) (l1_norm / (float) num_delay_values + 0.5f) * kMsPerBlock; // Reset histogram memset(self->aec->delay_histogram, 0, sizeof(self->aec->delay_histogram)); diff --git a/test/data/audio_processing/output_data_float.pb b/test/data/audio_processing/output_data_float.pb index 985cad866..474661e20 100644 Binary files a/test/data/audio_processing/output_data_float.pb and b/test/data/audio_processing/output_data_float.pb differ