Bug 212367 - HTML Audio/Video DOM load() method being called several times will cause no audio being played on iPhone/iPad
Summary: HTML Audio/Video DOM load() method being called several times will cause no a...
Status: RESOLVED DUPLICATE of bug 198545
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Audio (show other bugs)
Version: Safari 13
Hardware: iPhone / iPad iOS 13
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-25 21:35 PDT by Vicky Cen
Modified: 2022-06-30 16:59 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vicky Cen 2020-05-25 21:35:37 PDT
Steps to reproduce: 

1. On iPad/iPhone, go to https://webrtc.github.io/samples/src/content/devices/multi/.
2. Allow to use mic/camera, then you can see yourself and hear your sound from the left-handed "getUserMedia()" video tile. 
3. Connect iPad/iPhone to safari for local debugging, access the console of iPad/iPhone safari on this page.
4. Getting the left-handed "getUserMedia()" video DOM by   let leftVideo = $('video'); then leftVideo.load();
5. If you execute leftVideo.load(); 7-8 times, especially execute it quickly, then you can't hear yourself. When you can't hear yourself, doing leftVideo.load(); one more time will fix the audio. Then it will become "no audio" -> "can hear" as you execute load() method.


This issue can be found on iPad(7th generation) with iPadOS 13.2.2 and iPhone 6S with ios 13.4.1. But I can't reproduce it on my MacOS so far. 


This is affecting our web app using webRTC to establish calls between users. Our users using iPad to iPad or iPad to iPhone have reported sometime they can't hear other user during the cal. After investigation, we found that in the code we use load() method to reload the <video> when audio track or video track is changed, it will cause audio not being played randomly after load() is being called.
Comment 1 youenn fablet 2020-05-26 06:25:23 PDT
I believe https://bugs.webkit.org/show_bug.cgi?id=211287 should fix this issue.
Comment 2 youenn fablet 2020-05-26 06:26:01 PDT
@Vicky, can this bug be duped to https://bugs.webkit.org/show_bug.cgi?id=198545?
Comment 3 Vicky Cen 2020-05-26 19:39:16 PDT
(In reply to youenn fablet from comment #2)
> @Vicky, can this bug be duped to
> https://bugs.webkit.org/show_bug.cgi?id=198545?

Yes, it looks like it's the same bug. In our web app, the workaround is to call pause() then play() few seconds after the call is established. And the volume drops in random cases, which looks similar to what's reported in https://bugs.webkit.org/show_bug.cgi?id=198545.

Is there a timeline for the fix from Apple?
Comment 4 Brent Fulgham 2022-06-30 16:59:42 PDT

*** This bug has been marked as a duplicate of bug 198545 ***