import 'videojs-hotkeys/videojs.hotkeys'
import 'videojs-dock'
-import 'videojs-contextmenu-pt'
+import '@peertube/videojs-contextmenu'
import './upnext/end-card'
import './upnext/upnext-plugin'
import './stats/stats-card'
import { RedundancyUrlManager } from './p2p-media-loader/redundancy-url-manager'
import { segmentUrlBuilderFactory } from './p2p-media-loader/segment-url-builder'
import { segmentValidatorFactory } from './p2p-media-loader/segment-validator'
-import { getAverageBandwidthInStore, getStoredP2PEnabled, saveAverageBandwidth } from './peertube-player-local-storage'
+import { getAverageBandwidthInStore, saveAverageBandwidth } from './peertube-player-local-storage'
import {
NextPreviousVideoButtonOptions,
P2PMediaLoaderPluginOptions,
onPlayerElementChange: (element: HTMLVideoElement) => void
autoplay: boolean
+ p2pEnabled: boolean
nextVideo?: () => void
hasNextVideo?: () => boolean
player.stats({
videoUUID: options.common.videoUUID,
videoIsLive: options.common.isLive,
- mode
+ mode,
+ p2pEnabled: options.common.p2pEnabled
})
player.on('p2pInfo', (_, data: PlayerNetworkInfo) => {
controlBar: {
children: this.getControlBarChildren(mode, {
videoShortUUID: commonOptions.videoShortUUID,
+ p2pEnabled: commonOptions.p2pEnabled,
captions: commonOptions.captions,
peertubeLink: commonOptions.peertubeLink,
}
let consumeOnly = false
- // FIXME: typings
- if (navigator && (navigator as any).connection && (navigator as any).connection.type === 'cellular') {
+ if ((navigator as any)?.connection?.type === 'cellular') {
console.log('We are on a cellular connection: disabling seeding.')
consumeOnly = true
}
rtcConfig: getRtcConfig(),
requiredSegmentsPriority: 1,
simultaneousHttpDownloads: 1,
- segmentUrlBuilder: segmentUrlBuilderFactory(redundancyUrlManager),
- useP2P: getStoredP2PEnabled(),
+ segmentUrlBuilder: segmentUrlBuilderFactory(redundancyUrlManager, 1),
+ useP2P: commonOptions.p2pEnabled,
consumeOnly
},
segments: {
const webtorrent = {
autoplay,
+ playerRefusedP2P: commonOptions.p2pEnabled === false,
videoDuration: commonOptions.videoDuration,
playerElement: commonOptions.playerElement,
videoFiles: webtorrentOptions.videoFiles.length !== 0
}
private static getControlBarChildren (mode: PlayerMode, options: {
+ p2pEnabled: boolean
videoShortUUID: string
peertubeLink: boolean
}
},
- p2PInfoButton: {},
+ p2PInfoButton: {
+ p2pEnabled: options.p2pEnabled
+ },
muteToggle: {},
volumeControl: {},