Browse Source

Fix errors on Firefox

pull/15/head
Gabe Kangas 5 years ago
parent
commit
886485255a
  1. 1
      webroot/js/app.js
  2. 11
      webroot/js/player/player.js
  3. 9
      webroot/js/status.js

1
webroot/js/app.js

@ -12,6 +12,7 @@ async function setupApp() { @@ -12,6 +12,7 @@ async function setupApp() {
messages: [],
description: "",
title: "",
isOnline: false,
},
watch: {
messages: {

11
webroot/js/player/player.js

@ -9,11 +9,11 @@ const player = videojs('video', null, function () { @@ -9,11 +9,11 @@ const player = videojs('video', null, function () {
getStatus();
setInterval(getStatus, 5000);
setupPlayerEventHandlers();
})
player.ready(function () {
console.log('Player ready.')
player.reset();
player.src({ type: 'application/x-mpegURL', src: streamURL });
});
@ -44,9 +44,9 @@ function setupPlayerEventHandlers() { @@ -44,9 +44,9 @@ function setupPlayerEventHandlers() {
// console.log("stalled");
// })
//
// player.on('playing', function (e) {
// // console.log("playing");
// })
player.on('playing', function (e) {
clearTimeout(playerRestartTimer);
})
//
// player.on('waiting', function (e) {
// // console.log("waiting");
@ -55,8 +55,9 @@ function setupPlayerEventHandlers() { @@ -55,8 +55,9 @@ function setupPlayerEventHandlers() {
function restartPlayer() {
try {
console.log('restarting')
const player = videojs('video');
player.pause();
player.src(player.src()); // Reload the same video
player.load();
player.play();

9
webroot/js/status.js

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
var playerRestartTimer;
async function getStatus() {
const url = "/status";
@ -5,13 +7,14 @@ async function getStatus() { @@ -5,13 +7,14 @@ async function getStatus() {
const response = await fetch(url);
const status = await response.json();
clearTimeout(playerRestartTimer);
if (!app.isOnline && status.online) {
// The stream was offline, but now it's online. Force start of playback after an arbitrary
// delay to make sure the stream has actual data ready to go.
setTimeout(function () {
playerRestartTimer = setTimeout(function () {
restartPlayer();
}, 3000)
}, 3000);
}
app.streamStatus = status.online

Loading…
Cancel
Save