Bug 248183

Summary: Long delay when switching audio input in Google Meet
Product: WebKit Reporter: yiaayzamzn
Component: WebRTCAssignee: youenn fablet <youennf>
Status: RESOLVED FIXED    
Severity: Normal CC: karlcow, webkit-bug-importer, youennf
Priority: P2 Keywords: BrowserCompat, InRadar
Version: Safari 16   
Hardware: Mac (Apple Silicon)   
OS: macOS 13   

Description yiaayzamzn 2022-11-21 10:42:18 PST
We are experiencing a long delay when trying to switch between external and internal microphones as audio input in Google Meet.

Steps to reproduce:
Join the same meeting from Chrome and Safari on the same computer. 
Turn on the speaker in the meeting in Chrome. 
Turn off the microphone in Chrome. 
Turn off the speaker in Safari. 
Turn on the microphone in Safari.
Speak while switching between two different microphone sources. Check how long it takes until you hear your echo from Chrome.

Now, do the same but reversed:
Turn on the speaker in the meeting in Safari. 
Turn off the microphone in Safari. 
Turn off the speaker in Chrome. 
Turn on the microphone in Chrome.
Speak while switching between two different microphone sources. Check how long it takes until you hear your echo from Chrome.


I tried using an Airpod and using a wired Sony headphone as the external source. I also tried in Firefox and Chrome. The delay of switching audio input in Safari is significantly longer than the delay in other browsers. Here are some of my experimentation results:

With Airpods using bluetooth:
In Chrome
Airpod to internal microphone: 1-2s
Internal microphone to Airpod: 4s

In Safari
Airpod to internal microphone: 4s
Internal microphone to airpod: 6-7s

In Firefox
Airpod to internal microphone: 1s
Internal microphone to airpod: 2s

With Wired Sony headphone
In Chrome
Airpod to internal microphone: Almost instantly
Internal microphone to headphone: Almost instantly

In Safari
Airpod to internal microphone: 2s
Internal microphone to headphone: 3-4s

In Firefox
Airpod to internal microphone: Almost instantly
Internal microphone to headphone: Almost instantly
Comment 1 Radar WebKit Bug Importer 2022-11-28 10:43:16 PST
<rdar://problem/102724364>
Comment 2 youenn fablet 2023-10-11 02:20:20 PDT
Pull request: https://github.com/WebKit/WebKit/pull/18935
Comment 3 EWS 2023-10-12 00:04:54 PDT
Committed 269242@main (7ca419834e5c): <https://commits.webkit.org/269242@main>

Reviewed commits have been landed. Closing PR #18935 and removing active labels.