1
0
Fork 0
mirror of https://github.com/DanielnetoDotCom/YouPHPTube synced 2025-10-03 01:39:24 +02:00
Oinktube/plugin/Live/webRTC.js
2022-03-17 11:43:59 -03:00

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;
});
});