show streamer name in window title

This commit is contained in:
Devaev Maxim 2021-06-10 16:27:58 +03:00
parent 3e92523ba3
commit f9d2e747e3
3 changed files with 25 additions and 17 deletions

View File

@ -532,7 +532,7 @@
</ul>
<div class="window window-resizable" id="stream-window" data-show-by-button="show-stream-button">
<div class="window-header" id="stream-window-header">
<div class="window-grab">Stream</div>
<div class="window-grab">MJPEG</div>
<button class="window-button-close">&times;</button>
<button class="window-button-maximize">&#9744;</button>
<button class="window-button-original">&bull;</button>

View File

@ -1,6 +1,6 @@
div(id="stream-window" class="window window-resizable" data-show-by-button="show-stream-button")
div(id="stream-window-header" class="window-header")
div(class="window-grab") Stream
div(class="window-grab") MJPEG
button(class="window-button-close") &times;
button(class="window-button-maximize") &#9744;
button(class="window-button-original") &bull;

View File

@ -45,6 +45,9 @@ function _JanusStreamer(__setActive, __setInactive, __setInfo) {
var __state = null;
self.getName = () => "WebRTC";
self.getMode = () => "janus";
self.getResolution = function() {
let el_video = $("stream-video");
return {
@ -292,6 +295,9 @@ function _MjpegStreamer(__setActive, __setInactive, __setInfo) {
/************************************************************************/
self.getName = () => "MJPEG";
self.getMode = () => "mjpeg";
self.getResolution = function() {
let el_image = $("stream-image");
return {
@ -557,10 +563,10 @@ export function Streamer() {
$("stream-box").classList.toggle("stream-box-offline", !online);
let el_grab = document.querySelector("#stream-window-header .window-grab");
let el_info = $("stream-info");
let title = "Stream &ndash; ";
let title = `${__streamer.getName()} &ndash; `;
if (is_active) {
if (!online) {
title += "no signal / ";
title += "No signal / ";
}
title += __makeStringResolution(__resolution);
if (text.length > 0) {
@ -570,7 +576,7 @@ export function Streamer() {
if (text.length > 0) {
title += text;
} else {
title += "inactive";
title += "Inactive";
}
}
el_grab.innerHTML = el_info.innerHTML = title;
@ -603,18 +609,20 @@ export function Streamer() {
var __clickModeRadio = function() {
if (_Janus !== null) {
let mode = tools.radioGetValue("stream-mode-radio");
setTimeout(() => tools.radioSetValue("stream-mode-radio", mode), 100);
tools.hiddenSetVisible($("stream-image"), (mode === "mjpeg"));
tools.hiddenSetVisible($("stream-video"), (mode !== "mjpeg"));
if (mode === "mjpeg") {
__streamer.stopStream();
__streamer = new _MjpegStreamer(__setActive, __setInactive, __setInfo);
} else { // janus
__streamer.stopStream();
__streamer = new _JanusStreamer(__setActive, __setInactive, __setInfo);
}
if (wm.isWindowVisible($("stream-window"))) {
__streamer.ensureStream(__state);
if (mode !== __streamer.getMode()) {
setTimeout(() => tools.radioSetValue("stream-mode-radio", mode), 100);
tools.hiddenSetVisible($("stream-image"), (mode === "mjpeg"));
tools.hiddenSetVisible($("stream-video"), (mode !== "mjpeg"));
if (mode === "mjpeg") {
__streamer.stopStream();
__streamer = new _MjpegStreamer(__setActive, __setInactive, __setInfo);
} else { // janus
__streamer.stopStream();
__streamer = new _JanusStreamer(__setActive, __setInactive, __setInfo);
}
if (wm.isWindowVisible($("stream-window"))) {
__streamer.ensureStream(__state);
}
}
}
};