From 4442b330e80dd927c3e475567d3b7112bea247ad Mon Sep 17 00:00:00 2001 From: Cat Date: Wed, 10 May 2017 14:44:30 +0200 Subject: [PATCH] fixed ogg; fixed videojs error catching --- embed/wrappers/html5.js | 16 ++++++++-------- embed/wrappers/videojs.js | 15 +++++++-------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/embed/wrappers/html5.js b/embed/wrappers/html5.js index 7ec82dd9..fe85ce9c 100644 --- a/embed/wrappers/html5.js +++ b/embed/wrappers/html5.js @@ -43,7 +43,11 @@ p.prototype.build = function (options,callback) { var ele = this.getElement((shortmime[0] == 'audio' ? 'audio' : 'video')); ele.className = ''; cont.appendChild(ele); - ele.crossOrigin = 'anonymous'; //required for subtitles + + if (options.source.type != "html5/video/ogg") { + ele.crossOrigin = 'anonymous'; //required for subtitles, but if ogg, the video won't load + } + if (shortmime[0] == 'audio') { this.setTracks = function() { return false; } this.fullscreen = false; @@ -100,6 +104,7 @@ p.prototype.build = function (options,callback) { //forward events ele.addEventListener('error',function(e){ + if (!e.isTrusted) { return; } //don't trigger on errors we have thrown ourselves if (options.live) { if ((ele.error) && (ele.error.code == 3)) { @@ -160,13 +165,8 @@ p.prototype.build = function (options,callback) { break; } } - //prevent onerror loops - if (e.target == me.element) { - e.message = msg; - } - else { - me.adderror(msg); - } + + me.adderror(msg); }); var events = ['abort','canplay','canplaythrough','durationchange','emptied','ended','interruptbegin','interruptend','loadeddata','loadedmetadata','loadstart','pause','play','playing','ratechange','seeked','seeking','stalled','volumechange','waiting','progress']; for (var i in events) { diff --git a/embed/wrappers/videojs.js b/embed/wrappers/videojs.js index d9bbbd77..825bbeb6 100644 --- a/embed/wrappers/videojs.js +++ b/embed/wrappers/videojs.js @@ -58,7 +58,9 @@ p.prototype.build = function (options,callback) { var ele = me.getElement('video'); cont.appendChild(ele); ele.className = ''; - ele.crossOrigin = 'anonymous'; //required for subtitles + if (options.source.type != "html5/video/ogg") { + ele.crossOrigin = 'anonymous'; //required for subtitles, but if ogg, the video won't load + } var shortmime = options.source.type.split('/'); shortmime.shift(); @@ -105,6 +107,8 @@ p.prototype.build = function (options,callback) { //forward events ele.addEventListener('error',function(e){ + if (!e.isTrusted) { return; } //don't trigger on errors we have thrown ourselves + var msg; if ('message' in e) { msg = e.message; @@ -144,13 +148,8 @@ p.prototype.build = function (options,callback) { break; } } - //prevent onerror loops - if (e.target == me.element) { - e.message = msg; - } - else { - me.adderror(msg); - } + + me.adderror(msg); }); var events = ['abort','canplay','canplaythrough','durationchange','emptied','ended','interruptbegin','interruptend','loadeddata','loadedmetadata','loadstart','pause','play','playing','ratechange','seeked','seeking','stalled','volumechange','waiting','progress'];