diff options
| author | Émilien Devos <contact@emiliendevos.be> | 2022-04-22 22:37:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-22 22:37:45 +0200 |
| commit | 2ea986326d1a64c294025b79088032f3c77e8320 (patch) | |
| tree | 27e66ed965773a6573b8659ce52db1c9fe7b6649 /assets/js/player.js | |
| parent | cf755dec22250cb53fdfb80eed838e2724d1d2a3 (diff) | |
| download | invidious-2ea986326d1a64c294025b79088032f3c77e8320.tar.gz invidious-2ea986326d1a64c294025b79088032f3c77e8320.tar.bz2 invidious-2ea986326d1a64c294025b79088032f3c77e8320.zip | |
Bump videojs to 7.12.1 (#3011)
Diffstat (limited to 'assets/js/player.js')
| -rw-r--r-- | assets/js/player.js | 57 |
1 files changed, 36 insertions, 21 deletions
diff --git a/assets/js/player.js b/assets/js/player.js index f4440de1..f5bec651 100644 --- a/assets/js/player.js +++ b/assets/js/player.js @@ -49,6 +49,42 @@ videojs.Vhs.xhr.beforeRequest = function(options) { var player = videojs('player', options); +player.on('error', () => { + if (video_data.params.quality !== 'dash') { + if (!player.currentSrc().includes("local=true") && !video_data.local_disabled) { + var currentSources = player.currentSources(); + for (var i = 0; i < currentSources.length; i++) { + currentSources[i]["src"] += "&local=true" + } + player.src(currentSources) + } + else if (player.error().code === 2 || player.error().code === 4) { + setTimeout(function (event) { + console.log('An error occurred in the player, reloading...'); + + var currentTime = player.currentTime(); + var playbackRate = player.playbackRate(); + var paused = player.paused(); + + player.load(); + + if (currentTime > 0.5) currentTime -= 0.5; + + player.currentTime(currentTime); + player.playbackRate(playbackRate); + + if (!paused) player.play(); + }, 10000); + } + } +}); + +if (video_data.params.quality == 'dash') { + player.reloadSourceOnError({ + errorInterval: 10 + }); +} + /** * Function for add time argument to url * @param {String} url @@ -144,27 +180,6 @@ if (isMobile()) { }) } -player.on('error', function (event) { - if (player.error().code === 2 || player.error().code === 4) { - setTimeout(function (event) { - console.log('An error occurred in the player, reloading...'); - - var currentTime = player.currentTime(); - var playbackRate = player.playbackRate(); - var paused = player.paused(); - - player.load(); - - if (currentTime > 0.5) currentTime -= 0.5; - - player.currentTime(currentTime); - player.playbackRate(playbackRate); - - if (!paused) player.play(); - }, 5000); - } -}); - // Enable VR video support if (!video_data.params.listen && video_data.vr && video_data.params.vr_mode) { player.crossOrigin("anonymous") |
