Fix player error when the media is not supported

pull/420/head
Chocobozzz 2018-03-26 15:29:04 +02:00
parent 27d56b5453
commit 0dcf9a14be
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 8 additions and 9 deletions

View File

@ -270,7 +270,7 @@ class PeerTubePlugin extends Plugin {
this.playerElement = options.playerElement
this.player.ready(() => {
this.initializePlayer(options)
this.initializePlayer()
this.runTorrentInfoScheduler()
this.runViewAdd()
})
@ -331,9 +331,10 @@ class PeerTubePlugin extends Plugin {
const options = { autoplay: true, controls: true }
renderVideo(torrent.files[0], this.playerElement, options,(err, renderer) => {
this.renderer = renderer
if (err) return this.fallbackToHttp()
this.renderer = renderer
if (!this.player.paused()) {
const playPromise = this.player.play()
if (playPromise !== undefined) return playPromise.then(done)
@ -406,7 +407,7 @@ class PeerTubePlugin extends Plugin {
this.updateVideoFile(undefined, () => this.player.play())
}
private initializePlayer (options: PeertubePluginOptions) {
private initializePlayer () {
if (this.autoplay === true) {
this.updateVideoFile(undefined, () => this.player.play())
} else {

View File

@ -58,13 +58,11 @@ function renderMedia (file, elem: HTMLVideoElement, opts: RenderMediaOptions, ca
const codecs = getCodec(file.name, useVP9)
prepareElem()
preparedElem.addEventListener('error', function onError(err) {
// Try with vp9 before returning an error
if (codecs.indexOf('vp8') !== -1) {
preparedElem.removeEventListener('error', onError)
preparedElem.addEventListener('error', function onError (err) {
preparedElem.removeEventListener('error', onError)
return fallbackToMediaSource(true)
}
// Try with vp9 before returning an error
if (codecs.indexOf('vp8') !== -1) return fallbackToMediaSource(true)
return callback(err)
})