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

Issue 837227 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Audio Aggregated devices no longer supported on Mac

Reported by hames...@gmail.com, Apr 26 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36

Example URL:
https://webrtc.github.io/samples/src/content/devices/input-output/

Steps to reproduce the problem:
1. Create an aggregated device in Midi Setup on Mac and attach any ouput to it
2. Try to access it in a web page (ex: https://webrtc.github.io/samples/src/content/devices/input-output/)

What is the expected behavior?

What went wrong?
The Device is not enumerated by the browser

Did this work before? Yes 65?

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? N/A

Chrome version: 66.0.3359.117  Channel: stable
OS Version: El Capitan
Flash Version: 

Contents of chrome://gpu:
 
Labels: Needs-Bisect Needs-Triage-M66
Labels: -Pri-2 -Needs-Bisect hasbisect-per-revision ReleaseBlock-Stable Triaged-ET M-66 FoundIn-66 Target-66 RegressedIn-66 Pri-1
Owner: guidou@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on Mac 10.13.3 using chrome reported version #66.0.3359.117 but the same is not reproducible in the latest canary #68.0.3409.2. Issue is specific to OS-mac.

Reverse Bisect Information:
=====================
Good build: 67.0.3385.0
Bad Build : 67.0.3384.0

Change Log URL: 
https://chromium.googlesource.com/chromium/src/+log/b757fbffa0c825780b132fda21048b084d24ba13..3963dffe5e8ff673ebdfef328f5d2ab611aeb685

From the above change log suspecting below change
Change-Id: I2ca03286de64186714568f26b3fb75d6005dc4dc
Reviewed-on: https://chromium-review.googlesource.com/980951

guidou@ - Could you please check and merge the fix to M-66 if it is a valid candidate.
Note: Adding label RBS as it seems to be a recent regression. Please feel free to remove the same if not appropriate.

Thanks...!!
Cc: ellyjo...@chromium.org
Cc: maxmorin@chromium.org olka@chromium.org
Components: Blink>WebAudio
Components: -Blink>WebAudio Blink>WebRTC
Cc: guidou@chromium.org
Owner: ossu@chromium.org
This accidentally broke on r540130, and was accidentally fixed on r547147.

The fix in M68 is part of a relatively large series of CLs, so it is not a good idea to directly merge the fixes to M67 and M66.

M68 still needs some changes of r540130 that were undone by r547147.
The best course of action appears to be to fix M68 and M67 with separate but similar patches that produce the same result. And maybe merge the M67 patch to M66.

Assigning to ossu@, who authored r540130 and knows in detail what needs to be done.
Cc: abdulsyed@chromium.org
Adding abdulsyed@ to discuss if it's a good idea to write a separate patch for M67 (and maybe M66).
Cc: gov...@chromium.org
Labels: M-67
+ govind@ for M67 analysis. 

Are there any workarounds for this issue? My recommendation is to target a fix (if feasible) for M67, since 66 is already at 100%.
Per comment #2, this is already fixed in M67. Am I missing anything here?
*** Bulk Edit ***
M67 Stable promotion is coming soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. 

If fix is already merged to M67 and nothing else is pending, pls mark the bug as fixed. Thank you.
The bug is fixed in M68, but not M67 (or M66).
The fix in M68 was part of a series of CLs. It would be risky to try to merge the whole series to M68. 
The safer choice would be a simpler patch specifically for M67, if authorized.

Comment 12 by ossu@chromium.org, May 3 2018

Additionally, the fix in M68 does introduce a problem when the MacOS native echo canceller is used. This CL[1] fixes both issues for M68. It should probably be backported to M67.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1030170
Thank you guidou@ and  ossu@.
https://chromium-review.googlesource.com/c/chromium/src/+/1030170 is this the only Cl need to merge to M67? How safe it is? This cl is not in canary yet so we need to wait for canary coverage and verification too.

Project Member

Comment 14 by bugdroid1@chromium.org, May 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b3f87d4df018936be7784b86f1542e35d078c67

commit 8b3f87d4df018936be7784b86f1542e35d078c67
Author: Oskar Sundbom <ossu@chromium.org>
Date: Thu May 03 15:20:42 2018

Filter private aggregate devices from macOS device enumerations

This is done specifically to filter out the aggregate devices created
when using kAudioUnitSubType_VoiceProcessingIO. Those should not be
directly user-selectable.

This CL allows other aggregate devices, but ensures they do not claim
to support native echo cancellation, since they don't. Those devices
will have to use software AEC.

Bug:  837227 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Iebb5286cafebe40204899ee2b7f1e0ff263d1fd6
Reviewed-on: https://chromium-review.googlesource.com/1030170
Commit-Queue: Oskar Sundbom <ossu@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555736}
[modify] https://crrev.com/8b3f87d4df018936be7784b86f1542e35d078c67/media/audio/mac/audio_manager_mac.cc
[modify] https://crrev.com/8b3f87d4df018936be7784b86f1542e35d078c67/media/audio/mac/core_audio_util_mac.cc
[modify] https://crrev.com/8b3f87d4df018936be7784b86f1542e35d078c67/media/audio/mac/core_audio_util_mac.h

