// Big thanks to: https://github.com/kmoskwiak/videojs-resolution-switcher
-import videojs, { Player } from 'video.js'
+import * as videojs from 'video.js'
import * as WebTorrent from 'webtorrent'
-import { VideoFile } from '../../../../shared'
+import { VideoFile } from '../../../../shared/models/videos/video.model'
import { renderVideo } from './video-renderer'
const MenuItem = videojsUntyped.getComponent('MenuItem')
const ResolutionMenuItem = videojsUntyped.extend(MenuItem, {
- constructor: function (player: Player, options) {
+ constructor: function (player: videojs.Player, options) {
options.selectable = true
MenuItem.call(this, player, options)
if (err) return handleError(err)
this.renderer = renderer
- player.play()
-
- return done()
+ player.play().then(done)
})
})
}
}
+ player.setVideoFiles = function (files: VideoFile[]) {
+ player.videoFiles = files
+
+ player.updateVideoFile(undefined, () => player.play())
+ }
+
player.ready(function () {
const controlBar = player.controlBar
player.updateVideoFile()
} else {
player.one('play', () => {
- // Pause, we wait the video to load before
- player.pause()
-
- player.updateVideoFile(undefined, () => player.play())
+ // On firefox, we need to wait to load the video before playing
+ if (navigator.userAgent.toLowerCase().indexOf('firefox') !== -1) {
+ player.pause()
+ player.updateVideoFile(undefined, () => player.play())
+ return
+ }
+
+ player.updateVideoFile(undefined)
})
}