mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-13 01:30:31 +08:00
save video mode
This commit is contained in:
parent
2995ca4909
commit
4fe20641da
@ -459,6 +459,7 @@ export function Streamer() {
|
||||
__janus_enabled = (enabled && supported && _Janus !== null);
|
||||
tools.featureSetEnabled($("stream-mode"), __janus_enabled);
|
||||
tools.info(`Stream: Janus WebRTC state: enabled=${enabled}, supported=${supported}, imported=${!!_Janus}`);
|
||||
tools.radioClickValue("stream-mode-radio", tools.storage.get("stream.mode", "mjpeg"));
|
||||
self.setState(__state);
|
||||
};
|
||||
if (enabled && supported) {
|
||||
@ -609,16 +610,17 @@ export function Streamer() {
|
||||
var __clickModeRadio = function() {
|
||||
if (_Janus !== null) {
|
||||
let mode = tools.radioGetValue("stream-mode-radio");
|
||||
tools.storage.set("stream.mode", mode);
|
||||
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
|
||||
tools.hiddenSetVisible($("stream-image"), (mode !== "janus"));
|
||||
tools.hiddenSetVisible($("stream-video"), (mode === "janus"));
|
||||
if (mode === "janus") {
|
||||
__streamer.stopStream();
|
||||
__streamer = new _JanusStreamer(__setActive, __setInactive, __setInfo);
|
||||
} else { // mjpeg
|
||||
__streamer.stopStream();
|
||||
__streamer = new _MjpegStreamer(__setActive, __setInactive, __setInfo);
|
||||
}
|
||||
if (wm.isWindowVisible($("stream-window"))) {
|
||||
__streamer.ensureStream(__state);
|
||||
|
||||
@ -160,6 +160,15 @@ export var tools = new function() {
|
||||
el.checked = (el.value === value);
|
||||
}
|
||||
};
|
||||
this.radioClickValue = function(name, value) {
|
||||
for (let el of $$$(`input[type="radio"][name="${name}"]`)) {
|
||||
if (el.value === value) {
|
||||
el.click();
|
||||
return;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
this.progressSetValue = function(el, title, percent) {
|
||||
el.setAttribute("data-label", title);
|
||||
@ -242,6 +251,16 @@ export var tools = new function() {
|
||||
this.info("Browser:", this.browser);
|
||||
|
||||
this.https = (location.protocol === "https:");
|
||||
|
||||
this.storage = new function() {
|
||||
return {
|
||||
"get": function(key, default_value) {
|
||||
let value = window.localStorage.getItem(key);
|
||||
return (value !== null ? value : default_value);
|
||||
},
|
||||
"set": (key, value) => window.localStorage.setItem(key, value),
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
export var $ = (id) => document.getElementById(id);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user