diff options
Diffstat (limited to 'web/share/js/kvm')
-rw-r--r-- | web/share/js/kvm/stream.js | 18 | ||||
-rw-r--r-- | web/share/js/kvm/stream_janus.js | 10 |
2 files changed, 24 insertions, 4 deletions
diff --git a/web/share/js/kvm/stream.js b/web/share/js/kvm/stream.js index 9ae4565c..a5a13294 100644 --- a/web/share/js/kvm/stream.js +++ b/web/share/js/kvm/stream.js @@ -70,6 +70,19 @@ export function Streamer() { tools.radio.setOnClick("stream-mode-radio", __clickModeRadio, false); + // Not getInt() because of radio is a string container. + // Also don't reset Janus at class init. + tools.radio.clickValue("stream-orient-radio", tools.storage.get("stream.orient", 0)); + tools.radio.setOnClick("stream-orient-radio", function() { + if (__streamer.getMode() === "janus") { // Right now it's working only for H.264 + let orient = parseInt(tools.radio.getValue("stream-orient-radio")); + tools.storage.setInt("stream.orient", orient); + if (__streamer.getOrientation() != orient) { + __resetStream(); + } + } + }, false); + tools.slider.setParams($("stream-audio-volume-slider"), 0, 100, 1, 0, function(value) { $("stream-video").muted = !value; $("stream-video").volume = value / 100; @@ -248,9 +261,12 @@ export function Streamer() { } __streamer.stopStream(); if (mode === "janus") { - __streamer = new JanusStreamer(__setActive, __setInactive, __setInfo, !$("stream-video").muted); + __streamer = new JanusStreamer(__setActive, __setInactive, __setInfo, + tools.storage.getInt("stream.orient", 0), !$("stream-video").muted); + tools.feature.setEnabled($("stream-orient"), true); } else { // mjpeg __streamer = new MjpegStreamer(__setActive, __setInactive, __setInfo); + tools.feature.setEnabled($("stream-orient"), false); tools.feature.setEnabled($("stream-audio"), false); // Enabling in stream_janus.js } if (wm.isWindowVisible($("stream-window"))) { diff --git a/web/share/js/kvm/stream_janus.js b/web/share/js/kvm/stream_janus.js index eff7b18b..8cc7744f 100644 --- a/web/share/js/kvm/stream_janus.js +++ b/web/share/js/kvm/stream_janus.js @@ -29,7 +29,7 @@ import {tools, $} from "../tools.js"; var _Janus = null; -export function JanusStreamer(__setActive, __setInactive, __setInfo, __allow_audio) { +export function JanusStreamer(__setActive, __setInactive, __setInfo, __orient, __allow_audio) { var self = this; var __stop = false; @@ -45,6 +45,7 @@ export function JanusStreamer(__setActive, __setInactive, __setInfo, __allow_aud var __state = null; var __frames = 0; + self.getOrientation = () => __orient; self.isAudioAllowed = () => __allow_audio; self.getName = () => (__allow_audio ? "H.264 + Audio" : "H.264"); @@ -329,9 +330,12 @@ export function JanusStreamer(__setActive, __setInactive, __setInfo, __allow_aud var __sendWatch = function() { if (__handle) { - __logInfo(`Sending WATCH(audio=${__allow_audio}) + FEATURES ...`); + __logInfo(`Sending WATCH(orient=${__orient}, audio=${__allow_audio}) + FEATURES ...`); __handle.send({"message": {"request": "features"}}); - __handle.send({"message": {"request": "watch", "params": {"audio": __allow_audio}}}); + __handle.send({"message": {"request": "watch", "params": { + "orientation": __orient, + "audio": __allow_audio, + }}}); } }; |