When using Safari on iPadOS 15.4 and 15.4.1, some iPad devices create an audio echo issue when using WebRTC for video conferencing.
This has been reproduced on multiple iPad (6th Gen) devices, but not on iPad Air 2 or iPad Air 3.
To reproduce, join a video conference via WebRTC -- for example Google Meet or Pexip - https://pexipdemo.com/webapp/conference?conference=webrtctest -- from the iPad and one or more other devices, and 2 minutes into the conference all other participants will start to hear echo. Removing the iPad from the call stops the echo, determining that it is the iPad causing it. Connecting and disconnecting headphones from the iPad's 3.5mm audio port will stop the echo for the remainder of the call, but it will become present again in a subsequent call.
This has been reproduced on the following video conferencing platforms:
We've also had this problem with a WebRTC app. We can reliably reproduce the problem.
We think it occurs with:
- iPad 4th gen
- iPad 6th gen
- iPad 7th gen
- iPad Pro 10.5 2nd den
- iPad Air 2
It doesn't occur on
- iPad 8th gen
- iPad Pro 11" (2020)
It occurs on iPadOS 15.4, 15.4.1 and the current 15.5 beta.
It doesn't occur on 15.3.1 or earlier.
We've confirmed in the debugger that echo-cancellation is enabled.
Interestingly, the list of affected devices seems to correlate with the list of devices that don't support Voice Isolation:
*** Bug 239860 has been marked as a duplicate of this bug. ***
Regarding Tom's observation that "Connecting and disconnecting headphones from the iPad's 3.5mm audio port will stop the echo for the remainder of the call", we have found that it doesn't actually have to be a pair of headphones. You can insert and remove a 3.5mm jack that has nothing connected to it, and that eliminates the echo.
We've been able to reproduce this issue on all major browsers, not just Safari, however it appears to only happen on any iPad that is able to upgrade to 15.4/15.4.1 that still retains a 3.5mm headphone jack. The work around @Tom posted (plugging in 3.5mm jack) does appear to work for the duration of the call.
@youenn , were you able to reproduce this one? Do you need any more info on it?
I expect you already knew this, but the problem is still there in the iOS 15.5 production release.
Gaming with voice is creating echo with iOS 15.4 which affects untold numbers of users who are hearing the echo coming from these broken iPad models on popular gaming platforms. The established work-around is to stick something in the headphone jack or buy a new iPad, but those with brand new iPads and other devices are the ones that are actually hearing the echo, and they cannot do anything about it. This bug is causing a ripple effect for everyone using WebRTC on the Internet.
When will it be fixed?
We have sent the following email to thousands of customers that have written in about "echo issues" over the last month or so:
We have identified an issue with the latest iOS 15.4 and 15.5 update that is causing an echo and feedback noises to come from the microphone of the following older iPad models:
• iPad 6th Generation (2018)
• iPad 7th Generation (2019)
• iPad Pro 10.5-inch (2017)
This issue is not specific to our game. Apple is aware of the issue and we are waiting for them to fix it in a future operating system update. In the meantime, if an echo arises in your game, please ask all players on iPad with a headphone jack to plug in a pair of headphones, then unplug the pair of headphones. You do not need to use the headphones during play; you simply need to plug them and unplug them to clear out the echo. If your iPad does not have a headphone jack, it is a newer model and is not causing the echo.
FWIW, we were able to reproduce and are working on this issue.
(In reply to youenn fablet from comment #8)
> FWIW, we were able to reproduce and are working on this issue.
Thanks for the update
The fix for this issue needed to be made outside of the WebKit sources. Consequently, we are marking as "RESOLVED | MOVED".
The work is being tracked by this radar:
We believe that the fix is available in iOS 15.6 Beta 4 (and newer).