summaryrefslogtreecommitdiff
path: root/web/share/js/kvm
diff options
context:
space:
mode:
Diffstat (limited to 'web/share/js/kvm')
-rw-r--r--web/share/js/kvm/stream.js18
-rw-r--r--web/share/js/kvm/stream_janus.js10
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,
+ }}});
}
};