Created attachment 326074 [details]
HTML file reproducing the error
Executing the play() method of a HTMLVideoElement (<video>) with the attributes "autoplay", "muted", and "playsinline" is rejected with a NotSupportedError when the source is an objectURL from a Blob, despite the video element meeting the requirements for being played inline.
Steps to reproduce:
1. Open the attached file 'video-autoplay-rejected.html' on an iOS device (For testing purposes, I've been running iOS 11 on a simulated iPhone 7 through the Xcode Device Simulator.).
2. In order to gain access to the logs, inspect the browser tab through Safari developer tools on a Mac.
3. Notice how the video fails to autoplay, and subsequent calls to video.play() are rejected.
4. Open up the 'video-autoplay-resolved.html' and repeat steps 2-3.
5. Notice how the demo works as expected - the video is automatically played, and can be paused/played on demand.
Tested on iOS 11.0.1 (15A8401)
Created attachment 326075 [details]
HTML file reproducing a similar but functioning scenario
This looks like a bug in the underlying media frameworks used by WebKit, and not WebKit itself. I'll keep this bug updated when a OS level fix is available, but there likely won't be any commits to WebKit to track.
Thanks for your reply Jer. Would it help if I re-submitted this bug-report somewhere else (e.g. to Apple Bug Reporter), or has the bug already been communicated?