import { HlsConfig, Level } from 'hls.js'
import videojs from 'video.js'
import { VideoFile, VideoPlaylist, VideoPlaylistElement } from '@shared/models'
+import { Html5Hlsjs } from './p2p-media-loader/hls-plugin'
import { P2pMediaLoaderPlugin } from './p2p-media-loader/p2p-media-loader-plugin'
import { RedundancyUrlManager } from './p2p-media-loader/redundancy-url-manager'
import { PlayerMode } from './peertube-player-manager'
contextmenuUI (options: any): any
bezels (): void
+ peertubeMobile (): void
+ peerTubeHotkeysPlugin (): void
stats (options?: StatsCardOptions): StatsForNerdsPlugin
}
export interface VideoJSTechHLS extends videojs.Tech {
- hlsProvider: any // FIXME: typings
+ hlsProvider: Html5Hlsjs
}
export interface HlsjsConfigHandlerOptions {
- hlsjsConfig?: HlsConfig & { cueHandler: any }// FIXME: typings
- captionConfig?: any // FIXME: typings
+ hlsjsConfig?: HlsConfig
levelLabelHandler?: (level: Level) => string
}
shortUUID: string
}
+type PeerTubeP2PInfoButtonOptions = {
+ p2pEnabled: boolean
+}
+
type WebtorrentPluginOptions = {
playerElement: HTMLVideoElement
videoFiles: VideoFile[]
startTime: number | string
+
+ playerRefusedP2P: boolean
}
type P2PMediaLoaderPluginOptions = {
PeerTubeResolution,
VideoJSPluginOptions,
LoadedQualityData,
- PeerTubeLinkButtonOptions
+ PeerTubeLinkButtonOptions,
+ PeerTubeP2PInfoButtonOptions
}