mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-03 01:39:24 +02:00
110 lines
No EOL
3.5 KiB
JavaScript
110 lines
No EOL
3.5 KiB
JavaScript
|
|
window.addEventListener('message', event => {
|
|
if (event.data.startLiveRestream) {
|
|
startLiveRestream(event.data.m3u8, forceIndex);
|
|
} else if (event.data.onStreamReady) {
|
|
onStreamReady();
|
|
} else if (event.data.webRTCPleaseWaitHide) {
|
|
webRTCPleaseWaitHide();
|
|
} else if (event.data.showPleaseWait) {
|
|
modal.showPleaseWait();
|
|
} else if (event.data.hidePleaseWait) {
|
|
modal.hidePleaseWait();
|
|
} else
|
|
if (event.data.webRTCModalConfig) {
|
|
console.log('event.data.webRTCModalConfig', event.data.webRTCModalConfig, typeof webRTCModalConfigShow);
|
|
if (event.data.webRTCModalConfig == 1) {
|
|
if (typeof webRTCModalConfigShow == 'function') {
|
|
webRTCModalConfigShow();
|
|
}
|
|
} else {
|
|
if (typeof webRTCModalConfigHide == 'function') {
|
|
webRTCModalConfigHide();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
function onStreamReady() {
|
|
$('#webRTCConnect button').prop('disabled', false);
|
|
}
|
|
|
|
function startLiveRestream(m3u8, forceIndex) {
|
|
console.log('WebRTCLiveCam: startLiveRestream');
|
|
console.log('WebRTCLiveCam: startLiveRestream', m3u8, forceIndex);
|
|
modal.showPleaseWait();
|
|
$.ajax({
|
|
url: webSiteRootURL + 'plugin/Live/webRTCToLive.json.php',
|
|
method: 'POST',
|
|
data: {
|
|
'm3u8': m3u8,
|
|
'live_servers_id': live_servers_id,
|
|
'forceIndex': forceIndex,
|
|
'user': webrtcUser,
|
|
'pass': webrtcPass
|
|
},
|
|
success: function (response) {
|
|
if (response.error) {
|
|
console.log('WebRTCLiveCam: response error '+response.msg);
|
|
webRTCDisconnect();
|
|
avideoAlertError(response.msg);
|
|
} else {
|
|
console.log('WebRTCLiveCam: response success '+response.msg);
|
|
avideoToastSuccess(response.msg);
|
|
//document.querySelector("iframe").contentWindow.postMessage({setLiveStart: 1}, "*");
|
|
}
|
|
modal.hidePleaseWait();
|
|
}
|
|
});
|
|
}
|
|
|
|
function webRTCConnect() {
|
|
console.log('webRTCConnect');
|
|
modal.showPleaseWait();
|
|
document.querySelector("iframe").contentWindow.postMessage({setLiveStart: 1}, "*");
|
|
webRTCPleaseWaitShow();
|
|
}
|
|
|
|
function webRTCDisconnect() {
|
|
console.log('webRTCDisconnect');
|
|
document.querySelector("iframe").contentWindow.postMessage({setLiveStop: 1}, "*");
|
|
webRTCPleaseWaitHide();
|
|
}
|
|
|
|
function webRTCConfiguration() {
|
|
console.log('webRTCConfiguration');
|
|
document.querySelector("iframe").contentWindow.postMessage({setConfiguration: 1}, "*");
|
|
}
|
|
|
|
var _webRTCPleaseWaitShowTimeout;
|
|
function webRTCPleaseWaitShow() {
|
|
$('body').addClass('webRTCPleaseWait');
|
|
clearTimeout(_webRTCPleaseWaitShowTimeout);
|
|
_webRTCPleaseWaitShowTimeout = setTimeout(function () {
|
|
avideoToastError('Live error')
|
|
webRTCPleaseWaitHide();
|
|
}, 120000);
|
|
}
|
|
|
|
function webRTCPleaseWaitHide() {
|
|
clearTimeout(_webRTCPleaseWaitShowTimeout);
|
|
$('body').removeClass('webRTCPleaseWait');
|
|
}
|
|
|
|
function webRTCisLive() {
|
|
$('body').addClass('webRTCisLive');
|
|
webRTCPleaseWaitHide();
|
|
}
|
|
|
|
function webRTCisOffline() {
|
|
$('body').removeClass('webRTCisLive');
|
|
webRTCPleaseWaitHide();
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
$("#webRTCConnect button").on('click', function (event) {
|
|
event.preventDefault();
|
|
webRTCConnect();
|
|
return false;
|
|
});
|
|
}); |