This commit is contained in:
Maxim Devaev 2025-06-11 18:08:01 +03:00
parent fe1f821715
commit a5e226e168

View File

@ -108,13 +108,27 @@ export function Streamer() {
tools.el.setOnClick($("stream-screenshot-button"), __clickScreenshotButton); tools.el.setOnClick($("stream-screenshot-button"), __clickScreenshotButton);
tools.el.setOnClick($("stream-reset-button"), __clickResetButton); tools.el.setOnClick($("stream-reset-button"), __clickResetButton);
$("stream-window").show_hook = () => __applyState(__state); $("stream-window").show_hook = __visibilityHook;
$("stream-window").close_hook = () => __applyState(null); $("stream-window").close_hook = __visibilityHook;
$("stream-window").organize_hook = __organizeHook; $("stream-window").organize_hook = __organizeHook;
}; };
/************************************************************************/ /************************************************************************/
var __isStreamRequired = function() {
return wm.isWindowVisible($("stream-window"));
};
var __visibilityHook = function() {
let req = __isStreamRequired();
__applyState(req ? __state : null);
}
var __organizeHook = function() {
let geo = self.getGeometry();
wm.setAspectRatio($("stream-window"), geo.width, geo.height);
};
self.ensureDeps = function(callback) { self.ensureDeps = function(callback) {
JanusStreamer.ensure_janus(function(avail) { JanusStreamer.ensure_janus(function(avail) {
__janus_imported = avail; __janus_imported = avail;
@ -161,8 +175,7 @@ export function Streamer() {
__state = null; __state = null;
__setControlsEnabled(false); __setControlsEnabled(false);
} }
let visible = wm.isWindowVisible($("stream-window")); __applyState((__isStreamRequired() && __state && __state.features) ? state : null);
__applyState((visible && __state && __state.features) ? state : null);
}; };
var __applyState = function(state) { var __applyState = function(state) {
@ -295,11 +308,6 @@ export function Streamer() {
el_grab.innerText = el_info.innerText = title; el_grab.innerText = el_info.innerText = title;
}; };
var __organizeHook = function() {
let geo = self.getGeometry();
wm.setAspectRatio($("stream-window"), geo.width, geo.height);
};
var __resetStream = function(mode=null) { var __resetStream = function(mode=null) {
if (mode === null) { if (mode === null) {
mode = __streamer.getMode(); mode = __streamer.getMode();
@ -324,7 +332,7 @@ export function Streamer() {
tools.feature.setEnabled($("stream-audio"), false); // Enabling in stream_janus.js tools.feature.setEnabled($("stream-audio"), false); // Enabling in stream_janus.js
tools.feature.setEnabled($("stream-mic"), false); // Ditto tools.feature.setEnabled($("stream-mic"), false); // Ditto
} }
if (wm.isWindowVisible($("stream-window"))) { if (__isStreamRequired()) {
__streamer.ensureStream((__state && __state.streamer !== undefined) ? __state.streamer : null); __streamer.ensureStream((__state && __state.streamer !== undefined) ? __state.streamer : null);
} }
}; };