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(); }