X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fassets%2Fplayer%2Fpeertube-videojs-typings.ts;h=8afb424a780c7b3602729f6d9b0fb3f0711bb1ef;hb=a45050e09edf6e2d74b6db48196f44ef9ce8fa58;hp=cb7d6f6b48a6425d04b02eb57fc6b36d3d35efb5;hpb=610d0be13b3d01f653ef269271dd667a57c85ef2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/assets/player/peertube-videojs-typings.ts b/client/src/assets/player/peertube-videojs-typings.ts index cb7d6f6b4..8afb424a7 100644 --- a/client/src/assets/player/peertube-videojs-typings.ts +++ b/client/src/assets/player/peertube-videojs-typings.ts @@ -1,11 +1,15 @@ -import { PeerTubePlugin } from './peertube-plugin' -import { WebTorrentPlugin } from './webtorrent/webtorrent-plugin' +import { Config, Level } from 'hls.js' +import videojs from 'video.js' +import { VideoFile, VideoPlaylist, VideoPlaylistElement } from '@shared/models' import { P2pMediaLoaderPlugin } from './p2p-media-loader/p2p-media-loader-plugin' -import { PlayerMode } from './peertube-player-manager' import { RedundancyUrlManager } from './p2p-media-loader/redundancy-url-manager' -import { VideoFile } from '@shared/models' -import videojs from 'video.js' -import { Config, Level } from 'hls.js' +import { PlayerMode } from './peertube-player-manager' +import { PeerTubePlugin } from './peertube-plugin' +import { PlaylistPlugin } from './playlist/playlist-plugin' +import { EndCardOptions } from './upnext/end-card' +import { StatsCardOptions } from './stats/stats-card' +import { WebTorrentPlugin } from './webtorrent/webtorrent-plugin' +import { StatsForNerdsPlugin } from './stats/stats-plugin' declare module 'video.js' { @@ -34,6 +38,8 @@ declare module 'video.js' { bezels (): void + stats (options?: StatsCardOptions): StatsForNerdsPlugin + qualityLevels (): QualityLevels textTracks (): TextTrackList & { @@ -41,9 +47,11 @@ declare module 'video.js' { tracks_: (TextTrack & { id: string, label: string, src: string })[] } - audioTracks (): AudioTrackList - dock (options: { title: string, description: string }): void + + upnext (options: Partial): void + + playlist (): PlaylistPlugin } } @@ -102,6 +110,26 @@ type PeerTubePluginOptions = { videoCaptions: VideoJSCaption[] stopTime: number | string + + isLive: boolean + + videoUUID: string +} + +type PlaylistPluginOptions = { + elements: VideoPlaylistElement[] + + playlist: VideoPlaylist + + getCurrentPosition: () => number + + onItemClicked: (element: VideoPlaylistElement) => void +} + +type NextPreviousVideoButtonOptions = { + type: 'next' | 'previous' + handler: Function + isDisabled: () => boolean } type WebtorrentPluginOptions = { @@ -124,6 +152,8 @@ type P2PMediaLoaderPluginOptions = { } type VideoJSPluginOptions = { + playlist?: PlaylistPluginOptions + peertube: PeerTubePluginOptions webtorrent?: WebtorrentPluginOptions @@ -153,6 +183,8 @@ type AutoResolutionUpdateData = { } type PlayerNetworkInfo = { + source: 'webtorrent' | 'p2p-media-loader' + http: { downloadSpeed: number uploadSpeed: number @@ -167,12 +199,24 @@ type PlayerNetworkInfo = { uploaded: number numPeers: number } + + // In bytes + bandwidthEstimate: number +} + +type PlaylistItemOptions = { + element: VideoPlaylistElement + + onClicked: Function } export { PlayerNetworkInfo, + PlaylistItemOptions, + NextPreviousVideoButtonOptions, ResolutionUpdateData, AutoResolutionUpdateData, + PlaylistPluginOptions, VideoJSCaption, UserWatching, PeerTubePluginOptions,