Add code for re-checking if a user has gone live since loading the page
Also exempt static files from link rewriting in the SPA There may be more in here.. It's been a long break halfway through this commit.pull/18/head
parent
f703d5af7f
commit
8cb78a7dd6
|
@ -190,27 +190,32 @@ async function initPlayer(usr) {
|
|||
shaka.polyfill.installAll();
|
||||
shakaPolyFilled = true;
|
||||
}
|
||||
// Create a Player instance.
|
||||
const video = document.getElementById('video');
|
||||
const player = new shaka.Player(video);
|
||||
// Listen for error events.
|
||||
player.addEventListener('error', onErrorEvent);
|
||||
var live = JSON.parse(await makeRequest("GET", "/api/"+usr+"/config")).live;
|
||||
if(live){
|
||||
// Create a Player instance.
|
||||
const video = document.getElementById('video');
|
||||
const player = new shaka.Player(video);
|
||||
// Listen for error events.
|
||||
player.addEventListener('error', onErrorEvent);
|
||||
|
||||
video.addEventListener('play', () => {
|
||||
document.getElementById('playbtn').style.visibility = 'hidden';
|
||||
});
|
||||
video.addEventListener('pause', () => {
|
||||
document.getElementById('playbtn').style.visibility = 'visible';
|
||||
});
|
||||
// Try to load a manifest.
|
||||
// This is an asynchronous process.
|
||||
try {
|
||||
await player.load(manifestUri);
|
||||
// This runs if the asynchronous load is successful.
|
||||
console.log('The video has now been loaded!');
|
||||
} catch (e) {
|
||||
// onError is executed if the asynchronous load fails.
|
||||
onError(e);
|
||||
video.addEventListener('play', () => {
|
||||
document.getElementById('playbtn').style.visibility = 'hidden';
|
||||
});
|
||||
video.addEventListener('pause', () => {
|
||||
document.getElementById('playbtn').style.visibility = 'visible';
|
||||
});
|
||||
// Try to load a manifest.
|
||||
// This is an asynchronous process.
|
||||
try {
|
||||
await player.load(manifestUri);
|
||||
// This runs if the asynchronous load is successful.
|
||||
console.log('The video has now been loaded!');
|
||||
} catch (e) {
|
||||
// onError is executed if the asynchronous load fails.
|
||||
onError(e);
|
||||
}
|
||||
} else {
|
||||
setTimeout(initPlayer, 5000, usr);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,31 +5,37 @@
|
|||
shakaPolyFilled = false;
|
||||
var manifestUri = document.location.protocol+'//'+document.location.host+'/live/{{ username }}/index.mpd';
|
||||
async function initPlayer() {
|
||||
console.log('Trying to initialize player.');
|
||||
if(!shakaPolyFilled){
|
||||
shaka.polyfill.installAll();
|
||||
shakaPolyFilled = true;
|
||||
}
|
||||
// Create a Player instance.
|
||||
const video = document.getElementById('video');
|
||||
const player = new shaka.Player(video);
|
||||
// Listen for error events.
|
||||
player.addEventListener('error', onErrorEvent);
|
||||
var live = JSON.parse(await makeRequest("GET", "/api/{{ username }}/config")).live;
|
||||
if(live){
|
||||
// Create a Player instance.
|
||||
const video = document.getElementById('video');
|
||||
const player = new shaka.Player(video);
|
||||
// Listen for error events.
|
||||
player.addEventListener('error', onErrorEvent);
|
||||
|
||||
video.addEventListener('play', () => {
|
||||
document.getElementById('playbtn').style.visibility = 'hidden';
|
||||
});
|
||||
video.addEventListener('pause', () => {
|
||||
document.getElementById('playbtn').style.visibility = 'visible';
|
||||
});
|
||||
// Try to load a manifest.
|
||||
// This is an asynchronous process.
|
||||
try {
|
||||
await player.load(manifestUri);
|
||||
// This runs if the asynchronous load is successful.
|
||||
console.log('The video has now been loaded!');
|
||||
} catch (e) {
|
||||
// onError is executed if the asynchronous load fails.
|
||||
onError(e);
|
||||
video.addEventListener('play', () => {
|
||||
document.getElementById('playbtn').style.visibility = 'hidden';
|
||||
});
|
||||
video.addEventListener('pause', () => {
|
||||
document.getElementById('playbtn').style.visibility = 'visible';
|
||||
});
|
||||
// Try to load a manifest.
|
||||
// This is an asynchronous process.
|
||||
try {
|
||||
await player.load(manifestUri);
|
||||
// This runs if the asynchronous load is successful.
|
||||
console.log('The video has now been loaded!');
|
||||
} catch (e) {
|
||||
// onError is executed if the asynchronous load fails.
|
||||
onError(e);
|
||||
}
|
||||
} else {
|
||||
setTimeout(initPlayer, 5000);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Reference in New Issue