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

Issue 797272 link

Starred by 5 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

The audio timestamps reported by Chrome to WebRTC are sometimes incorrect on Chrome OS

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

Issue description

Sometimes the audio timestamps reported for the playout and capture audio by Chrome to WebRTC are incorrect for Chrome OS.

This issue has been observed causing the WebRTC echo canceller (AEC2) to end up in a state where there is full and persistent echo.
 

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

Description: Show this description

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

Description: Show this description

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

Description: Show this description

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

Description: Show this description

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

Labels: -Pri-2 Pri-1
Project Member

Comment 6 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

Project Member

Comment 7 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

Components: OS>Kernel>Audio
Labels: Merge-Request-64 M64
Owner: cychiang@chromium.org
To fix this we need to cherry-pick the CRAS CL
https://chromium-review.googlesource.com/818372

to M64.
Project Member

Comment 9 by sheriffbot@chromium.org, Dec 25 2017

Labels: -Merge-Request-64 Hotlist-Merge-Review Merge-Review-64
This bug requires manual review: M64 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Components: -Blink>Media>Audio
Can you please list all OS's this impacts?
Project Member

Comment 12 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

Labels: -Merge-Review-64
Owner: louiscollard@chromium.org
Please ignore the merge request for https://chromium-review.googlesource.com/818372.

That CL only solves the reported latency on some of the boards (stable on auron-based boards).
There are other boards having incorrect reported delay.

For example, on eve, the reported round trip latency is less than measured latency by 80ms consistently.
This delay is added to latency caused by buffer level reported by driver, and is different on different boards.

We need to measure and compensate this value in CRAS to report a correct latency.
Until then, AEC can not trust the reported latency on ChromeOS.
Cc: katierh@chromium.org

Comment 15 by olka@chromium.org, Jan 4 2018

Cc: dalecur...@chromium.org
Jimmy. Is this still targeting M64? It's late for M64.
Labels: -M64
#7 and #12 handles M63 and M64 already.

We can fix the wrong reported value in the future releases.
Labels: OS-Chrome
[Re-triage] What's the status of this bug? Has it been fixed for M65? Is P1 correct? If yes, please set a target milestone.
I'm actively investigating the latency discrepancy, but I'm afraid I don't have a good estimate for when this will be fixed at the moment. I'll update when I do.
Labels: M-66
The discrepancy of reported latency and measured latency is different on different boards.
We need a way to calibrate the delay in DSP (may be as low as few ms, or as large as 70 ms), and fix snd_pcm_delay call in the driver so it can reply a value that is as close to the measured value as possible.

I think it is impossible for M65.
So targeting M66 instead.

Cc: grunell@chromium.org
Issue 801404 has been merged into this issue.
louiscollard@: do you estimate this will be fixed for M66? (Asking since it's a P1.)
Cc: dgreid@chromium.org
Labels: -M-66 M-67
Not in M66. Also, we won't go back and fix all old boards because it requires efforts on every platform. I think we should fix KabyLake (like eve and soraka) and after.
Per: how urgent is this? Should this be a P2?
Labels: -Pri-1 Pri-2
Done. Changed to P2.
Should this be bumped to M69?
Yes we still don't have a good plan for how to fix this properly. 
Owner: ----
Status: Available (was: Assigned)
Cc: maxmorin@chromium.org
Max, is this related to your recent changes?
As far as I can see,  Issue 903213  is about Chrome misinterpreting the timestamp provided by cras and this issue is about the cras not being in agreement with the physical reality. One could easily be mistaken for the other though.
Owner: cychiang@chromium.org
I'd say  Issue 903213  is a part of this one the way it's formulated now.

cychiang@, are there any updates on #20? Was it fixed?
Status: Assigned (was: Available)

Sign in to add a comment