Bug 260412 - REGRESSION (iOS 17 beta): Playing audio from a `MediaElementAudioSourceNode` silently fails
Summary: REGRESSION (iOS 17 beta): Playing audio from a `MediaElementAudioSourceNode` ...
Status: RESOLVED DUPLICATE of bug 261414
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Audio (show other bugs)
Version: Safari 17
Hardware: iPhone / iPad Other
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on: 261414
Blocks:
  Show dependency treegraph
 
Reported: 2023-08-18 15:23 PDT by Jordan Eldredge
Modified: 2023-09-23 15:59 PDT (History)
10 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jordan Eldredge 2023-08-18 15:23:56 PDT
## Repro

Open the repro link (below) and click “Play”.

**Expected:** An audio sample plays (this happens on iOS 16)

**Actual:** No audio plays (this happens on iOS 17 Beta)

- Repro: [https://captbaritone.github.io/safari-17-element-source-bug/](https://captbaritone.github.io/safari-17-element-source-bug/)
- Repro code: [https://github.com/captbaritone/safari-17-element-source-bug](https://github.com/captbaritone/safari-17-element-source-bug)

### Impact

- This issue was discovered when [webamp.org](http://webamp.org) broke ([issue](https://github.com/captbaritone/webamp/issues/1223))
- The Webamp audio player is also used as an [optional audio player](https://blog.archive.org/2018/10/02/dont-click-on-the-llama/) on the Internet Archive [archive.org](https://archive.org), and the bug manifests there as well
- I’ve also discovered a few other project which worked on Safari 16, but seems to be broken on iOS by this beta release:
    - [https://visicality.derekwolpert.com](https://visicality.derekwolpert.com/) It also uses `MediaElementAudioSourceNode` ([source](https://github.com/derekwolpert/Visicality/blob/25518a682bbbfd55d9abd74fae38f6fce8e158e6/src/index.js#L217))
    - [https://saturn.fm](https://saturn.fm) (sound effects still work, but music does not play)

## Observations

- The issue reproduces on iOS 17.0 (21a5312c)
- The issue does *not* reproduce on iOS 16.3 (20D47)
- The issue does *not* reproduce on Safari 17 on MacOS. Tested on version 17.0 (18616.1.27.101.1, 18616)
- [Some projects](https://github.com/mrdoob/three.js/commit/1c07c8a9868f85f99fb098c82da946e7a7945d07) seem to avoid using `MediaElementAudioSourceNode` on iOS devices, going back to at least May 2020
- There have been a few previous WebKit bugs that look similar: [Bug 211394](https://bugs.webkit.org/show_bug.cgi?id=211394) and [Bug 203435](https://bugs.webkit.org/show_bug.cgi?id=203435)
Comment 1 Radar WebKit Bug Importer 2023-08-21 08:40:13 PDT
<rdar://problem/114196266>
Comment 2 Jer Noble 2023-08-22 14:14:08 PDT
Thanks for the test case! It looks like playback never actually starts when a MediaElementAudioSourceNode is attached. The audio element moves to a playing state, but currentTime never progresses.

We'll take a look. Thanks for filing!
Comment 3 Jer Noble 2023-08-23 10:59:20 PDT
This looks like a regression in iOS 17 media frameworks rather than WebKit. So it's unlikely this will be fixed by a change in WebKit.
Comment 4 Jordan Eldredge 2023-08-23 21:43:18 PDT
Thanks for taking the time to investigate and acknowledge. I'll assume that since this has been imported to Radar that it's been routed to the folks who maintain the media frameworks.

My (limited) understanding is that Safari bugs are not tracked publicly, so our best bet at this point is just to wait for new beta releases and try each one hoping it gets fixed?
Comment 5 Jer Noble 2023-09-08 08:46:07 PDT
(In reply to Jordan Eldredge from comment #4)
> Thanks for taking the time to investigate and acknowledge. I'll assume that
> since this has been imported to Radar that it's been routed to the folks who
> maintain the media frameworks.
> 
> My (limited) understanding is that Safari bugs are not tracked publicly, so
> our best bet at this point is just to wait for new beta releases and try
> each one hoping it gets fixed?

I'll do what I can to update this bugzilla when a fix is publicly available, which will likely happen in a iOS update seed.
Comment 6 Jer Noble 2023-09-15 15:50:28 PDT
A fix for this issue landed in 267871@main, via bug #261414.
Comment 7 Ethan 2023-09-18 00:36:01 PDT
Hello, we found an issue with AudioContext.createMediaElement breaking video playback(cannot play video at all). Could it be related to this issue (https://bugs.webkit.org/show_bug.cgi?id=261668)?
Comment 8 Alexey Proskuryakov 2023-09-21 15:25:53 PDT
Marking as duplicate, as this issue is resolved per the above comment.

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