src: string
}
-type UserWatching = {
- url: string
- authorizationHeader: string
-}
-
type PeerTubePluginOptions = {
mode: PlayerMode
- autoplay: boolean
- videoViewUrl: string
+ autoplay: videojs.Autoplay
videoDuration: number
- userWatching?: UserWatching
+ videoViewUrl: string
+ authorizationHeader?: () => string
+
subtitle?: string
videoCaptions: VideoJSCaption[]
+ startTime: number | string
stopTime: number | string
isLive: boolean
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,
- UserWatching,
PeerTubePluginOptions,
WebtorrentPluginOptions,
P2PMediaLoaderPluginOptions,