+type P2PMediaLoaderPluginOptions = {
+ redundancyUrlManager: RedundancyUrlManager
+ type: string
+ src: string
+
+ startTime: number | string
+}
+
+type VideoJSPluginOptions = {
+ playlist?: PlaylistPluginOptions
+
+ peertube: PeerTubePluginOptions
+
+ webtorrent?: WebtorrentPluginOptions
+
+ p2pMediaLoader?: P2PMediaLoaderPluginOptions
+}
+
+type LoadedQualityData = {
+ qualitySwitchCallback: (resolutionId: number, type: 'video') => void
+ qualityData: {
+ video: {
+ id: number
+ label: string
+ selected: boolean
+ }[]
+ }
+}
+
+type ResolutionUpdateData = {
+ auto: boolean
+ resolutionId: number
+ id?: number
+}
+
+type AutoResolutionUpdateData = {
+ possible: boolean
+}
+
+type PlayerNetworkInfo = {
+ source: 'webtorrent' | 'p2p-media-loader'
+
+ http: {
+ downloadSpeed: number
+ uploadSpeed: number
+ downloaded: number
+ uploaded: number
+ }
+
+ p2p: {
+ downloadSpeed: number
+ uploadSpeed: number
+ downloaded: number
+ uploaded: number
+ numPeers: number
+ }
+
+ // In bytes
+ bandwidthEstimate: number
+}
+
+type PlaylistItemOptions = {
+ element: VideoPlaylistElement
+
+ onClicked: () => void
+}