diff options
| author | Ming Kin Choi <choimingkin90s@tutanota.com> | 2023-08-27 12:50:36 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-27 12:50:36 +0800 |
| commit | 2a092577c69d41c06f8f094348c2dd88fc6b1a17 (patch) | |
| tree | b28186c263756f3f3cf9716c99f539743e3be5c1 /assets/js | |
| parent | ac0c0609bb8b652e630c3603cd9dbb1c87fbdf44 (diff) | |
| download | invidious-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.js | 15 |
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'); |
