Reland: Fix echo return loss stats and add to RTCAudioSourceStats.
Relanding after adding to chromium stats whitelist:
https://chromium-review.googlesource.com/c/chromium/src/+/2983329
This solves two problems:
* Echo return loss stats weren't being gathered in Chrome, because they
need to be taken from the audio processor attached to the track
rather than the audio send stream.
* The standardized location is in RTCAudioSourceStats, not
RTCMediaStreamTrackStats. For now, will populate the stats in both
locations.
Bug: webrtc:12770
Change-Id: I3633ee428d07b283b0cc503a84d8fa2e79415dfb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223761
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34367}
diff --git a/pc/rtc_stats_integrationtest.cc b/pc/rtc_stats_integrationtest.cc
index 032cbe9..90be600 100644
--- a/pc/rtc_stats_integrationtest.cc
+++ b/pc/rtc_stats_integrationtest.cc
@@ -1082,6 +1082,12 @@
verifier.TestMemberIsNonNegative<double>(audio_source.audio_level);
verifier.TestMemberIsPositive<double>(audio_source.total_audio_energy);
verifier.TestMemberIsPositive<double>(audio_source.total_samples_duration);
+ // TODO(hbos): |echo_return_loss| and |echo_return_loss_enhancement| are
+ // flaky on msan bot (sometimes defined, sometimes undefined). Should the
+ // test run until available or is there a way to have it always be
+ // defined? crbug.com/627816
+ verifier.MarkMemberTested(audio_source.echo_return_loss, true);
+ verifier.MarkMemberTested(audio_source.echo_return_loss_enhancement, true);
return verifier.ExpectAllMembersSuccessfullyTested();
}