Embed: mews: added handling for QuotaExceededError
This commit is contained in:
parent
77b6ac2ec7
commit
2e17dd8635
2 changed files with 24 additions and 2 deletions
File diff suppressed because one or more lines are too long
|
@ -278,8 +278,30 @@ p.prototype.build = function (MistVideo,callback) {
|
||||||
}
|
}
|
||||||
player.sb._busy = true;
|
player.sb._busy = true;
|
||||||
//console.log("appendBuffer");
|
//console.log("appendBuffer");
|
||||||
|
try {
|
||||||
player.sb.appendBuffer(data);
|
player.sb.appendBuffer(data);
|
||||||
}
|
}
|
||||||
|
catch(e){
|
||||||
|
if (e.name == "QuotaExceededError") {
|
||||||
|
if (video.buffered.length) {
|
||||||
|
if (video.currentTime - video.buffered.start(0) > 1) {
|
||||||
|
//clear as much from the buffer as we can
|
||||||
|
MistVideo.log("Triggered QuotaExceededError: cleaning up "+(Math.round((video.currentTime - video.buffered.start(0) - 1)*10)/10)+"s");
|
||||||
|
player.sb._clean(1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var bufferEnd = video.buffered.end(video.buffered.length-1);
|
||||||
|
MistVideo.log("Triggered QuotaExceededError but there is nothing to clean: skipping ahead "+(Math.round((bufferEnd - video.currentTime)*10)/10)+"s");
|
||||||
|
video.currentTime = bufferEnd;
|
||||||
|
}
|
||||||
|
player.sb._busy = false;
|
||||||
|
player.sb._append(data); //now try again
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MistVideo.showError(e.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//we're initing the source buffer and there is a msg queue of data built up before the buffer was ready. Start by adding these data fragments to the source buffer
|
//we're initing the source buffer and there is a msg queue of data built up before the buffer was ready. Start by adding these data fragments to the source buffer
|
||||||
if (player.msgqueue) {
|
if (player.msgqueue) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue