Bug 230858 - REGRESSION (iOS 15): Performance issues and video element erroring when working with timeUpdate and playbackRate of video element
Summary: REGRESSION (iOS 15): Performance issues and video element erroring when worki...
Status: RESOLVED MOVED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: Other
Hardware: iPhone / iPad Other
: P2 Normal
Assignee: Nobody
URL: https://jsfiddle.net/skmbr/xors2bk5/87/
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-09-27 14:10 PDT by skmbr
Modified: 2022-02-10 10:43 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description skmbr 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.
Comment 1 Radar WebKit Bug Importer 2021-10-03 22:00:03 PDT
<rdar://problem/83822752>
Comment 2 skmbr 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.
Comment 3 Jer Noble 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.)
Comment 4 skmbr 2021-10-19 13:43:35 PDT
Thanks for the update, much appreciated!
Comment 5 Brent Fulgham 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.