Bug 1880997 Comment 11 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Playing with [`DriftController::mAdjustmentInterval`](https://searchfox.org/mozilla-central/rev/d87ac4f189d6c1ad068bc3d1cdf50d2f871028c2/dom/media/driftcontrol/DriftController.h#138) indicates that the remaining echo is due to interaction with the drift control on the output.  When the controller's "corrected" sample rate matches its nominal, echo cancellation works very well.  When the sample rate differs by even 1/1000, the AEC doesn't seem to be able to completely cancel the echo.

Perhaps the AEC might work as expected if it were applied on the other side of the drift control, but presumably it would struggle when there is real drift between devices.
Playing with [`DriftController::mAdjustmentInterval`](https://searchfox.org/mozilla-central/rev/d87ac4f189d6c1ad068bc3d1cdf50d2f871028c2/dom/media/driftcontrol/DriftController.h#138) indicates that the remaining echo is due to interaction with the drift control on the output.  When the controller's "corrected" sample rate matches its nominal, echo cancellation works very well.  When the sample rate differs by even 1/1000, the AEC doesn't seem to be able to completely cancel the echo.

Perhaps the AEC might work as expected if it were applied [on the other side of the drift control](https://searchfox.org/mozilla-central/rev/1f5d04fed3631f97a84b589429419b83342d7c9a/third_party/libwebrtc/modules/audio_processing/include/audio_processing.h#61-63), but presumably it would then struggle when there is real drift between devices.

Back to Bug 1880997 Comment 11