UI of an app I am working on heavily depends on <video> - it contains a slider with demo videos:
At one-moment user can see one video, if a user swipes the video, a new one appears on the screen, etc.
When a video container appears on a screen it already contains <img> with the first frame of the video (please see below). At this very moment, when a video appears on a screen, src of the <video> is being changed, so the video starts loading
Once a video loaded <img> gets invisible and video playback starts.
<div class="slide-video-container">
<img src="res/videos/previews/preview01.jpg" />
<video muted="" loop="" autoplay="" playsinline="playsinline" preload="auto"></video>
</div>
It worked perfectly right till the release of iOS 15 - once a user swipes a video, another one appears on the screen and starts playing almost right away. But on iOS 15 I can see a delay of about 1 - 1.5 seconds before any video gets loaded and playback starts.
Does anyone have any idea why it's happening and how I can workaround this terrible delay?
P.S. I've already workarounded a bug that prevented a video from even starting playing.