embed - cancel stall timeout properly

This commit is contained in:
Cat 2017-01-10 14:52:08 +01:00 committed by Thulinma
parent 97ad038a9f
commit b9aa5c4d3e
2 changed files with 15 additions and 17 deletions

View file

@ -1163,14 +1163,9 @@ function mistPlay(streamName,options) {
element.checkStalledTimeout = false; element.checkStalledTimeout = false;
player.cancelAskNextCombo(); player.cancelAskNextCombo();
} }
if (element.checkStalledTimeout) {
clearTimeout(element.checkStalledTimeout);
element.checkStalledTimeout = false;
player.cancelAskNextCombo();
}
}; };
element.addEventListener('progress',progress,true); //element.addEventListener('progress',progress,true);
element.addEventListener('playing',progress,true); //element.addEventListener('playing',progress,true);
element.addEventListener('play',function(){ element.addEventListener('play',function(){
player.paused = false; player.paused = false;
if ((!element.checkProgressTimeout) && (player.element) && ('currentTime' in player.element)) { if ((!element.checkProgressTimeout) && (player.element) && ('currentTime' in player.element)) {
@ -1178,10 +1173,11 @@ function mistPlay(streamName,options) {
var lasttime = player.element.currentTime; var lasttime = player.element.currentTime;
element.checkProgressTimeout = setInterval(function(){ element.checkProgressTimeout = setInterval(function(){
var newtime = player.element.currentTime; var newtime = player.element.currentTime;
progress();
if (newtime == 0) { return; } if (newtime == 0) { return; }
var progress = newtime - lasttime; var progressed = newtime - lasttime;
lasttime = newtime; lasttime = newtime;
if (progress == 0) { if (progressed == 0) {
var msg = 'There should be playback but nothing was played'; var msg = 'There should be playback but nothing was played';
var r = { var r = {
type: 'playback', type: 'playback',
@ -1203,8 +1199,8 @@ function mistPlay(streamName,options) {
return; return;
} }
player.cancelAskNextCombo(); player.cancelAskNextCombo();
if (progress < 5) { if (progressed < 1) {
var msg = 'It seems playback is lagging (progressed '+Math.round(progress*100)/100+'/10s)' var msg = 'It seems playback is lagging (progressed '+Math.round(progressed*100)/100+'/2s)'
player.addlog(msg); player.addlog(msg);
player.report({ player.report({
type: 'playback', type: 'playback',
@ -1212,7 +1208,7 @@ function mistPlay(streamName,options) {
}); });
return; return;
} }
},10e3); },2e3);
} }
},true); },true);
element.addEventListener('pause',function(){ element.addEventListener('pause',function(){

View file

@ -15,11 +15,12 @@
<script> <script>
// global options can be set here // global options can be set here
var mistoptions = { var mistoptions = {
host: 'http://cat.mistserver.org:8080' //host: 'http://cat.mistserver.org:8080'
//host: 'http://thulmk3:8080' host: 'http://thulmk3:8080'
//host: 'https://cat.mistserver.org:4433' //host: 'https://cat.mistserver.org:4433'
//host: 'http://localhost:8080' //host: 'http://localhost:8080'
//host: 'http://live.us.picarto.tv:8080' //host: 'http://live.us.picarto.tv:8080'
//host: 'balderlaptop:8080'
}; };
</script> </script>
@ -79,14 +80,14 @@
//tryplayers = Object.keys(mistplayers); //tryplayers = Object.keys(mistplayers);
tryplayers = []; tryplayers = [];
tryplayers.push('automatic'); //tryplayers.push('automatic');
//tryplayers.push('html5'); //tryplayers.push('html5');
//tryplayers.push('dashjs'); tryplayers.push('dashjs');
//tryplayers.push('videojs'); //tryplayers.push('videojs');
//tryplayers.push('flash_strobe'); //tryplayers.push('flash_strobe');
//tryplayers.push('silverlight'); //tryplayers.push('silverlight');
streams = []; streams = [];
streams.push('live'); //streams.push('live');
//streams.push('golive+emitan'); //streams.push('golive+emitan');
//streams.push('subtel'); //streams.push('subtel');
//streams.push('ogg'); //streams.push('ogg');
@ -94,6 +95,7 @@
//streams.push('vids+hahalol.mp3'); //streams.push('vids+hahalol.mp3');
//streams.push('lama'); //streams.push('lama');
//streams.push('bunny'); //streams.push('bunny');
streams.push('golive+SockyChannel');
for (var j in streams) { for (var j in streams) {
for (var i in tryplayers) { for (var i in tryplayers) {