From e2f01c47e08d26a30ad47068d195b3d21d0df8a1 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 13 Mar 2019 14:18:58 +0100 Subject: Playlist support in watch page --- .../player/p2p-media-loader/p2p-media-loader-plugin.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'client/src/assets/player/p2p-media-loader/p2p-media-loader-plugin.ts') 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 4dbfda300..bbd3e008d 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 @@ -4,6 +4,7 @@ import * as videojs from 'video.js' import { P2PMediaLoaderPluginOptions, PlayerNetworkInfo, VideoJSComponentInterface } from '../peertube-videojs-typings' import { Engine, initHlsJsPlayer, initVideoJsContribHlsJsPlayer } from 'p2p-media-loader-hlsjs' import { Events } from 'p2p-media-loader-core' +import { timeToInt } from '../utils' // videojs-hlsjs-plugin needs videojs in window window['videojs'] = videojs @@ -32,6 +33,7 @@ class P2pMediaLoaderPlugin extends Plugin { totalDownload: 0, totalUpload: 0 } + private startTime: number private networkInfoInterval: any @@ -54,12 +56,14 @@ class P2pMediaLoaderPlugin extends Plugin { initVideoJsContribHlsJsPlayer(player) + this.startTime = timeToInt(options.startTime) + player.src({ type: options.type, src: options.src }) - player.on('play', () => { + player.one('play', () => { player.addClass('vjs-has-big-play-button-clicked') }) @@ -92,6 +96,12 @@ class P2pMediaLoaderPlugin extends Plugin { this.statsP2PBytes.numPeers = 1 + this.options.redundancyBaseUrls.length this.runStats() + + this.hlsjs.on('hlsLevelLoaded', () => { + if (this.startTime) this.player.currentTime(this.startTime) + + this.hlsjs.off('hlsLevelLoaded', this) + }) } private runStats () { -- cgit v1.2.3