fixed ogg; fixed videojs error catching

This commit is contained in:
Cat 2017-05-10 14:44:30 +02:00 committed by Thulinma
parent 8143d6af05
commit 4442b330e8
2 changed files with 15 additions and 16 deletions

View file

@ -43,7 +43,11 @@ p.prototype.build = function (options,callback) {
var ele = this.getElement((shortmime[0] == 'audio' ? 'audio' : 'video')); var ele = this.getElement((shortmime[0] == 'audio' ? 'audio' : 'video'));
ele.className = ''; ele.className = '';
cont.appendChild(ele); 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') { if (shortmime[0] == 'audio') {
this.setTracks = function() { return false; } this.setTracks = function() { return false; }
this.fullscreen = false; this.fullscreen = false;
@ -100,6 +104,7 @@ p.prototype.build = function (options,callback) {
//forward events //forward events
ele.addEventListener('error',function(e){ ele.addEventListener('error',function(e){
if (!e.isTrusted) { return; } //don't trigger on errors we have thrown ourselves
if (options.live) { if (options.live) {
if ((ele.error) && (ele.error.code == 3)) { if ((ele.error) && (ele.error.code == 3)) {
@ -160,13 +165,8 @@ p.prototype.build = function (options,callback) {
break; break;
} }
} }
//prevent onerror loops
if (e.target == me.element) { me.adderror(msg);
e.message = msg;
}
else {
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']; 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) { for (var i in events) {

View file

@ -58,7 +58,9 @@ p.prototype.build = function (options,callback) {
var ele = me.getElement('video'); var ele = me.getElement('video');
cont.appendChild(ele); cont.appendChild(ele);
ele.className = ''; 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('/'); var shortmime = options.source.type.split('/');
shortmime.shift(); shortmime.shift();
@ -105,6 +107,8 @@ p.prototype.build = function (options,callback) {
//forward events //forward events
ele.addEventListener('error',function(e){ ele.addEventListener('error',function(e){
if (!e.isTrusted) { return; } //don't trigger on errors we have thrown ourselves
var msg; var msg;
if ('message' in e) { if ('message' in e) {
msg = e.message; msg = e.message;
@ -144,13 +148,8 @@ p.prototype.build = function (options,callback) {
break; break;
} }
} }
//prevent onerror loops
if (e.target == me.element) { me.adderror(msg);
e.message = msg;
}
else {
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']; var events = ['abort','canplay','canplaythrough','durationchange','emptied','ended','interruptbegin','interruptend','loadeddata','loadedmetadata','loadstart','pause','play','playing','ratechange','seeked','seeking','stalled','volumechange','waiting','progress'];