Comment 15 by ossu@chromium.org, May 3 2018

The CL in 14 should be everything needed. It might need to be adapted a slight bit to merge to M67, though. I'll take a look at that in a day or so, when it's gotten to soak in Canary and I (hopefully) have a bit more time.
NextAction: 2018-05-07
Pls update the bug with canary result on Monday morning for CL listed at #14.
Labels: TE-Verified-M68 TE-Verified-68.0.3419.0
Able to reproduce the issue on mac 10.13.3 using chrome reported version #66.0.3359.117.

Verified the fix on Mac 10.13.3 using Chrome version #68.0.3419.0 as per the comment #0.
Attaching screen cast for reference.
Observed that aggregate device is enumerated by the browser without any issues.
Hence, the fix is working as expected. 
Adding the verified labels.

Thanks...!!
837227.mp4
2.4 MB View Download
The NextAction date has arrived: 2018-05-07
*** Bulk Edit ***
M67 Stable promotion is coming VERY soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. 

If fix is already merged to M67 and nothing else is pending, pls mark the bug as fixed. Thank you.

Comment 20 by ossu@chromium.org, May 7 2018

Labels: Merge-Request-67
NextAction: ----
Canary looks fine: no bugs reported, looked through crashes and found nothing.
Requesting a merge to M67 of the CL in #14. The CL probably needs a bit of tweaking to merge, though; should just be moving code around, nothing major.
Project Member

Comment 21 by sheriffbot@chromium.org, May 7 2018

Labels: -Merge-Request-67 Merge-Review-67 Hotlist-Merge-Review
This bug requires manual review: M67 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), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-67 Merge-Approved-67
Approving merge for CL listed at #14 to M67 branch 3396 based on comment #15 and #20. Please merge ASAP so we can take it in for this week M67 beta release. Thank you.
Project Member

Comment 23 by bugdroid1@chromium.org, May 8 2018

Labels: -merge-approved-67 merge-merged-3396
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/66475ba439fee51dcf5456c0c7c33838dff317d9

commit 66475ba439fee51dcf5456c0c7c33838dff317d9
Author: Oskar Sundbom <ossu@chromium.org>
Date: Tue May 08 16:47:19 2018

Filter private aggregate devices from macOS device enumerations

This is done specifically to filter out the aggregate devices created
when using kAudioUnitSubType_VoiceProcessingIO. Those should not be
directly user-selectable.

This CL allows other aggregate devices, but ensures they do not claim
to support native echo cancellation, since they don't. Those devices
will have to use software AEC.

Bug:  837227 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Iebb5286cafebe40204899ee2b7f1e0ff263d1fd6
Reviewed-on: https://chromium-review.googlesource.com/1030170
Commit-Queue: Oskar Sundbom <ossu@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#555736}(cherry picked from commit 8b3f87d4df018936be7784b86f1542e35d078c67)
Reviewed-on: https://chromium-review.googlesource.com/1049649
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/branch-heads/3396@{#517}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[modify] https://crrev.com/66475ba439fee51dcf5456c0c7c33838dff317d9/media/audio/mac/audio_manager_mac.cc
[modify] https://crrev.com/66475ba439fee51dcf5456c0c7c33838dff317d9/media/audio/mac/core_audio_util_mac.cc
[modify] https://crrev.com/66475ba439fee51dcf5456c0c7c33838dff317d9/media/audio/mac/core_audio_util_mac.h

Comment 24 by ossu@chromium.org, May 8 2018

Status: Fixed (was: Assigned)
Labels: TE-Verified-M67 TE-Verified-67.0.3396.40
Able to reproduce the issue on mac 10.13.3 using chrome reported version #66.0.3359.117.

Verified the fix on Mac 10.13.3 using Chrome version #67.0.3396.40 as per the comment #0.
Attaching screen shot for reference.
Observed that aggregate device is enumerated by the browser without any issues.
Hence, the fix is working as expected. 
Adding the verified labels.

Thanks...!!
837227@ 67.0.3396.40.png
1.0 MB View Download

Sign in to add a comment