RESOLVED MOVED 230858
REGRESSION (iOS 15): Performance issues and video element erroring when working with timeUpdate and playbackRate of video element
https://bugs.webkit.org/show_bug.cgi?id=230858
Summary REGRESSION (iOS 15): Performance issues and video element erroring when worki...
skmbr
Reported 2021-09-27 14:10:35 PDT
I have a mobile app built using Cordova / Quasar Framework / Vue.js that is experiencing major performance issues under iOS 15, while running fine in iOS 14.8. Part of the app tracks the time on a video to loop it and reduce the playbackRate at certain points. I've created a quick, cut down example of something similar here: https://jsfiddle.net/skmbr/xors2bk5/87/ In Safari 14.1.2 (16611.3.10.1.6) it runs smoothly and sections where the playbackRate is reduced are at the correct speed. On Safari Technology Preview Release 132 (Safari 15.4, WebKit 16613.1.1.5) the video runs very unevenly when the playbackRate is reduced and much slower than it should. In the app there are some other things being processed at the same time and while everything works smoothly under iOS 14, under iOS 15 it becomes unusable, until the video freezes completely and an error event fires on the video element with "media failed to decode". Strangely my console logs continue as if the video is still playing. Any help would be greatly appreciated as I'm already starting to receive tickets from users as they upgrade to iOS 15.
Attachments
Radar WebKit Bug Importer
Comment 1 2021-10-03 22:00:03 PDT
skmbr
Comment 2 2021-10-18 04:52:24 PDT
Hi There! Does this "Radar" link mean that this bug has been acknowledged or is being worked on? Would really appreciate an update on this if there is one as I have more unhappy users every day and nothing to tell them :( Thanks in advance for any help.
Jer Noble
Comment 3 2021-10-18 08:34:12 PDT
Yes, it's being worked on. It looks like your test case is hitting a case where it repeatedly tries to seek to t=1.0. The seek completes, but the currentTime is (unexpectedly) < 1.0, so the code tries to seek again. Rinse, repeat. (Detail: it looks like our AVPlayer periodicTimeObserver is being called with the wrong time after a seek. It's not clear yet whether a WebKit-level workaround exists.)
skmbr
Comment 4 2021-10-19 13:43:35 PDT
Thanks for the update, much appreciated!
Brent Fulgham
Comment 5 2022-02-10 10:43:01 PST
The fix for this issue was needed outside the WebKit project, therefore this is being resolved as 'Moved'. That bug was resolved in rdar://84786150, and will be available in a future iOS update.
Note You need to log in before you can comment on or make changes to this bug.