New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 797274 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

The WebRTC echo canceller (AEC2) is sensitive to incorrect the timestamps that are reported on Chrome OS.

Project Member Reported by peah@chromium.org, Dec 22 2017

Issue description

When the the audio timestamps reported for the playout and capture audio by Chrome to WebRTC are incorrect, the WebRTC echo canceller (AEC2) has been observed ending up in a state where there is full and persistent echo.

Since the audio timestamps reported by Chrome OS are sometimes incorrect, the AEC sensitivity to that is an issue on the Chrome OS platform.

 
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/11556464a62ea14db9eee5e6c2a79a40aa1700ab

commit 11556464a62ea14db9eee5e6c2a79a40aa1700ab
Author: Per Åhgren <peah@webrtc.org>
Date: Fri Dec 22 15:42:13 2017

Enforcing a stream delay of 0 to be assumed in the AEC on Chrome OS

This CL forces the AEC2 to assume a stream delay of 0, thereby
avoiding that the incorrect stream delays reported on Chrome OS
causes echo issues.

Bug:  chromium:797274 , chromium:797272
Change-Id: I10f295c9f1d735622c55fc56be99a14c6cdd88a2
Reviewed-on: https://webrtc-review.googlesource.com/36081
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21432}
[modify] https://crrev.com/11556464a62ea14db9eee5e6c2a79a40aa1700ab/modules/audio_processing/BUILD.gn
[modify] https://crrev.com/11556464a62ea14db9eee5e6c2a79a40aa1700ab/modules/audio_processing/echo_cancellation_impl.cc
[modify] https://crrev.com/11556464a62ea14db9eee5e6c2a79a40aa1700ab/modules/audio_processing/echo_cancellation_impl.h

Comment 2 by peah@chromium.org, Dec 22 2017

Labels: Merge-Request-64 Merge-Request-63
This issue seems to be affecting VoIP calls from all Chrome OS devices.

We would therefore like to merge the fixing CL to both M63 and M64. 

Comment 3 by peah@chromium.org, Dec 22 2017

Cc: tlegrand@chromium.org aelder@chromium.org huib@chromium.org
Labels: M-64 M-63
When did this issue arise?  M63, or?   I see that this is a high priority, but can you share details on Customer impact (% of customers, what they'd experience, etc.)?

Also added release labels.

Comment 5 by peah@chromium.org, Dec 22 2017

As far as we know, the issue is affecting all VoIP calls using Chrome OS, but most calls don't seem to end up echoing. From the reports we have, it seems that once a machine ends up echoing, it continues to do that throughout the call, severely disturbing the call.

The recordings we have made and logs captured strongly indicates that the CL https://chromium-review.googlesource.com/c/chromium/src/+/592403 is what started the regression. 
That CL changed to using timestamps provided by the OS and from what we see those are not always correct on Chrome OS.
A merge of a revert of that CL was deemed too hard to achieve since it was landed so long ago.

 
The above CL landed in M62 so the regression started in M62. It was, however, not discovered until Dec 13.

An issue (https://bugs.chromium.org/p/chromium/issues/detail?id=797272&desc=5) has been filed for adressing the above CL, but in the meantime we would prefer to solve the issue by this merge.
Labels: -Merge-Request-64 Merge-Approved-62
Please lower the priority for P0.  This isn't impacting all users and has been ongoing for some time.

Approving the merge request, however, for M62 specifically.

Comment 7 by peah@chromium.org, Dec 22 2017

Labels: -Pri-0 Pri-1
Apologies; my mistake

#6 should have read, "Approving the merge request, however, for M64 specifically."

Fat fingered; PEBCAK
Labels: -Merge-Approved-62 Merge-Approved-64
Project Member

Comment 10 by bugdroid1@chromium.org, Dec 22 2017

Labels: merge-merged-64
The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/9c262749f5bbb2dc825c57468328315945a5d293

commit 9c262749f5bbb2dc825c57468328315945a5d293
Author: Per Åhgren <peah@webrtc.org>
Date: Fri Dec 22 23:39:44 2017

Merge of Enforcing a stream delay of 0 to be assumed in the AEC on Chrome OS

This CL forces the AEC2 to assume a stream delay of 0, thereby
avoiding that the incorrect stream delays reported on Chrome OS
causes echo issues.

TBR=henrik.lundin@webrtc.org
(cherry picked from commit 11556464a62ea14db9eee5e6c2a79a40aa1700ab)

Bug:  chromium:797274 , chromium:797272
Change-Id: I10f295c9f1d735622c55fc56be99a14c6cdd88a2
Reviewed-on: https://webrtc-review.googlesource.com/36081
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#21432}
Reviewed-on: https://webrtc-review.googlesource.com/36221
Cr-Commit-Position: refs/branch-heads/64@{#7}
Cr-Branched-From: aede67a199ae0552074bfec4bb03cc9a6a5fba0f-refs/heads/master@{#20918}
[modify] https://crrev.com/9c262749f5bbb2dc825c57468328315945a5d293/modules/audio_processing/BUILD.gn
[modify] https://crrev.com/9c262749f5bbb2dc825c57468328315945a5d293/modules/audio_processing/echo_cancellation_impl.cc
[modify] https://crrev.com/9c262749f5bbb2dc825c57468328315945a5d293/modules/audio_processing/echo_cancellation_impl.h

Labels: -Merge-Request-63 Merge-Rejected-63
M63 went stable a few weeks ago. Only accepting urgent merges e.g. P0 security fixes at this point.
Labels: -Merge-Rejected-63 Merge-Approved-63
Project Member

Comment 13 by bugdroid1@chromium.org, Jan 3 2018

Labels: merge-merged-63
The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/dc5904661c4c8b357e19595d80b2881db3f4a71b

commit dc5904661c4c8b357e19595d80b2881db3f4a71b
Author: Per Åhgren <peah@webrtc.org>
Date: Wed Jan 03 00:15:38 2018

Merge of Enforcing a stream delay of 0 to be assumed in the AEC on Chrome OS

This CL forces the AEC2 to assume a stream delay of 0, thereby
avoiding that the incorrect stream delays reported on Chrome OS
causes echo issues.

TBR=henrik.lundin@webrtc.org
(cherry picked from commit 11556464a62ea14db9eee5e6c2a79a40aa1700ab)

Bug:  chromium:797274 , chromium:797272
Change-Id: I10f295c9f1d735622c55fc56be99a14c6cdd88a2
Reviewed-on: https://webrtc-review.googlesource.com/36081
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#21432}
Reviewed-on: https://webrtc-review.googlesource.com/36220
Cr-Commit-Position: refs/branch-heads/63@{#14}
Cr-Branched-From: bef8a5d2ca5413c680995584b8c0976852ba5f25-refs/heads/master@{#20237}
[modify] https://crrev.com/dc5904661c4c8b357e19595d80b2881db3f4a71b/modules/audio_processing/BUILD.gn
[modify] https://crrev.com/dc5904661c4c8b357e19595d80b2881db3f4a71b/modules/audio_processing/echo_cancellation_impl.cc
[modify] https://crrev.com/dc5904661c4c8b357e19595d80b2881db3f4a71b/modules/audio_processing/echo_cancellation_impl.h

Comment 14 by peah@chromium.org, Jan 8 2018

Status: Fixed (was: Assigned)
Project Member

Comment 15 by sheriffbot@chromium.org, Feb 12 2018

Cc: gkihumba@google.com kbleicher@chromium.org
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 16 by peah@chromium.org, Feb 13 2018

Labels: -Merge-Approved-63 -Merge-Approved-64

Sign in to add a comment