1 // FIXME: something weird with our path definition in tsconfig and typings
3 import * as videojs from 'video.js'
4 import { P2PMediaLoaderPluginOptions, VideoJSComponentInterface } from './peertube-videojs-typings'
6 // videojs-hlsjs-plugin needs videojs in window
7 window['videojs'] = videojs
8 import '@streamroot/videojs-hlsjs-plugin'
10 import { initVideoJsContribHlsJsPlayer } from 'p2p-media-loader-hlsjs'
12 // import { Events } from '../p2p-media-loader/p2p-media-loader-core/lib'
14 const Plugin: VideoJSComponentInterface = videojs.getPlugin('plugin')
15 class P2pMediaLoaderPlugin extends Plugin {
17 constructor (player: videojs.Player, options: P2PMediaLoaderPluginOptions) {
18 super(player, options)
20 initVideoJsContribHlsJsPlayer(player)
32 videojs.registerPlugin('p2pMediaLoader', P2pMediaLoaderPlugin)
33 export { P2pMediaLoaderPlugin }