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 { Events, Segment } from 'p2p-media-loader-core'
import { timeToInt } from '../utils'
// videojs-hlsjs-plugin needs videojs in window
initVideoJsContribHlsJsPlayer(player)
this.startTime = timeToInt(options.startTime)
- console.log(this.startTime)
player.src({
type: options.type,
this.trigger('resolutionChange', { auto: this.hlsjs.autoLevelEnabled, resolutionId: data.height })
})
- this.p2pEngine.on(Events.SegmentError, (segment, err) => {
+ this.p2pEngine.on(Events.SegmentError, (segment: Segment, err) => {
console.error('Segment error.', segment, err)
+
+ this.options.redundancyUrlManager.removeBySegmentUrl(segment.requestUrl)
})
- this.statsP2PBytes.numPeers = 1 + this.options.redundancyBaseUrls.length
+ this.statsP2PBytes.numPeers = 1 + this.options.redundancyUrlManager.countBaseUrls()
this.runStats()