solo talk fix; eek

This commit is contained in:
steveseguin 2023-04-17 11:40:23 -04:00
parent d8282852f3
commit 54ab0f19dc
20 changed files with 122 additions and 81 deletions

View File

@ -56,7 +56,7 @@
<meta property="twitter:image" content="./media/vdoNinja_logo_full.png" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#ffffff" />
<link rel="stylesheet" href="./main.css?ver=301" />
<link rel="stylesheet" href="./main.css?ver=303" />
<script type="text/javascript" crossorigin="anonymous" src="./thirdparty/adapter.js"></script>
<style id="lightbox-animations" type="text/css"></style>
<!-- <link rel="manifest" href="manifest.json" /> -->
@ -83,7 +83,7 @@
<script type="text/javascript" crossorigin="anonymous" src="./thirdparty/CodecsHandler.js?ver=47"></script>
<script type="text/javascript" crossorigin="anonymous" src="./thirdparty/aes.js"></script>
<script type="text/javascript" crossorigin="anonymous" src="./webrtc.js?ver=617"></script>
<script type="text/javascript" crossorigin="anonymous" src="./webrtc.js?ver=618"></script>
<input id="zoomSlider" type="range" style="display: none;" />
<span id="electronDragZone" style="pointer-events: none; z-index:-10; position:absolute;top:0;left:0;width:100%;height:2%;-webkit-app-region: drag;min-height:20px;"></span>
<div id="header">
@ -1437,7 +1437,7 @@
</button>
<button data-action-type="mute-video-guest" title="Disable this guest's video track" onclick="remoteMuteVideo(this, event);">
<i class="las la-video-slash"></i>
<span data-translate="mute-video-guest">Video on</span>
<span data-translate="mute-video-guest">Video off</span>
</button>
<button class="mainonly" data-action-type="toggle-remote-speaker" title="Toggle the remote guest's speaker output" onclick="remoteSpeakerMute(this, event);">
<i class="las la-volume-off"></i> <span data-translate="toggle-remote-speaker">Deafen</span>
@ -2475,11 +2475,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=745"></script>
<script type="text/javascript" crossorigin="anonymous" id="lib-js" src="./lib.js?ver=748"></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=600"></script>
<script type="text/javascript" crossorigin="anonymous" id="main-js" src="./main.js?ver=602"></script>
</body>
</html>

146
lib.js
View File

