Bug 203435

Summary: REGRESSION(iOS 13): createMediaElementSource not working
Product: WebKit Reporter: Steven V. <icid.asset>
Component: MediaAssignee: Per Arne Vollan <pvollan>
Status: RESOLVED FIXED    
Severity: Critical CC: andrey, ap, bfulgham, brianpeiris, bruce, chrisguttandin, commit-queue, contact, ddkilzer, distinctdan, emj2152, eric.carlson, eric, gfodor, jer.noble, jordy, joseph.eugene, luigi, mbalyaba, mcamis, pvollan, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 13   
Hardware: iPhone / iPad   
OS: iOS 13   
See Also: https://bugs.webkit.org/show_bug.cgi?id=211394
Attachments:
Description Flags
Patch none

Description Steven V. 2019-10-25 14:37:29 PDT
Audio elements connected to the Web Audio API using the `createMediaElementSource` function don't seem to work anymore on iOS 13.

Tested using this MDN example: https://mdn.github.io/webaudio-examples/media-source-buffer/
Last tested on iOS version: 13.1.3
Comment 1 Radar WebKit Bug Importer 2019-10-26 11:59:25 PDT
<rdar://problem/56647240>
Comment 2 Greg Fodor 2019-11-01 12:11:04 PDT
We use this API in Mozilla Hubs (https://hubs.mozilla.com) and noticed that iOS 13 users no longer can play videos. We traced it back to the videos being paused (and unable to play further) once we called createMediaElementSource.

Videos without audio continue to work fine, and if we do not call that API, videos with audio play through the main audio output. For us, it's important we wire the sound into the WebAudio API for proper attenuation, so playing through the normal method is not something we can switch to.
Comment 3 Jordy van Dortmont 2019-12-19 05:42:01 PST
Unfortunately we're running into the same issue at DialogueTrainer. We use this API animate the speech of 3D characters for our iOS 13 users. This completely ruins their user experience.
Comment 4 Adam McAmis 2019-12-19 06:00:20 PST
I’m running into this same issue with an audio visualization app that worked fine in iOS12. Interesting that it’s not broken completely, the audio element will still show up on the lock screen widget for “Now Playing” albeit with no audio actually playing.
Comment 5 Eugene M. Joseph 2020-01-08 11:05:27 PST
I'm having the same issue with an audio visualization web app that doesn't work anymore in iOS13. Any progress or fixes for this?
Comment 6 Abe Shakim 2020-01-08 12:26:34 PST
Seconding all these comments. Please fix ASAP.
Comment 7 bruce 2020-01-14 09:25:25 PST
I've also been having the same issue since the release of iOS 13.  This functionality is needed because iOS doesn't support volume control on the audio element itself, so you need to create an element source and pipe it through a gain node.
Comment 8 Per Arne Vollan 2020-01-14 16:18:13 PST
Created attachment 387721 [details]
Patch
Comment 9 David Kilzer (:ddkilzer) 2020-01-14 16:57:20 PST
<rdar://problem/57257358>
Comment 10 David Kilzer (:ddkilzer) 2020-01-14 16:57:35 PST
*** Bug 204261 has been marked as a duplicate of this bug. ***
Comment 11 Per Arne Vollan 2020-01-14 17:04:00 PST
Comment on attachment 387721 [details]
Patch

Thanks for reviewing!
Comment 12 WebKit Commit Bot 2020-01-14 17:47:45 PST
Comment on attachment 387721 [details]
Patch

Clearing flags on attachment: 387721

Committed r254550: <https://trac.webkit.org/changeset/254550>
Comment 13 WebKit Commit Bot 2020-01-14 17:47:47 PST
All reviewed patches have been landed.  Closing bug.
Comment 14 Maxim Balyaba 2020-02-25 05:07:11 PST
What iOS version has this fix ?
and what about https://bugs.webkit.org/show_bug.cgi?id=203293 ?
Thanks
Comment 15 dataexcess 2020-02-26 02:19:58 PST
When will this bug-fix be shipped? with which version?
Thnx
Comment 16 Eugene M. Joseph 2020-04-09 12:11:11 PDT
createMediaElementSource is still not working for me in iOS 13.4.1. Do we know which version will include the patch?
Comment 17 Alexey Proskuryakov 2020-04-09 12:55:36 PDT
This issue was supposed to have been fixed in iOS 13.4. Could you please a new report with diagnostics specific to your case?
Comment 18 dataexcess 2020-04-09 14:45:30 PDT
I just tested with 13.4.

The issue is still there... No Audio
Comment 19 Luigi Pulcini 2020-05-02 23:50:35 PDT
I asked all my friends on Facebook to test the following player on their iOS 13.4.1 device. None of them managed to make it work. The playback is stuck.

https://www.staging2.waveplayer.info/

The player uses the `createMediaElementSource` WebAudio function to analyze the audio file and animate the waveform using the Frequency Data coming from the source.
So, my only alternative is falling back to a regular Audio Element (with no waveform animations) for all the iOS 13 visitors.

This has been working just fine on any other known versions since iOS 9.

Please update this bug as NOT FIXED and provide us with an estimated date for the final fix.
Comment 20 Alexey Proskuryakov 2020-05-04 09:58:25 PDT
Sorry for the delay. Could you please file a new bug report? This issue was fixed with a patch, and although the fix appears to have been insufficient, continuing the discussion here increases the risk of confusion and mistakes.
Comment 21 Luigi Pulcini 2020-05-04 13:07:41 PDT
I will do.
Comment 22 bruce 2020-05-06 05:16:01 PDT
Could you please link the new bug report here as well?  I have been patiently waiting for a resolution for months now.
Comment 23 Alexey Proskuryakov 2020-05-06 08:55:51 PDT
The new report is bug 211394.