restart connection on sender side added via stats

This commit is contained in:
steveseguin 2023-04-09 14:49:57 -04:00
parent aebb5602e7
commit 35e97e96ca
4 changed files with 6603 additions and 6 deletions

View File

@ -1640,7 +1640,7 @@
<i class="las la-microphone-slash"></i>
<span data-translate="mute-scene">mute in scene</span>
</button>
<button data-action-type="solo-video" class="" title="Solo this video everywhere. (Hold CTRL/CMD to just make video larger)" onclick="requestInfocus(this, event);">
<button data-action-type="solo-video" class="btn-HL-yellow" title="Solo this video everywhere. (Hold CTRL/CMD to just make video larger)" onclick="requestInfocus(this, event);">
<i class="las la-user"></i>
<span data-translate="solo-video-director">Highlight</span>
</button>
@ -2494,11 +2494,11 @@
// session.hidehome = true; // If used, 'hide home' will make the landing page inaccessible, along with hiding a few go-home elements.
// session.record = false; // uncomment to block users from being able to record via vdo.ninja's built in recording function
</script>
<script type="text/javascript" crossorigin="anonymous" id="lib-js" src="./lib.js?ver=721"></script>
<script type="text/javascript" crossorigin="anonymous" id="lib-js" src="./lib.js?ver=722"></script>
<!--
// If you wish to change branding, blank offers a good clean start.
<script type="text/javascript" id="main-js" src="./main.js" data-translation="blank"></script>
-->
<script type="text/javascript" crossorigin="anonymous" id="main-js" src="./main.js?ver=581"></script>
<script type="text/javascript" crossorigin="anonymous" id="main-js" src="./main.js?ver=582"></script>
</body>
</html>

20
lib.js
View File

@ -8806,6 +8806,7 @@ function playoutdelay(UUID){ // applies a delay to all videos
}
};
function printViewStats(menu, UUID) { // Stats for viewing a remote video
if (!session.rpcs[UUID]){
menu.innerHTML = "<br /><br /><br />Remote Publisher Disconnected";
@ -8817,6 +8818,12 @@ function printViewStats(menu, UUID) { // Stats for viewing a remote video
var scrollLeft = menu.scrollLeft;
var scrollTop = menu.scrollTop;
menu.innerHTML = "StreamID: <b>" + streamID + "</b><br />";
//// doesn't work on viewer side.
//if (session.rpcs && session.rpcs[UUID] && session.rpcs[UUID] && session.rpcs[UUID].restartIce){ // only show if available
// menu.innerHTML += "<button onclick='session.rpcs[\""+UUID+"\"].restartIce();'>Restart connection</button>";
//}
menu.innerHTML += printValues(statsObj);
menu.scrollTop = scrollTop;
menu.scrollLeft = scrollLeft;
@ -9394,7 +9401,7 @@ function printMyStats(menu) { // see: setupStatsMenu
}
} catch(e){errorlog(e);}
function printViewValues(obj) {
function printViewValues(obj, UUID=false) {
if (!(document.getElementById("menuStatsBox"))){
return;
@ -9416,6 +9423,11 @@ function printMyStats(menu) { // see: setupStatsMenu
menu.innerHTML += "<hr />";
}
});
if (session.pcs[UUID] && session.pcs[UUID].restartIce){ // only show if available
menu.innerHTML += "<button onclick='session.pcs[\""+UUID+"\"].restartIce();'>Restart connection</button>";
}
keys.forEach(key=>{
if (typeof obj[key] !== "object") {
if (key.startsWith("_")){return;}
@ -9476,7 +9488,7 @@ function printMyStats(menu) { // see: setupStatsMenu
menu.innerHTML += "<hr>";
}
for (var uuid in session.pcs) {
printViewValues(session.pcs[uuid].stats);
printViewValues(session.pcs[uuid].stats, uuid);
menu.innerHTML += "<hr>";
}
if ((iOS) || (iPad)){
@ -10361,7 +10373,9 @@ function toggleMute(apply = false, event=false) { // TODO: I need to have this b
//}
}
postMessageIframe(document.getElementById("screensharesource"), {"mic":!session.muted});
try {
postMessageIframe(document.getElementById("screensharesource"), {"mic":!session.muted});
} catch(e){}
if (!apply) { // only if they are changing states do we bother to spam.
data = {};

File diff suppressed because it is too large Load Diff

1
lineawesome/css/line-awesome.min.css vendored Normal file

File diff suppressed because one or more lines are too long