livedesk 0.1.369 → 0.1.371
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/client/package.json
CHANGED
|
@@ -444,7 +444,7 @@ function configure(value) {
|
|
|
444
444
|
send({
|
|
445
445
|
type: 'log',
|
|
446
446
|
level: 'warn',
|
|
447
|
-
message: `Mode 4 waiting for
|
|
447
|
+
message: `Mode 4 waiting for internal Atlas input from ${missing.length}/${config.deviceIds.length} devices: ${missing.slice(0, 8).join(', ')}`
|
|
448
448
|
});
|
|
449
449
|
}
|
|
450
450
|
}, 3000) : null;
|
package/hub/src/remote-hub.js
CHANGED
|
@@ -59,14 +59,14 @@ const REMOTE_FRAME_MODE_PROFILES = Object.freeze({
|
|
|
59
59
|
modeVersion: 1,
|
|
60
60
|
implemented: true
|
|
61
61
|
}),
|
|
62
|
-
'mode2-lzo': Object.freeze({
|
|
63
|
-
mode: 'mode2-lzo',
|
|
64
|
-
label: '
|
|
62
|
+
'mode2-lzo': Object.freeze({
|
|
63
|
+
mode: 'mode2-lzo',
|
|
64
|
+
label: 'Internal Atlas Input - RGB565 LZO',
|
|
65
65
|
transport: 'ws-binary',
|
|
66
66
|
encoding: 'image-raw',
|
|
67
67
|
codec: 'rgb565',
|
|
68
68
|
compression: 'lzo1x',
|
|
69
|
-
profile: '
|
|
69
|
+
profile: 'atlas-input-rgb565-lzo-v1',
|
|
70
70
|
modeVersion: 2,
|
|
71
71
|
implemented: true
|
|
72
72
|
}),
|
|
@@ -5661,7 +5661,7 @@ export function createRemoteHub(options = {}) {
|
|
|
5661
5661
|
return normalized || 'unknown';
|
|
5662
5662
|
}
|
|
5663
5663
|
|
|
5664
|
-
function normalizeLiveStreamStartOptions(options = {}) {
|
|
5664
|
+
function normalizeLiveStreamStartOptions(options = {}) {
|
|
5665
5665
|
const transfer = buildRemoteFrameTransferDescriptor(options.mode || options.frameMode || DEFAULT_REMOTE_FRAME_MODE);
|
|
5666
5666
|
const streamPurpose = safeString(options.streamPurpose || options.purpose || 'wall', 24) || 'wall';
|
|
5667
5667
|
const platform = normalizeLivePlatform(options.platform);
|
|
@@ -5673,7 +5673,15 @@ export function createRemoteHub(options = {}) {
|
|
|
5673
5673
|
const quality = clampNumber(options.quality, 20, 95, 45);
|
|
5674
5674
|
const monitorIndex = normalizeMonitorIndex(options.monitorIndex ?? options.screenIndex ?? options.displayIndex);
|
|
5675
5675
|
return { fps, maxWidth, maxHeight, quality, monitorIndex, transfer, streamPurpose, platform };
|
|
5676
|
-
}
|
|
5676
|
+
}
|
|
5677
|
+
|
|
5678
|
+
function liveStreamModePolicyError(normalized) {
|
|
5679
|
+
if (normalized?.transfer?.frameMode === 'mode2-lzo'
|
|
5680
|
+
&& normalized?.streamPurpose !== 'atlas') {
|
|
5681
|
+
return 'MODE2_ATLAS_ONLY: Mode 2 is reserved for internal Mode 4 Atlas input and cannot be used for Wall or Control.';
|
|
5682
|
+
}
|
|
5683
|
+
return '';
|
|
5684
|
+
}
|
|
5677
5685
|
|
|
5678
5686
|
function liveStreamStartStillPending(activeLiveStream) {
|
|
5679
5687
|
if (!activeLiveStream?.active || activeLiveStream.open === true) {
|
|
@@ -5764,8 +5772,10 @@ export function createRemoteHub(options = {}) {
|
|
|
5764
5772
|
return { ok: false, error: 'device-live-stream-unavailable' };
|
|
5765
5773
|
}
|
|
5766
5774
|
|
|
5767
|
-
const now = new Date().toISOString();
|
|
5775
|
+
const now = new Date().toISOString();
|
|
5768
5776
|
const normalized = normalizeLiveStreamStartOptions({ fps: 2, ...options, platform: device.platform });
|
|
5777
|
+
const modePolicyError = liveStreamModePolicyError(normalized);
|
|
5778
|
+
if (modePolicyError) return { ok: false, error: modePolicyError };
|
|
5769
5779
|
const { fps, maxWidth, maxHeight, quality, monitorIndex, transfer, streamPurpose } = normalized;
|
|
5770
5780
|
const streamId = safeString(options.streamId, 128) || makeStableLiveStreamId(deviceId, streamPurpose);
|
|
5771
5781
|
const activeLiveStream = getDeviceLiveStream(device, streamId);
|
|
@@ -5860,8 +5870,10 @@ export function createRemoteHub(options = {}) {
|
|
|
5860
5870
|
return { ok: false, error: 'device-live-stream-unavailable' };
|
|
5861
5871
|
}
|
|
5862
5872
|
|
|
5863
|
-
const now = new Date().toISOString();
|
|
5873
|
+
const now = new Date().toISOString();
|
|
5864
5874
|
const normalized = normalizeLiveStreamStartOptions({ ...options, platform: device.platform });
|
|
5875
|
+
const modePolicyError = liveStreamModePolicyError(normalized);
|
|
5876
|
+
if (modePolicyError) return { ok: false, error: modePolicyError };
|
|
5865
5877
|
const { fps, maxWidth, maxHeight, quality, monitorIndex, transfer, streamPurpose } = normalized;
|
|
5866
5878
|
const streamId = safeString(options.streamId, 128) || makeStableLiveStreamId(deviceId, streamPurpose);
|
|
5867
5879
|
const activeLiveStream = getDeviceLiveStream(device, streamId);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "livedesk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.371",
|
|
4
4
|
"buildFlavor": "production",
|
|
5
5
|
"description": "LiveDesk Hub and client launcher",
|
|
6
6
|
"type": "module",
|
|
@@ -48,10 +48,10 @@
|
|
|
48
48
|
"ws": "^8.18.3"
|
|
49
49
|
},
|
|
50
50
|
"optionalDependencies": {
|
|
51
|
-
"@livedesk/fast-linux-x64": "0.1.
|
|
52
|
-
"@livedesk/fast-osx-arm64": "0.1.
|
|
53
|
-
"@livedesk/fast-osx-x64": "0.1.
|
|
54
|
-
"@livedesk/fast-win-x64": "0.1.
|
|
51
|
+
"@livedesk/fast-linux-x64": "0.1.371",
|
|
52
|
+
"@livedesk/fast-osx-arm64": "0.1.371",
|
|
53
|
+
"@livedesk/fast-osx-x64": "0.1.371",
|
|
54
|
+
"@livedesk/fast-win-x64": "0.1.371"
|
|
55
55
|
},
|
|
56
56
|
"publishConfig": {
|
|
57
57
|
"access": "public"
|