hopefully fix

This commit is contained in:
KingKDot
2026-06-16 17:51:41 -05:00
parent a6d6b4d31b
commit 932b7cbc33
6 changed files with 36 additions and 12 deletions
@@ -857,6 +857,20 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
setStreamState("connecting", "Connecting");
return;
}
if (msg.status === "starting") {
clearOfflineTimer();
if (desiredStreaming && streamState !== "streaming") {
setStreamState("starting", "Starting stream");
}
return;
}
if (msg.status === "stopped") {
clearOfflineTimer();
desiredStreaming = false;
lastFrameAt = 0;
setStreamState("idle", "Stopped");
return;
}
if (msg.status === "online") {
clearOfflineTimer();
if (elevationPending) {
@@ -1348,10 +1362,12 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
stopBtn.addEventListener("click", function () {
if (isRecording()) stopRecording();
desiredStreaming = false;
lastFrameAt = 0;
setStreamState("stopping", "Stopping stream");
sendCmd("desktop_stop", {});
disconnectAudio();
stopAllWebrtc();
setStreamState("idle", "Stopped");
});
if (recordBtn) {
recordBtn.addEventListener("click", function () {
+10 -8
View File
@@ -566,7 +566,7 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
hasRenderedFrame = true;
bitmap.close();
updateViewerFps();
setStreamState("streaming", "Streaming");
if (desiredStreaming) setStreamState("streaming", "Streaming");
} finally {
drawPending = false;
}
@@ -600,7 +600,7 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
h264TimestampUs += 66_666;
videoDecoder.decode(chunk);
updateViewerFps();
setStreamState("streaming", "Streaming");
if (desiredStreaming) setStreamState("streaming", "Streaming");
} catch (err) {
console.warn("webcam h264 decode failed", err, "payloadBytes=", payload.length);
}
@@ -698,6 +698,13 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
if (msg.status === "offline") {
desiredStreaming = false;
setStreamState("offline", msg.reason || "Client offline");
} else if (msg.status === "starting") {
if (desiredStreaming && streamState !== "streaming") {
setStreamState("starting", "Starting");
}
} else if (msg.status === "stopped") {
desiredStreaming = false;
setStreamState("idle", "Stopped");
} else if (msg.status === "connecting") {
setStreamState("idle", "Ready");
} else if (msg.status === "online") {
@@ -790,12 +797,7 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
send("webcam_stop");
stopAllWebrtc();
disconnectAudio();
setStreamState("stopping", "Stopping");
setTimeout(() => {
if (streamState === "stopping") {
setStreamState("idle", "Stopped");
}
}, 300);
setStreamState("idle", "Stopped");
});
function stopOnExit() {