@supraio/client-daemon-js 0.0.1 → 1.0.0
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/daemon.html +1 -1
- package/daemon.js +2 -2
- package/daemon.js.map +2 -2
- package/package.json +1 -1
- package/screen/plain.d.ts +2 -1
- package/screen/shared.d.ts +2 -1
- package/screen/wasm.d.ts +2 -1
- package/screen/workerFrameConnection.d.ts +2 -1
- package/screen.html +1 -1
- package/screen.js +49 -21
- package/screen.js.map +2 -2
- package/sdk.d.ts +1 -0
- package/sdk.js +51 -23
- package/sdk.js.map +2 -2
- package/supra-client-daemon.js +163 -80
- package/supra-client-daemon.js.map +1 -1
- package/supra-client-daemon.wasm +0 -0
- package/supra-client-screen.js +618 -304
- package/supra-client-screen.js.map +1 -1
- package/supra-client-screen.wasm +0 -0
package/package.json
CHANGED
package/screen/plain.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import type { StartOptions } from "../sdk";
|
|
1
2
|
import { IScreenOptions } from "./options";
|
|
2
|
-
export declare function startPlainScreen(options?: IScreenOptions): Promise<void>;
|
|
3
|
+
export declare function startPlainScreen(options?: StartOptions & IScreenOptions): Promise<void>;
|
package/screen/shared.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { StartOptions } from "../sdk";
|
|
1
2
|
import { IScreenOptions } from "./options";
|
|
2
|
-
export declare function parseQueryOptions(): IScreenOptions;
|
|
3
|
+
export declare function parseQueryOptions(): StartOptions & IScreenOptions;
|
|
3
4
|
export declare function getGoArgv(binFile: string, options: IScreenOptions): string[];
|
package/screen/wasm.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import '../go/go';
|
|
2
|
+
import type { StartOptions } from '../sdk';
|
|
2
3
|
import { IScreenOptions } from './options';
|
|
3
|
-
export declare function startWasmScreen(options?: IScreenOptions): Promise<void>;
|
|
4
|
+
export declare function startWasmScreen(options?: StartOptions & IScreenOptions): Promise<void>;
|
|
@@ -9,10 +9,11 @@ interface SupraFrameWorkerConnection {
|
|
|
9
9
|
timestamp: number;
|
|
10
10
|
length: number;
|
|
11
11
|
data: ArrayBuffer;
|
|
12
|
+
firstPacketAt: number;
|
|
12
13
|
}>;
|
|
13
14
|
write(data: ArrayBuffer): Promise<number>;
|
|
14
15
|
close(): Promise<void>;
|
|
15
16
|
}
|
|
16
17
|
/** Make it global accessible for netpacket/js_websocket.go */
|
|
17
|
-
export declare function initWorkerFrameConnection(): void;
|
|
18
|
+
export declare function initWorkerFrameConnection(enabled: boolean): void;
|
|
18
19
|
export {};
|
package/screen.html
CHANGED
package/screen.js
CHANGED
|
@@ -20651,8 +20651,17 @@ var frames = {};
|
|
|
20651
20651
|
var closed = false;
|
|
20652
20652
|
var GENERAL_HEADER_SIZE = 6;
|
|
20653
20653
|
var FIRST_HEADER_SIZE = GENERAL_HEADER_SIZE + 9;
|
|
20654
|
-
|
|
20655
|
-
|
|
20654
|
+
|
|
20655
|
+
function now() {
|
|
20656
|
+
if (
|
|
20657
|
+
typeof performance !== 'undefined' &&
|
|
20658
|
+
typeof performance.timeOrigin === 'number' &&
|
|
20659
|
+
typeof performance.now === 'function'
|
|
20660
|
+
) {
|
|
20661
|
+
return performance.timeOrigin + performance.now();
|
|
20662
|
+
}
|
|
20663
|
+
return Date.now();
|
|
20664
|
+
}
|
|
20656
20665
|
|
|
20657
20666
|
function postError(id, error) {
|
|
20658
20667
|
self.postMessage({ type: 'error', id: id, error: error && error.message ? error.message : String(error) });
|
|
@@ -20672,7 +20681,8 @@ function resolveFrame() {
|
|
|
20672
20681
|
frameType: frame.frameType,
|
|
20673
20682
|
timestamp: frame.timestamp,
|
|
20674
20683
|
length: frame.length,
|
|
20675
|
-
data: frame.data
|
|
20684
|
+
data: frame.data,
|
|
20685
|
+
firstPacketAt: frame.firstPacketAt
|
|
20676
20686
|
}, [frame.data]);
|
|
20677
20687
|
}
|
|
20678
20688
|
|
|
@@ -20699,11 +20709,12 @@ function handlePacket(buffer) {
|
|
|
20699
20709
|
var item = frames[frameID];
|
|
20700
20710
|
if (!item || seq === 0 || item.total !== total) {
|
|
20701
20711
|
item = {
|
|
20702
|
-
|
|
20712
|
+
packets: new Array(total),
|
|
20703
20713
|
frameType: 0,
|
|
20704
20714
|
timestamp: 0,
|
|
20705
20715
|
total: total,
|
|
20706
|
-
received: 0
|
|
20716
|
+
received: 0,
|
|
20717
|
+
firstPacketAt: now()
|
|
20707
20718
|
};
|
|
20708
20719
|
frames[frameID] = item;
|
|
20709
20720
|
if (seq === 0) {
|
|
@@ -20717,25 +20728,39 @@ function handlePacket(buffer) {
|
|
|
20717
20728
|
}
|
|
20718
20729
|
}
|
|
20719
20730
|
|
|
20720
|
-
|
|
20721
|
-
|
|
20722
|
-
|
|
20731
|
+
if (total === 0 || seq >= total) {
|
|
20732
|
+
delete frames[frameID];
|
|
20733
|
+
return;
|
|
20723
20734
|
}
|
|
20724
20735
|
var packetData = new Uint8Array(buffer, headerSize);
|
|
20725
|
-
item.
|
|
20726
|
-
|
|
20736
|
+
if (!item.packets[seq]) {
|
|
20737
|
+
item.received++;
|
|
20738
|
+
}
|
|
20739
|
+
item.packets[seq] = packetData;
|
|
20727
20740
|
|
|
20728
20741
|
if (seq + 1 === total) {
|
|
20729
20742
|
delete frames[frameID];
|
|
20730
20743
|
if (item.received !== item.total) {
|
|
20731
20744
|
return;
|
|
20732
20745
|
}
|
|
20733
|
-
var
|
|
20746
|
+
var dataLength = 0;
|
|
20747
|
+
var packetIndex;
|
|
20748
|
+
for (packetIndex = 0; packetIndex < item.packets.length; packetIndex++) {
|
|
20749
|
+
dataLength += item.packets[packetIndex].byteLength;
|
|
20750
|
+
}
|
|
20751
|
+
var frameBuffer = new Uint8Array(dataLength);
|
|
20752
|
+
var dataStartsAt = 0;
|
|
20753
|
+
for (packetIndex = 0; packetIndex < item.packets.length; packetIndex++) {
|
|
20754
|
+
var completedPacket = item.packets[packetIndex];
|
|
20755
|
+
frameBuffer.set(completedPacket, dataStartsAt);
|
|
20756
|
+
dataStartsAt += completedPacket.byteLength;
|
|
20757
|
+
}
|
|
20734
20758
|
latestFrame = {
|
|
20735
20759
|
frameType: item.frameType,
|
|
20736
20760
|
timestamp: item.timestamp,
|
|
20737
|
-
length:
|
|
20738
|
-
data:
|
|
20761
|
+
length: dataLength,
|
|
20762
|
+
data: frameBuffer.buffer,
|
|
20763
|
+
firstPacketAt: item.firstPacketAt
|
|
20739
20764
|
};
|
|
20740
20765
|
resolveFrame();
|
|
20741
20766
|
}
|
|
@@ -20822,7 +20847,8 @@ self.onmessage = function(event) {
|
|
|
20822
20847
|
frameType: message.frameType,
|
|
20823
20848
|
timestamp: message.timestamp,
|
|
20824
20849
|
length: message.length,
|
|
20825
|
-
data: message.data
|
|
20850
|
+
data: message.data,
|
|
20851
|
+
firstPacketAt: message.firstPacketAt
|
|
20826
20852
|
});
|
|
20827
20853
|
}
|
|
20828
20854
|
};
|
|
@@ -20848,8 +20874,9 @@ self.onmessage = function(event) {
|
|
|
20848
20874
|
}
|
|
20849
20875
|
};
|
|
20850
20876
|
};
|
|
20851
|
-
function initWorkerFrameConnection() {
|
|
20852
|
-
|
|
20877
|
+
function initWorkerFrameConnection(enabled) {
|
|
20878
|
+
delete window.createSupraFrameWorkerConnection;
|
|
20879
|
+
if (enabled && typeof Worker !== "undefined") {
|
|
20853
20880
|
window.createSupraFrameWorkerConnection = createSupraFrameWorkerConnection;
|
|
20854
20881
|
}
|
|
20855
20882
|
}
|
|
@@ -20901,7 +20928,8 @@ self.onmessage = function(event) {
|
|
|
20901
20928
|
clientID: params.clientID,
|
|
20902
20929
|
clientSecret: params.clientSecret,
|
|
20903
20930
|
secure: params.secure !== "false",
|
|
20904
|
-
interactive: params.interactive === "true"
|
|
20931
|
+
interactive: params.interactive === "true",
|
|
20932
|
+
netInWorker: params.netInWorker === "true"
|
|
20905
20933
|
};
|
|
20906
20934
|
if (typeof params.forceScreenSize === "string") {
|
|
20907
20935
|
const sizeParts = params.forceScreenSize.split("x");
|
|
@@ -20954,11 +20982,11 @@ self.onmessage = function(event) {
|
|
|
20954
20982
|
}
|
|
20955
20983
|
|
|
20956
20984
|
// screen/plain.ts
|
|
20957
|
-
var SCREEN_JS_URL = "supra-client-screen.js?v=0.0
|
|
20985
|
+
var SCREEN_JS_URL = "supra-client-screen.js?v=1.0.0";
|
|
20958
20986
|
async function startPlainScreen(options) {
|
|
20959
20987
|
options = options != null ? options : parseQueryOptions();
|
|
20960
20988
|
initNaCLDecoder();
|
|
20961
|
-
initWorkerFrameConnection();
|
|
20989
|
+
initWorkerFrameConnection(options.netInWorker === true);
|
|
20962
20990
|
await initNaClTCP();
|
|
20963
20991
|
await initSamsungWasmTCP();
|
|
20964
20992
|
await initSamsungWasmDecoder(options);
|
|
@@ -20984,10 +21012,10 @@ self.onmessage = function(event) {
|
|
|
20984
21012
|
}
|
|
20985
21013
|
|
|
20986
21014
|
// screen/wasm.ts
|
|
20987
|
-
var SCREEN_WASM_URL = "supra-client-screen.wasm?v=0.0
|
|
21015
|
+
var SCREEN_WASM_URL = "supra-client-screen.wasm?v=1.0.0";
|
|
20988
21016
|
async function startWasmScreen(options) {
|
|
20989
21017
|
options = options != null ? options : parseQueryOptions();
|
|
20990
|
-
initWorkerFrameConnection();
|
|
21018
|
+
initWorkerFrameConnection(options.netInWorker === true);
|
|
20991
21019
|
await initSamsungWasmTCP();
|
|
20992
21020
|
await initSamsungWasmDecoder(options);
|
|
20993
21021
|
await initH264Decoder();
|