summaryrefslogtreecommitdiffstats
path: root/assets/js
diff options
context:
space:
mode:
authorMing Kin Choi <choimingkin90s@tutanota.com>2023-08-27 12:50:36 +0800
committerGitHub <noreply@github.com>2023-08-27 12:50:36 +0800
commit2a092577c69d41c06f8f094348c2dd88fc6b1a17 (patch)
treeb28186c263756f3f3cf9716c99f539743e3be5c1 /assets/js
parentac0c0609bb8b652e630c3603cd9dbb1c87fbdf44 (diff)
downloadinvidious-2a092577c69d41c06f8f094348c2dd88fc6b1a17.tar.gz
invidious-2a092577c69d41c06f8f094348c2dd88fc6b1a17.tar.bz2
invidious-2a092577c69d41c06f8f094348c2dd88fc6b1a17.zip
Fix iOS screen timeout on video playback loop mode
Diffstat (limited to 'assets/js')
-rw-r--r--assets/js/player.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/assets/js/player.js b/assets/js/player.js
index bb53ac24..0c37033d 100644
--- a/assets/js/player.js
+++ b/assets/js/player.js
@@ -701,6 +701,21 @@ if (navigator.vendor === 'Apple Computer, Inc.' && video_data.params.listen) {
});
}
+// Safari screen timeout on looped video playback fix
+if (navigator.vendor === 'Apple Computer, Inc.' && !video_data.params.listen && video_data.params.video_loop) {
+ player.loop(false);
+ player.on('loadedmetadata', function () {
+ player.on('timeupdate', function () {
+ if (player.remainingTime() < 2) {
+ player.loop(true);
+ setTimeout(() => {
+ player.loop(false);
+ }, 2000 / player.playbackRate());
+ }
+ });
+ });
+}
+
// Watch on Invidious link
if (location.pathname.startsWith('/embed/')) {
const Button = videojs.getComponent('Button');