Bump to WebRTC M120 release
Some API deprecation -- ExperimentalAgc and ExperimentalNs are gone. We're continuing to carry iSAC even though it's gone upstream, but maybe we'll want to drop that soon.
This commit is contained in:
@ -37,16 +37,13 @@ enum class DelayChangesCategory {
|
||||
kNumCategories
|
||||
};
|
||||
|
||||
constexpr int kMaxSkewShiftCount = 20;
|
||||
|
||||
} // namespace
|
||||
|
||||
RenderDelayControllerMetrics::RenderDelayControllerMetrics() = default;
|
||||
|
||||
void RenderDelayControllerMetrics::Update(
|
||||
absl::optional<size_t> delay_samples,
|
||||
size_t buffer_delay_blocks,
|
||||
absl::optional<int> skew_shift_blocks,
|
||||
absl::optional<size_t> buffer_delay_blocks,
|
||||
ClockdriftDetector::Level clockdrift) {
|
||||
++call_counter_;
|
||||
|
||||
@ -54,6 +51,8 @@ void RenderDelayControllerMetrics::Update(
|
||||
size_t delay_blocks;
|
||||
if (delay_samples) {
|
||||
++reliable_delay_estimate_counter_;
|
||||
// Add an offset by 1 (metric is halved before reporting) to reserve 0 for
|
||||
// absent delay.
|
||||
delay_blocks = (*delay_samples) / kBlockSize + 2;
|
||||
} else {
|
||||
delay_blocks = 0;
|
||||
@ -64,21 +63,21 @@ void RenderDelayControllerMetrics::Update(
|
||||
delay_blocks_ = delay_blocks;
|
||||
}
|
||||
|
||||
if (skew_shift_blocks) {
|
||||
skew_shift_count_ = std::min(kMaxSkewShiftCount, skew_shift_count_);
|
||||
}
|
||||
} else if (++initial_call_counter_ == 5 * kNumBlocksPerSecond) {
|
||||
initial_update = false;
|
||||
}
|
||||
|
||||
if (call_counter_ == kMetricsReportingIntervalBlocks) {
|
||||
int value_to_report = static_cast<int>(delay_blocks_);
|
||||
// Divide by 2 to compress metric range.
|
||||
value_to_report = std::min(124, value_to_report >> 1);
|
||||
RTC_HISTOGRAM_COUNTS_LINEAR("WebRTC.Audio.EchoCanceller.EchoPathDelay",
|
||||
value_to_report, 0, 124, 125);
|
||||
|
||||
value_to_report = static_cast<int>(buffer_delay_blocks + 2);
|
||||
value_to_report = std::min(124, value_to_report >> 1);
|
||||
// Divide by 2 to compress metric range.
|
||||
// Offset by 1 to reserve 0 for absent delay.
|
||||
value_to_report = buffer_delay_blocks ? (*buffer_delay_blocks + 2) >> 1 : 0;
|
||||
value_to_report = std::min(124, value_to_report);
|
||||
RTC_HISTOGRAM_COUNTS_LINEAR("WebRTC.Audio.EchoCanceller.BufferDelay",
|
||||
value_to_report, 0, 124, 125);
|
||||
|
||||
@ -120,20 +119,8 @@ void RenderDelayControllerMetrics::Update(
|
||||
"WebRTC.Audio.EchoCanceller.Clockdrift", static_cast<int>(clockdrift),
|
||||
static_cast<int>(ClockdriftDetector::Level::kNumCategories));
|
||||
|
||||
metrics_reported_ = true;
|
||||
call_counter_ = 0;
|
||||
ResetMetrics();
|
||||
} else {
|
||||
metrics_reported_ = false;
|
||||
}
|
||||
|
||||
if (!initial_update && ++skew_report_timer_ == 60 * kNumBlocksPerSecond) {
|
||||
RTC_HISTOGRAM_COUNTS_LINEAR("WebRTC.Audio.EchoCanceller.MaxSkewShiftCount",
|
||||
skew_shift_count_, 0, kMaxSkewShiftCount,
|
||||
kMaxSkewShiftCount + 1);
|
||||
|
||||
skew_shift_count_ = 0;
|
||||
skew_report_timer_ = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user