Auto-restart playback when the stream comes back online
This commit is contained in:
@@ -41,11 +41,25 @@ function setupApp() {
|
||||
}
|
||||
|
||||
async function getStatus() {
|
||||
let url = "https://goth.land/status";
|
||||
let url = "/status";
|
||||
|
||||
try {
|
||||
const response = await fetch(url);
|
||||
const status = await response.json(); // read response body and parse as JSON
|
||||
|
||||
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 () {
|
||||
var player = videojs('video');
|
||||
player.pause()
|
||||
player.src(player.src()); // Reload the same video
|
||||
player.load();
|
||||
player.play();
|
||||
}, 3000)
|
||||
|
||||
}
|
||||
|
||||
app.streamStatus = status.online
|
||||
? "Stream is online."
|
||||
: "Stream is offline."
|
||||
@@ -53,6 +67,7 @@ async function getStatus() {
|
||||
app.viewerCount = status.viewerCount;
|
||||
app.sessionMaxViewerCount = status.sessionMaxViewerCount;
|
||||
app.overallMaxViewerCount = status.overallMaxViewerCount;
|
||||
app.isOnline = status.online;
|
||||
|
||||
} catch (e) {
|
||||
app.streamStatus = "Stream server is offline."
|
||||
|
||||
Reference in New Issue
Block a user