The audio timestamps reported by Chrome to WebRTC are sometimes incorrect on Chrome OS |
|||||||||||||||||||||||
Issue descriptionSometimes 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.
,
Dec 22 2017
,
Dec 22 2017
,
Dec 22 2017
,
Dec 22 2017
,
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
,
Dec 22 2017
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
,
Dec 25 2017
To fix this we need to cherry-pick the CRAS CL https://chromium-review.googlesource.com/818372 to M64.
,
Dec 25 2017
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
,
Dec 27 2017
,
Dec 27 2017
Can you please list all OS's this impacts?
,
Jan 3 2018
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
,
Jan 3 2018
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.
,
Jan 3 2018
,
Jan 4 2018
,
Jan 8 2018
Jimmy. Is this still targeting M64? It's late for M64.
,
Jan 12 2018
#7 and #12 handles M63 and M64 already. We can fix the wrong reported value in the future releases.
,
Jan 26 2018
[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.
,
Jan 31 2018
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.
,
Jan 31 2018
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.
,
Jan 31 2018
,
Jan 31 2018
Issue 801404 has been merged into this issue.
,
Feb 23 2018
louiscollard@: do you estimate this will be fixed for M66? (Asking since it's a P1.)
,
Feb 23 2018
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.
,
Feb 23 2018
Per: how urgent is this? Should this be a P2?
,
Feb 23 2018
Done. Changed to P2.
,
May 25 2018
Should this be bumped to M69?
,
May 28 2018
Yes we still don't have a good plan for how to fix this properly.
,
Sep 20
,
Nov 13
Max, is this related to your recent changes?
,
Nov 13
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.
,
Nov 13
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?
,
Nov 13
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by peah@chromium.org
, Dec 22 2017