| Summary: | REGRESSION (iOS 16 Beta): The sound doesn't go by default through connected Airpods | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Madara Freimane <madara.freimane> |
| Component: | WebRTC | Assignee: | youenn fablet <youennf> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bfulgham, webkit-bug-importer, youennf |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Other | ||
| Hardware: | iPhone / iPad | ||
| OS: | Other | ||
|
Description
Madara Freimane
2022-06-15 07:50:26 PDT
Additional information: - the problem appears if AirPods already connected with device => User joins WebRTC call, audio still goes through device instead of AirPods, but if we connect device with AirPods while User is already in a call, no problem, the audio goes through the AirPods. Reproduced the defect with: - iPhone 11 Pro Max (iOS 16 Beta 4 (19G71)) Was not able reproduce the defect with: - iPhone 11 (iOS 15.6 (20A5328h)) Let me know if there is a need to send additional sysdiagnose file. I was not able to reproduce locally on a simple test page (https://webrtc.github.io/samples/src/content/peerconnection/pc1/). I am wondering whether the website is asking to capture on the iPhone microphone, which will switch audio to iPhone instead of AirPods. It might be worth checking whether the website is trying to select a particular microphone device (based on enumerateDevice) and see whether this goes against the current expected device. Maybe enumerateDevices order is not always correct? I tried using https://webrtc.github.io/samples/src/content/devices/input-output/ on my iPhone 16. The following works: 1. I close Safari, use control center to change device to AirPods. 2. I open https://webrtc.github.io/samples/src/content/devices/input-output/ 3. AirPods are selected for both input and output :) The same happens if I redo these steps and change device to iPhone in control center. Now the following happens. 1. I close Safari, use control center to change device to AirPods. 2. I open https://webrtc.github.io/samples/src/content/devices/input-output/ 3. AirPods are selected :) 4. I change selection to iPhone Micro 5. Audio will flow on iPhone speaker 6. I close and reopen Safari, and reload the page. 7. iPhone Micro is selected. At step 7, control center is still stating that AirPods are selected. I am not able to reproduce on iPad with iOS 16.1 beta. I am not sure whether this difference is iPad or iOS 16.1. I was able to reproduce with iPad as well. We select the current route input device as the default microphone. But it does not always seem in sync with what Control Center says. Maybe there is a better way to detect what the default microphone should be. Pull request: https://github.com/WebKit/WebKit/pull/3703 Committed 253921@main (3f849c5584fc): <https://commits.webkit.org/253921@main> Reviewed commits have been landed. Closing PR #3703 and removing active labels. |