From 568726e48dbccbe218e942a03d03f437bc27a721 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 28 Feb 2024 10:02:49 +0100 Subject: [PATCH] Fix broken player on broken video --- client/src/assets/player/peertube-player.ts | 4 ++-- client/src/assets/player/shared/peertube/peertube-plugin.ts | 4 ++++ client/src/assets/player/shared/web-video/web-video-plugin.ts | 3 --- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/client/src/assets/player/peertube-player.ts b/client/src/assets/player/peertube-player.ts index df0cc15e7..084ef965d 100644 --- a/client/src/assets/player/peertube-player.ts +++ b/client/src/assets/player/peertube-player.ts @@ -124,7 +124,6 @@ export class PeerTubePlayer { setPoster (url: string) { this.player?.poster(url) - this.options.playerElement().poster = url } enable () { @@ -209,7 +208,8 @@ export class PeerTubePlayer { } } - this.player.one('error', () => handleError()) + this.player.on('video-change', () => alreadyFallback = false) + this.player.on('error', () => handleError()) this.player.on('network-info', (_, data: PlayerNetworkInfo) => { if (data.source !== 'p2p-media-loader' || isNaN(data.bandwidthEstimate)) return diff --git a/client/src/assets/player/shared/peertube/peertube-plugin.ts b/client/src/assets/player/shared/peertube/peertube-plugin.ts index 90524ebb5..bc010dc82 100644 --- a/client/src/assets/player/shared/peertube/peertube-plugin.ts +++ b/client/src/assets/player/shared/peertube/peertube-plugin.ts @@ -187,6 +187,10 @@ class PeerTubePlugin extends Plugin { this.player.removeChild(this.errorModal) this.errorModal.close() this.errorModal = undefined + + if (this.player.loadingSpinner) { + this.player.loadingSpinner.show() + } } private initializePlayer () { diff --git a/client/src/assets/player/shared/web-video/web-video-plugin.ts b/client/src/assets/player/shared/web-video/web-video-plugin.ts index 0f5015c9a..0a6063dcf 100644 --- a/client/src/assets/player/shared/web-video/web-video-plugin.ts +++ b/client/src/assets/player/shared/web-video/web-video-plugin.ts @@ -87,9 +87,6 @@ class WebVideoPlugin extends Plugin { const oldAutoplayValue = this.player.autoplay() if (options.isUserResolutionChange) { - // Prevent video source element displaying the poster when we change the resolution - (this.player.el() as HTMLVideoElement).poster = '' - this.player.autoplay(false) this.player.addClass('vjs-updating-resolution') }