import { Engine } from '@peertube/p2p-media-loader-hlsjs'
import { VideoFile, VideoPlaylist, VideoPlaylistElement } from '@shared/models'
import { PeerTubeDockPluginOptions } from '../shared/dock/peertube-dock-plugin'
+import { HotkeysOptions } from '../shared/hotkeys/peertube-hotkeys-plugin'
import { Html5Hlsjs } from '../shared/p2p-media-loader/hls-plugin'
import { P2pMediaLoaderPlugin } from '../shared/p2p-media-loader/p2p-media-loader-plugin'
import { RedundancyUrlManager } from '../shared/p2p-media-loader/redundancy-url-manager'
bezels (): void
peertubeMobile (): void
- peerTubeHotkeysPlugin (): void
+ peerTubeHotkeysPlugin (options?: HotkeysOptions): void
stats (options?: StatsCardOptions): StatsForNerdsPlugin
type PeerTubePluginOptions = {
mode: PlayerMode
- autoplay: boolean
+ autoplay: videojs.Autoplay
videoDuration: number
videoViewUrl: string
- authorizationHeader?: string
+ authorizationHeader?: () => string
subtitle?: string
videoUUID: string
}
+type MetricsPluginOptions = {
+ mode: PlayerMode
+ metricsUrl: string
+ videoUUID: string
+}
+
type PlaylistPluginOptions = {
elements: VideoPlaylistElement[]
type PeerTubeLinkButtonOptions = {
shortUUID: string
+ instanceName: string
}
type PeerTubeP2PInfoButtonOptions = {
type WebtorrentPluginOptions = {
playerElement: HTMLVideoElement
- autoplay: boolean
+ autoplay: videojs.Autoplay
videoDuration: number
videoFiles: VideoFile[]
startTime: number | string
playerRefusedP2P: boolean
+
+ requiresAuth: boolean
+ videoFileToken: () => string
+
+ buildWebSeedUrls: (file: VideoFile) => string[]
}
type P2PMediaLoaderPluginOptions = {
startTime: number | string
loader: P2PMediaLoader
+
+ requiresAuth: boolean
+ videoFileToken: () => string
}
export type P2PMediaLoader = {
playlist?: PlaylistPluginOptions
peertube: PeerTubePluginOptions
+ metrics: MetricsPluginOptions
webtorrent?: WebtorrentPluginOptions
http: {
downloadSpeed: number
- uploadSpeed: number
downloaded: number
- uploaded: number
}
p2p: {
ResolutionUpdateData,
AutoResolutionUpdateData,
PlaylistPluginOptions,
+ MetricsPluginOptions,
VideoJSCaption,
PeerTubePluginOptions,
WebtorrentPluginOptions,