PSA: Replacing cricket::AudioOptions::residual_echo_detector, disabling by default

131 views
Skip to first unread message

sa...@google.com

unread,
Dec 9, 2021, 5:58:25 AM12/9/21
to discuss-webrtc

Hi,

You can stop reading if your native WebRTC application does not rely on the non-standard WebRTC metrics "googResidualEchoLikelihood" and "googResidualEchoLikelihoodRecentMax".

tl;dr in a week, I will land a change to remove an old way of enabling the WebRTC residual echo detector, and disabling the detector by default.

Echo cancellation / Chrome is not affected

This change does not affect echo cancellation in any way. Only the two metrics mentioned above. The metrics have already been removed from Chrome since M84, see this PSA.

Why change?

This metric is of limited usefulness, yet costs time to compute on the real-time audio capture thread.

What is changing, exactly?

  • The option cricket::AudioOptions::residual_echo_detector will be removed.
  • The option webrtc::AudioProcessing::Config::ResidualEchoDetector will be removed.
  • The metrics "googResidualEchoLikelihood" and "googResidualEchoLikelihoodRecentMax" will no longer be reported by default.

To enable / keep the feature enabled, one may explicitly instantiate an webrtc::AudioProcessing instance with an echo detector (see the unit test ApmTest.Process in the change linked above) and supply it to WebRTC via the same media dependency interface used by Chrome here (note that Chrome does not provide an audio processing module in the example).

When?

I will land the CL in a week, and shortly thereafter update the code base to remove cricket::AudioOptions::residual_echo_detector and webrtc::AudioProcessing::Config::ResidualEchoDetector entirely.


Kind regards,

Sam


Reply all
Reply to author
Forward
0 new messages