@ -4157,7 +4157,7 @@ function updateMixerRun(e=false){ // this is the main auto-mixing code. It's a
session.rpcs[i].videoElement.style.visibility = "visible";
} catch(e){errorlog(e);}
if (session.rpcs[i].virtualHangup || session.rpcs[i].bandwidthMuted){
if (session.rpcs[i].virtualHangup || session.rpcs[i].bandwidthMuted || session.rpcs[i].directorVideoMuted){
continue;
}
@ -11222,20 +11222,23 @@ async function directMigrate(ele, event, room=false) { // everyone in the room w
if (previousRoom === null) { // user cancelled in previous callback
ele.innerHTML = '<i class="las la-paper-plane"></i> <span data-translate="forward-to-room">transfer</span>';
miniTranslate(ele);
ele.style.backgroundColor = null;
//ele.style.backgroundColor = null;
ele.classList.remove("armed");
return;
}
if (transferCancelled === true) {
ele.innerHTML = '<i class="las la-paper-plane"></i> <span data-translate="forward-to-room">transfer</span>';
miniTranslate(ele);
ele.style.backgroundColor = null;
//ele.style.backgroundColor = null;
ele.classList.remove("armed");
return;
}
var migrateRoom = previousRoom
} else if ((event.ctrlKey) || (event.metaKey)) {
ele.innerHTML = '<i class="las la-check"></i> <span data-translate="forward-to-room">armed</span>';
miniTranslate(ele);
ele.style.backgroundColor = "#BF3F3F";
ele.classList.add("armed");
//ele.style.backgroundColor = "#BF3F3F";
transferCancelled = false;
//armedTransfer=true;
Callbacks.push([directMigrate, ele, stillNeedRoom]);
@ -11272,7 +11275,8 @@ async function directMigrate(ele, event, room=false) { // everyone in the room w
if (migrateRoom === null) { // user cancelled
ele.innerHTML = '<i class="las la-paper-plane"></i> <span data-translate="forward-to-room">transfer</span>';
miniTranslate(ele);
ele.style.backgroundColor = null;
//ele.style.backgroundColor = null;
ele.classList.remove("armed");
transferCancelled = true;
return;
}
@ -11284,7 +11288,8 @@ async function directMigrate(ele, event, room=false) { // everyone in the room w
}
ele.innerHTML = '<i class="las la-paper-plane"></i> <span data-translate="forward-to-room">transfer</span>';
miniTranslate(ele);
ele.style.backgroundColor = null;
//ele.style.backgroundColor = null;
ele.classList.remove("armed");
if (migrateRoom) {
previousRoom = migrateRoom;
@ -11308,7 +11313,8 @@ function directHangup(ele, event) { // everyone in the room will hangup this gue
} else if ((event.ctrlKey) || (event.metaKey)) {
ele.innerHTML = '<i class="las la-skull-crossbones"></i> <span data-translate="disconnect-guest" >ARMED</span>';
miniTranslate(ele);
ele.style.backgroundColor = "#BF3F3F";
ele.classList.add("armed");
//ele.style.backgroundColor = "#BF3F3F";
stillNeedHangupTarget = 1;
Callbacks.push([directHangup, ele, false]);
log("Hangup queued");
@ -11330,7 +11336,8 @@ function directHangup(ele, event) { // everyone in the room will hangup this gue
} else {
ele.innerHTML = '<i class="las la-sign-out-alt"></i><span data-translate="disconnect-guest"> Hangup</span>';
miniTranslate(ele);
ele.style.backgroundColor = null;
//ele.style.backgroundColor = null;
ele.classList.remove("armed");
return false;
}
}
@ -11839,20 +11846,22 @@ async function directPageReload(ele, event) {
if (previousURL === null) { // user cancelled in previous callback
ele.innerHTML = '<i class="las la-sync"></i> <span data-translate="change-url">change URL</span>';
miniTranslate(ele)
ele.style.backgroundColor = null;
ele.classList.remove("armed");// ele.style.backgroundColor = null;
return;
}
if (reloadCancelled === true) {
ele.innerHTML = '<i class="las la-sync"></i> <span data-translate="change-url">change URL</span>';
miniTranslate(ele)
ele.style.backgroundColor = null;
ele.classList.remove("armed");
//ele.style.backgroundColor = null;
return;
}
reloadURL = previousURL
} else if ((event.ctrlKey) || (event.metaKey)) {
ele.innerHTML = '<i class="las la-check"></i> <span data-translate="button-armed">armed</span>';
miniTranslate(ele)
ele.style.backgroundColor = "#BF3F3F";
ele.classList.add("armed");
//ele.style.backgroundColor = "#BF3F3F";
reloadCancelled = false;
armedReload=true;
Callbacks.push([directPageReload, ele, stillNeedURL]);
@ -11867,8 +11876,9 @@ async function directPageReload(ele, event) {
stillNeedURL = true;
if (reloadURL === null) { // user cancelled
ele.innerHTML = '<i class="las la-sync"></i> <span data-translate="change-url">change URL</span>';
miniTranslate(ele)
ele.style.backgroundColor = null;
miniTranslate(ele);
ele.classList.remove("armed");
//ele.style.backgroundColor = null;
reloadCancelled = true;
return;
}
@ -11879,7 +11889,7 @@ async function directPageReload(ele, event) {
}
ele.innerHTML = '<i class="las la-sync"></i> <span data-translate="change-url">change URL</span>';
miniTranslate(ele)
ele.style.backgroundColor = null;
ele.classList.remove("armed");//ele.style.backgroundColor = null;
if (reloadURL) {
previousURL = reloadURL;
@ -12419,7 +12429,8 @@ function remoteHideVideo(ele, event=false, skipSend=false) {
if (!event || ((event.ctrlKey) || (event.metaKey))) {
ele.children[1].innerHTML = miscTranslations["armed"]
ele.style.backgroundColor = "#BF3F3F";
//ele.style.backgroundColor = "#BF3F3F";
ele.classList.add("armed");
Callbacks.push([remoteHideVideo, ele, false]);
log("video queued");
return;
@ -12434,7 +12445,7 @@ function remoteHideVideo(ele, event=false, skipSend=false) {
ele.innerHTML = '<i class="las la-user-slash"></i> <span data-translate="unhide-guest" >Unhide</span>';
}
miniTranslate(ele);
ele.style.backgroundColor = null;
ele.classList.remove("armed");//ele.style.backgroundColor = null;
}
var msg = {};
@ -12471,7 +12482,7 @@ function remoteMuteVideo(ele, event=false, skipSend=false) {
if (!event || ((event.ctrlKey) || (event.metaKey))) {
ele.children[1].innerHTML = miscTranslations["armed"]
ele.style.backgroundColor = "#BF3F3F";
ele.classList.add("armed");//ele.style.backgroundColor = "#BF3F3F";
Callbacks.push([remoteMuteVideo, ele, false]);
log("video queued");
return;
@ -12479,14 +12490,14 @@ function remoteMuteVideo(ele, event=false, skipSend=false) {
if (ele.value == 1) {
ele.value = 0;
ele.classList.remove("pressed");
ele.innerHTML = '<i class="las la-video-slash"></i> <span data-translate="mute-video-guest" >Video on</span>';
ele.innerHTML = '<i class="las la-video-slash"></i> <span data-translate="mute-video-guest" >Video off</span>';
} else {
ele.value = 1;
ele.classList.add("pressed");
ele.innerHTML = '<i class="las la-video-slash"></i> <span data-translate="unmute-video-guest" >Video off</span>';
ele.innerHTML = '<i class="las la-video-slash"></i> <span data-translate="unmute-video-guest" >Video on</span>';
}
miniTranslate(ele);
ele.style.backgroundColor = null;
ele.classList.remove("armed");
}
var msg = {};
@ -12521,7 +12532,7 @@ function updateDirectorVideoMute(UUID) {
if (ele[0]) {
ele[0].value = 1;
ele[0].classList.add("pressed");
ele[0].innerHTML = '<i class="las la-video-slash"></i> <span data-translate="unmute-video-guest" >Video off</span>';
ele[0].innerHTML = '<i class="las la-video-slash"></i> <span data-translate="unmute-video-guest" >Video on</span>';
miniTranslate(ele[0]);
}
return true;
@ -15792,6 +15803,7 @@ function requestInfocus(ele, evt=null, value=null) {
if (ele.value == 1) {
ele.value = 0;
ele.classList.remove("pressed");
ele.classList.remove("altpress");
var actionMsg = {};
actionMsg.infocus = false;
session.sendMessage(actionMsg);
@ -15808,10 +15820,16 @@ function requestInfocus(ele, evt=null, value=null) {
for (var i=0;i<eles.length;i++) {
log(eles);
eles[i].classList.remove("pressed");
eles[i].classList.remove("altpress");
eles[i].value = 0;
}
ele.value = 1;
ele.classList.add("pressed");
if(special){
ele.classList.add("altpress");
} else {
ele.classList.add("pressed");
}
if (ele.id!=="highlightDirector"){
getById("highlightDirector").checked=false;
}
@ -21354,6 +21372,7 @@ session.toggleSoloChat = function(UUID, event=false){ // ==> applyIsolatedChat -
session.sendRequest(msg, UUID);
log(session.soloChatUUID);
var ele = document.querySelector('[data-action-type="solo-chat"][data--u-u-i-d="'+UUID+'"]'); // [data--u-u-i-d="'+UUID+'"] // this all just updates the buttons
log(ele);
@ -21549,7 +21568,7 @@ session.applyIsolatedChat = function(UUID=false){ // mutes outbound mic audio;
var FirefoxSenders = {};
function setEncodings(sender, settings=null, callback=null){
function setEncodings(sender, settings=null, callback=null, cbarg=null){
if (!settings){
if (!(sender.encodingsQueue)){ // not set
return;
@ -21557,9 +21576,9 @@ function setEncodings(sender, settings=null, callback=null){
return;
}
} else if (!("encodingsQueue" in sender)){
sender.encodingsQueue = [[settings, callback]];
sender.encodingsQueue = [[settings, callback, cbarg]];
} else {
sender.encodingsQueue.push([settings, callback]);
sender.encodingsQueue.push([settings, callback, cbarg]);
}
if (sender.encodingsQueueActive){return;}
@ -21570,6 +21589,7 @@ function setEncodings(sender, settings=null, callback=null){
var options = sender.encodingsQueue.shift();
settings = options[0];
callback = options[1];
cbarg = options[2];
const params = sender.getParameters();
if (!params.encodings || (params.encodings.length==0)){
@ -21601,7 +21621,11 @@ function setEncodings(sender, settings=null, callback=null){
if (!changed){
log("SET ENCODINGS MATCH INPUT; skipping");
if (callback){
setTimeout(function(){callback();},0);
if (cbarg){
setTimeout(function(){callback(cbarg);},0);
} else {
setTimeout(function(){callback();},0);
}
}
sender.encodingsQueueActive = false;
setEncodings(sender);
@ -21627,7 +21651,11 @@ function setEncodings(sender, settings=null, callback=null){
delete settings.active;
if (!Object.keys(settings).length){
if (callback){
setTimeout(function(){callback();},0);
if (cbarg){
setTimeout(function(){callback(cbarg);},0);
} else {
setTimeout(function(){callback();},0);
}
}
log("COMPELTED FIREFOX SET ENCODINGS");
sender.encodingsQueueActive = false;
@ -21639,7 +21667,11 @@ function setEncodings(sender, settings=null, callback=null){
sender.setParameters(params).then(() => {
if (callback){
setTimeout(function(){callback();},0);
if (cbarg){
setTimeout(function(){callback(cbarg);},0);
} else {
setTimeout(function(){callback();},0);
}
}
sender.encodingsQueueActive = false;
setEncodings(sender);
@ -21682,41 +21714,42 @@ session.applySoloChat = function(apply=true){ // mutes outbound mic audio; ;; d
var settings = {};
if (session.soloChatUUID.length && (session.soloChatUUID.includes(uuid))){
console.log("1: "+uuid);
settings.active = true;
setEncodings(sender, settings, function(){
log(uuid);
setEncodings(sender, settings, function(uid){
log("2: "+uid);
try {
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uuid+'"]')[0].classList.add("pressed");
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uuid+'"]')[0].classList.remove("hint");
console.log(document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uid+'"]'));
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uid+'"]')[0].classList.add("pressed");
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uid+'"]')[0].classList.remove("hint");
} catch(e){
warnlog(e);
}
}.bind(uuid));
}, uuid);
} else if (session.soloChatUUID.length==0){
settings.active = true;
setEncodings(sender, settings, function(){
log(uuid);
setEncodings(sender, settings, function(uid){
log(uid);
try {
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uuid+'"]')[0].classList.remove("pressed");
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uuid+'"]')[0].classList.remove("hint");
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uid+'"]')[0].classList.remove("pressed");
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uid+'"]')[0].classList.remove("hint");
} catch(e){
warnlog(e);
}
}.bind(uuid));
}, uuid);
} else {
settings.active = false;
setEncodings(sender, settings, function(){
warnlog("mutied the output to:"+ uuid);
setEncodings(sender, settings, function(uid){
warnlog("muted the output to:"+ uid);
try {
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uuid+'"]')[0].classList.remove("pressed");
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uuid+'"]')[0].classList.add("hint");
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uid+'"]')[0].classList.remove("pressed");
document.querySelectorAll('[data-action-type="solo-chat"][data--u-u-i-d="'+uid+'"]')[0].classList.add("hint");
} catch(e){
warnlog(e);
}
}.bind(uuid));
}, uuid);
}
});
@ -22023,8 +22056,11 @@ async function press2talk(clean = false) {
log("SETTING AUDIO DEVICE!!");
activatedPreview = false;
await grabAudio("#audioSource3");
}
if (session.videoDevice !== 0) {
activatedPreview = false;
if (session.quality !== false) {
@ -22041,6 +22077,8 @@ async function press2talk(clean = false) {
}
session.directorEnabledPPT = true;
toggleMute(true);
//await toggleSettings();
log("session.seeding: " +session.seeding);
@ -32869,8 +32907,9 @@ function whipOut(){
var streamsource = false;
if (!tracks || !tracks.length){
var audioCtx = new AudioContext();
streamsource = destination.stream;
var destination = audioCtx.createMediaStreamDestination();
streamsource = destination.stream;
destination.stream.getAudioTracks().forEach(trk=>{
tracks = trk;
});
@ -32889,7 +32928,7 @@ function whipOut(){
if (tracks){
try {
session.whipOut.addTransceiver(tracks, {
session.whipOut.addTransceiver(tracks, {
streams: [ streamsource ],
direction: 'sendonly'
});
@ -32930,7 +32969,7 @@ function whipOut(){
}
if (tracks){
try {
session.whipOut.addTransceiver(tracks, {
session.whipOut.addTransceiver(tracks, {
streams: [ session.videoElement.srcObject ],
direction: 'sendonly'
});
@ -33081,9 +33120,6 @@ function whipOut(){
} else if (callback){
callback();
}
} else{
console.warn(this.responseText);
console.error(this);
}
};
if (type==="trickle-ice-sdpfrag"){
@ -33109,6 +33145,8 @@ function whipOut(){
function GOP(){
log("Sending keyframe");
try {
if (!session.whipOut){return;}
var senders = session.whipOut.getSenders();
var sender = false;
senders.forEach((senderVideo)=>{
@ -33117,7 +33155,6 @@ function whipOut(){
}
});
if (!sender){
warnlog("can't change bitrate; no video sender found");
return false;
@ -33126,7 +33163,8 @@ function whipOut(){
var settings = {};
settings.scaleResolutionDownBy = 10; // 50% of default max
setEncodings(sender, settings, function(){
setEncodings(sender, settings, function(sendr){
var settings = {};
var chromeVersion = getChromeVersion();
@ -33136,10 +33174,10 @@ function whipOut(){
settings.scaleResolutionDownBy = 1.0;
}
setEncodings(sender, settings, function(){
setEncodings(sendr, settings, function(){
//log("scaleResolutionDownBy set 3b!");
});
}.bind(sender));
}, sender);
return true;
} catch(e){

View File

@ -736,7 +736,7 @@ body.darktheme .credits>a:visited {
color: #FFF;
}
.altpress {
.pressed.altpress, .altpress {
background: #673100 !important;
-webkit-box-shadow: inset 0px 0px 1px #b90000;
-moz-box-shadow: inset 0px 0px 1px #b90000;
@ -744,7 +744,9 @@ body.darktheme .credits>a:visited {
outline: none;
color: white;
}
.pressed.armed, .armed {
background: #BF3F3F !important;
}
#mainmenu.row {
align-content: center;
text-align: center;

View File

@ -478,7 +478,7 @@
"try-out-versus-cam": "Multi-Stream Monitor",
"voice-comms-app": "Group Voice Comms",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Gast Umschalten",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Einstellungen",
"more": "Mehr",
"links": "Links",

View File

@ -268,7 +268,7 @@
"guest-toggle": "Guest Toggle",
"voice-chat": " Solo Talk",
"solo-video": "Highlight",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"toggle-remote-speaker": "Deafen",
"hide-guest": "Hide",
"toggle-remote-display": "Blind",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Invitado alterna",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Configuración",
"more": "Más",
"links": "Enlaces",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Invité Basculer",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "paramètres",
"more": "Plus",
"links": "Liens",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -493,7 +493,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -514,7 +514,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

View File

@ -514,7 +514,7 @@
"remote-control-obs-menu": "Remote Controller for OBS Studio",
"director-video-muted-you": "The director has disabled your camera temporarily.",
"guest-toggle": "Guest Toggle",
"mute-video-guest": "Video on",
"mute-video-guest": "Video off",
"settings": "Settings",
"more": "More",
"scene-options": "Scene options",

File diff suppressed because one or more lines are too long

View File

@ -328,7 +328,7 @@
<div id="urlInput2" class="urlInput"title="Put the WHIP token you want to listen for">
<h3>Setup VDO.Ninja to be a WHIP-ingestion end-point</h3>
<h3>Setup VDO.Ninja to be a WHIP-ingestion end-point (ie: OBS -> VDO)</h3>
<div class="inputCombo" id="inputCombo2">
<label for="changeText">
@ -337,6 +337,7 @@
<input type="text" id="changeText2" class="inputfield changeText" placeholder="Ingest WHIP token" />
<button onclick="gohere2();" class="gobutton" id="gobutton2">GO</button>
</div>
<h3 style="text-align: center;color:#ccc;"><i>The WHIP endpoint for VDO.Ninja is <b>https://whip.vdo.ninja</b></i></h3>
</div>
<div id="urlInput3" class="urlInput"title="Put the link you want to play here">
@ -401,8 +402,8 @@ function gohere1t(){
function gohere2(){
if (document.getElementById('changeText2').value){
localStorage.setItem('changeText2', document.getElementById('changeText1').value);
window.location = domain + "?hidemenu&whip=" + document.getElementById('changeText1').value;
localStorage.setItem('changeText2', document.getElementById('changeText2').value);
window.location = domain + "?hidemenu&whip=" + document.getElementById('changeText2').value;
}
}