From ffacd78f21d4021b3c0f654ff63ef29ca7afcde3 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 8 Jun 2021 10:17:47 +0200 Subject: [PATCH] Load embed api resolutions on init --- .../player/p2p-media-loader/p2p-media-loader-plugin.ts | 4 ++++ client/src/standalone/videos/embed-api.ts | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts b/client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts index 4275a5e5e..f1bd9f0c4 100644 --- a/client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts +++ b/client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts @@ -124,6 +124,10 @@ class P2pMediaLoaderPlugin extends Plugin { this.trigger('resolutionChange', { auto: this.hlsjs.autoLevelEnabled, resolutionId: data.height }) }) + this.hlsjs.on(Hlsjs.Events.MANIFEST_LOADED, (_: any, data: any) => { + this.trigger('resolutionsLoaded') + }) + this.p2pEngine.on(Events.SegmentError, (segment: Segment, err) => { console.error('Segment error.', segment, err) diff --git a/client/src/standalone/videos/embed-api.ts b/client/src/standalone/videos/embed-api.ts index 94e39ec29..75174f2f8 100644 --- a/client/src/standalone/videos/embed-api.ts +++ b/client/src/standalone/videos/embed-api.ts @@ -140,12 +140,14 @@ export class PeerTubeEmbedApi { }) // PeerTube specific capabilities - if (this.isWebtorrent()) { this.embed.player.webtorrent().on('autoResolutionUpdate', () => this.loadWebTorrentResolutions()) this.embed.player.webtorrent().on('videoFileUpdate', () => this.loadWebTorrentResolutions()) + + this.loadWebTorrentResolutions() } else { this.embed.player.p2pMediaLoader().on('resolutionChange', () => this.loadP2PMediaLoaderResolutions()) + this.embed.player.p2pMediaLoader().on('resolutionsLoaded', () => this.loadP2PMediaLoaderResolutions()) } this.embed.player.on('volumechange', () => { @@ -207,6 +209,6 @@ export class PeerTubeEmbedApi { } private isWebtorrent () { - return this.embed.player.webtorrent + return !!this.embed.player.webtorrent } }