Bug 226921
| Summary: | MediaDevices devicechange event loop | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jon Mudrick <the.jon.mudrick> |
| Component: | Media | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED CONFIGURATION CHANGED | ||
| Severity: | Normal | CC: | eric.carlson, glefebvr, jer.noble, jovanchohan, webkit-bug-importer, youennf |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 14 | ||
| Hardware: | iPhone / iPad | ||
| OS: | iOS 14 | ||
Jon Mudrick
In safari on iOS 14.6, the navigator.mediaDevices devicechange event (https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/devicechange_event) gets called repeatedly as long as a bluetooth headset is connected to the iOS device. The event stops firing as soon as the bluetooth headset is disconnected. Observed with AirPods Pro and Bose QC35 connected to iPhone.
This may have started with the release of iOS 14.5. That's the first time we started hearing customer complaints about airpods with our webRTC implementation.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/79228964>
Jon Mudrick
For an additional data point - airpods pro only cause this loop when connected and in your ears. When removed from ears (not put back in case yet) the event loop stops.
Jovan Chohan
I'm also able to reproduce this error on my iPad mini 4 on iOS 14.8. When I plug in wired headphones on a page that has the users MediaStream from getUserMedia() being displayed, the "devicechange" event is being fired very frequently. When the headphones are unlplugged the "devicechange" event stops firing.
youenn fablet
This works for me on iOS 15.5 beta using this fiddle: https://jsfiddle.net/48utwfkh/
Marking as Configuration changed, please reopen otherwise.