@supraio/client-daemon-js 0.0.0-master.322 → 0.0.0-master.429

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.js CHANGED
@@ -16914,6 +16914,20 @@
16914
16914
  JSToNaClMessageType2[JSToNaClMessageType2["Reset"] = 5] = "Reset";
16915
16915
  JSToNaClMessageType2[JSToNaClMessageType2["RecyclePicture"] = 6] = "RecyclePicture";
16916
16916
  JSToNaClMessageType2[JSToNaClMessageType2["DecodeAndRender"] = 7] = "DecodeAndRender";
16917
+ JSToNaClMessageType2[JSToNaClMessageType2["TCPConnect"] = 16] = "TCPConnect";
16918
+ JSToNaClMessageType2[JSToNaClMessageType2["TCPSend"] = 17] = "TCPSend";
16919
+ JSToNaClMessageType2[JSToNaClMessageType2["TCPRecv"] = 18] = "TCPRecv";
16920
+ JSToNaClMessageType2[JSToNaClMessageType2["TCPStreamWrite"] = 19] = "TCPStreamWrite";
16921
+ JSToNaClMessageType2[JSToNaClMessageType2["TCPStreamRead"] = 20] = "TCPStreamRead";
16922
+ JSToNaClMessageType2[JSToNaClMessageType2["TCPClose"] = 21] = "TCPClose";
16923
+ JSToNaClMessageType2[JSToNaClMessageType2["TCPIsConnected"] = 22] = "TCPIsConnected";
16924
+ JSToNaClMessageType2[JSToNaClMessageType2["CollectorCreate"] = 23] = "CollectorCreate";
16925
+ JSToNaClMessageType2[JSToNaClMessageType2["CollectorStart"] = 24] = "CollectorStart";
16926
+ JSToNaClMessageType2[JSToNaClMessageType2["CollectorStop"] = 25] = "CollectorStop";
16927
+ JSToNaClMessageType2[JSToNaClMessageType2["CollectorDestroy"] = 26] = "CollectorDestroy";
16928
+ JSToNaClMessageType2[JSToNaClMessageType2["CollectFrame"] = 27] = "CollectFrame";
16929
+ JSToNaClMessageType2[JSToNaClMessageType2["FrameRelease"] = 28] = "FrameRelease";
16930
+ JSToNaClMessageType2[JSToNaClMessageType2["DecodeAndRenderRef"] = 29] = "DecodeAndRenderRef";
16917
16931
  })(JSToNaClMessageType || (exports.JSToNaClMessageType = JSToNaClMessageType = {}));
16918
16932
  var NaClToJSMessageType;
16919
16933
  (function(NaClToJSMessageType2) {
@@ -16924,6 +16938,20 @@
16924
16938
  NaClToJSMessageType2[NaClToJSMessageType2["FlushResult"] = 4] = "FlushResult";
16925
16939
  NaClToJSMessageType2[NaClToJSMessageType2["ResetResult"] = 5] = "ResetResult";
16926
16940
  NaClToJSMessageType2[NaClToJSMessageType2["DecodeAndRenderResult"] = 7] = "DecodeAndRenderResult";
16941
+ NaClToJSMessageType2[NaClToJSMessageType2["TCPConnect"] = 16] = "TCPConnect";
16942
+ NaClToJSMessageType2[NaClToJSMessageType2["TCPSend"] = 17] = "TCPSend";
16943
+ NaClToJSMessageType2[NaClToJSMessageType2["TCPRecv"] = 18] = "TCPRecv";
16944
+ NaClToJSMessageType2[NaClToJSMessageType2["TCPStreamWrite"] = 19] = "TCPStreamWrite";
16945
+ NaClToJSMessageType2[NaClToJSMessageType2["TCPStreamRead"] = 20] = "TCPStreamRead";
16946
+ NaClToJSMessageType2[NaClToJSMessageType2["TCPClose"] = 21] = "TCPClose";
16947
+ NaClToJSMessageType2[NaClToJSMessageType2["TCPIsConnected"] = 22] = "TCPIsConnected";
16948
+ NaClToJSMessageType2[NaClToJSMessageType2["CollectorCreate"] = 23] = "CollectorCreate";
16949
+ NaClToJSMessageType2[NaClToJSMessageType2["CollectorStart"] = 24] = "CollectorStart";
16950
+ NaClToJSMessageType2[NaClToJSMessageType2["CollectorStop"] = 25] = "CollectorStop";
16951
+ NaClToJSMessageType2[NaClToJSMessageType2["CollectorDestroy"] = 26] = "CollectorDestroy";
16952
+ NaClToJSMessageType2[NaClToJSMessageType2["CollectFrame"] = 27] = "CollectFrame";
16953
+ NaClToJSMessageType2[NaClToJSMessageType2["FrameRelease"] = 28] = "FrameRelease";
16954
+ NaClToJSMessageType2[NaClToJSMessageType2["DecodeAndRenderRef"] = 29] = "DecodeAndRenderRef";
16927
16955
  NaClToJSMessageType2[NaClToJSMessageType2["UnknownDataType"] = 254] = "UnknownDataType";
16928
16956
  NaClToJSMessageType2[NaClToJSMessageType2["UnknownMessageType"] = 255] = "UnknownMessageType";
16929
16957
  })(NaClToJSMessageType || (exports.NaClToJSMessageType = NaClToJSMessageType = {}));
@@ -17038,9 +17066,41 @@
17038
17066
  /** @class */
17039
17067
  function() {
17040
17068
  function MessageSender2(naclModuleEl, messageListeners, timeoutMs) {
17069
+ var _this = this;
17041
17070
  this.naclModuleEl = naclModuleEl;
17042
17071
  this.messageListeners = messageListeners;
17043
17072
  this.timeoutMs = timeoutMs;
17073
+ this.nextRequestId = 1;
17074
+ this.pendingRequests = /* @__PURE__ */ new Map();
17075
+ this.timedOutConnectRequests = /* @__PURE__ */ new Set();
17076
+ this.handleRequestMessage = function(message) {
17077
+ if (message.type < messages_1.NaClToJSMessageType.TCPConnect || message.type > messages_1.NaClToJSMessageType.DecodeAndRenderRef) {
17078
+ return;
17079
+ }
17080
+ if (message.payload.byteLength < 8) {
17081
+ return;
17082
+ }
17083
+ var view = new DataView(message.payload);
17084
+ var requestId = view.getUint32(0, true);
17085
+ var status = view.getInt32(4, true);
17086
+ var payload = message.payload.slice(8);
17087
+ var pending = _this.pendingRequests.get(requestId);
17088
+ if (!pending) {
17089
+ _this.handleLateResult(message.type, requestId, status, payload);
17090
+ return;
17091
+ }
17092
+ if (message.type !== pending.resultMessageType) {
17093
+ return;
17094
+ }
17095
+ window.clearTimeout(pending.timeoutHandler);
17096
+ _this.pendingRequests.delete(requestId);
17097
+ if (status !== 0) {
17098
+ pending.reject(new Error(_this.decodeErrorPayload(payload, status)));
17099
+ return;
17100
+ }
17101
+ pending.resolve({ requestId, status, payload });
17102
+ };
17103
+ this.messageListeners.add(this.handleRequestMessage);
17044
17104
  }
17045
17105
  MessageSender2.prototype.sendWithoutResult = function(message) {
17046
17106
  this.naclModuleEl.postMessage((0, messageConvertor_1.convertMessageToArrayBuffer)(message));
@@ -17070,6 +17130,75 @@
17070
17130
  });
17071
17131
  });
17072
17132
  };
17133
+ MessageSender2.prototype.sendWithRequestId = function(messageType_1, payload_1, resultMessageType_1) {
17134
+ return __awaiter(this, arguments, void 0, function(messageType, payload, resultMessageType, timeoutMs) {
17135
+ var requestId, payloadLength, requestPayload, requestView, message;
17136
+ var _this = this;
17137
+ var _a;
17138
+ if (timeoutMs === void 0) {
17139
+ timeoutMs = this.timeoutMs;
17140
+ }
17141
+ return __generator(this, function(_b) {
17142
+ requestId = this.nextRequestId++;
17143
+ if (this.nextRequestId > 4294967295) {
17144
+ this.nextRequestId = 1;
17145
+ }
17146
+ payloadLength = (_a = payload === null || payload === void 0 ? void 0 : payload.byteLength) !== null && _a !== void 0 ? _a : 0;
17147
+ requestPayload = new ArrayBuffer(4 + payloadLength);
17148
+ requestView = new DataView(requestPayload);
17149
+ requestView.setUint32(0, requestId, true);
17150
+ if (payload) {
17151
+ new Uint8Array(requestPayload, 4).set(new Uint8Array(payload));
17152
+ }
17153
+ message = {
17154
+ type: messageType,
17155
+ payload: requestPayload
17156
+ };
17157
+ return [2, new Promise(function(resolve, reject) {
17158
+ var timeoutHandler = window.setTimeout(function() {
17159
+ _this.pendingRequests.delete(requestId);
17160
+ if (messageType === messages_1.JSToNaClMessageType.TCPConnect) {
17161
+ _this.timedOutConnectRequests.add(requestId);
17162
+ }
17163
+ reject(new Error("Timeout of message ".concat(messages_1.JSToNaClMessageType[messageType])));
17164
+ }, timeoutMs);
17165
+ _this.pendingRequests.set(requestId, {
17166
+ resultMessageType,
17167
+ resolve,
17168
+ reject,
17169
+ timeoutHandler,
17170
+ sourceMessageType: messageType
17171
+ });
17172
+ _this.naclModuleEl.postMessage((0, messageConvertor_1.convertMessageToArrayBuffer)(message));
17173
+ })];
17174
+ });
17175
+ });
17176
+ };
17177
+ MessageSender2.prototype.handleLateResult = function(messageType, requestId, status, payload) {
17178
+ if (messageType === messages_1.NaClToJSMessageType.TCPConnect && status === 0 && this.timedOutConnectRequests.has(requestId) && payload.byteLength >= 4) {
17179
+ this.timedOutConnectRequests.delete(requestId);
17180
+ var handle = new DataView(payload).getUint32(0, true);
17181
+ var closePayload = new ArrayBuffer(4);
17182
+ new DataView(closePayload).setUint32(0, handle, true);
17183
+ void this.sendWithRequestId(messages_1.JSToNaClMessageType.TCPClose, closePayload, messages_1.NaClToJSMessageType.TCPClose).catch(function() {
17184
+ return void 0;
17185
+ });
17186
+ }
17187
+ };
17188
+ MessageSender2.prototype.decodeErrorPayload = function(payload, status) {
17189
+ if (payload.byteLength === 0) {
17190
+ return "NaCl request failed with status ".concat(status);
17191
+ }
17192
+ var bytes = new Uint8Array(payload);
17193
+ var message = "";
17194
+ for (var i = 0; i < bytes.length; i++) {
17195
+ if (bytes[i] === 0) {
17196
+ break;
17197
+ }
17198
+ message += String.fromCharCode(bytes[i]);
17199
+ }
17200
+ return message || "NaCl request failed with status ".concat(status);
17201
+ };
17073
17202
  return MessageSender2;
17074
17203
  }()
17075
17204
  );
@@ -17122,9 +17251,9 @@
17122
17251
  }
17123
17252
  });
17124
17253
 
17125
- // node_modules/@signageos/nacl-decoder/dist/NaClDecoder/naclDecoder.js
17126
- var require_naclDecoder = __commonJS({
17127
- "node_modules/@signageos/nacl-decoder/dist/NaClDecoder/naclDecoder.js"(exports) {
17254
+ // node_modules/@signageos/nacl-decoder/dist/NaClDecoder/naclTCP.js
17255
+ var require_naclTCP = __commonJS({
17256
+ "node_modules/@signageos/nacl-decoder/dist/NaClDecoder/naclTCP.js"(exports) {
17128
17257
  "use strict";
17129
17258
  var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
17130
17259
  function adopt(value) {
@@ -17222,365 +17351,2769 @@
17222
17351
  return { value: op[0] ? op[1] : void 0, done: true };
17223
17352
  }
17224
17353
  };
17225
- var __read = exports && exports.__read || function(o, n) {
17226
- var m = typeof Symbol === "function" && o[Symbol.iterator];
17227
- if (!m) return o;
17228
- var i = m.call(o), r, ar = [], e;
17229
- try {
17230
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
17231
- } catch (error) {
17232
- e = { error };
17233
- } finally {
17234
- try {
17235
- if (r && !r.done && (m = i["return"])) m.call(i);
17236
- } finally {
17237
- if (e) throw e.error;
17354
+ Object.defineProperty(exports, "__esModule", { value: true });
17355
+ exports.NaClTCPStream = exports.NaClTCPPacket = exports.NaClTCPStreamConnection = exports.NaClTCPPacketConnection = exports.NaClFrameCollector = void 0;
17356
+ var messages_1 = require_messages();
17357
+ var DEFAULT_MAX_PACKET_SIZE = 65535;
17358
+ var CONNECT_LATE_RESULT_GRACE_MS = 2e3;
17359
+ function parseHost(host) {
17360
+ if (host.startsWith("[")) {
17361
+ var end = host.indexOf("]");
17362
+ if (end < 0 || host[end + 1] !== ":") {
17363
+ throw new Error('Invalid host "'.concat(host, '". Expected "[IPv6]:port".'));
17238
17364
  }
17365
+ return {
17366
+ hostname: host.slice(1, end),
17367
+ port: parsePort(host.slice(end + 2), host)
17368
+ };
17239
17369
  }
17240
- return ar;
17241
- };
17242
- var __spreadArray = exports && exports.__spreadArray || function(to, from, pack) {
17243
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
17244
- if (ar || !(i in from)) {
17245
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17246
- ar[i] = from[i];
17370
+ var separator = host.lastIndexOf(":");
17371
+ if (separator <= 0 || separator === host.length - 1) {
17372
+ throw new Error('Invalid host "'.concat(host, '". Expected "hostname:port".'));
17373
+ }
17374
+ var hostname = host.slice(0, separator);
17375
+ if (hostname.indexOf(":") >= 0) {
17376
+ throw new Error('Invalid host "'.concat(host, '". IPv6 literals must use "[IPv6]:port".'));
17377
+ }
17378
+ return {
17379
+ hostname,
17380
+ port: parsePort(host.slice(separator + 1), host)
17381
+ };
17382
+ }
17383
+ function parsePort(portValue, host) {
17384
+ if (!/^[0-9]+$/.test(portValue)) {
17385
+ throw new Error('Invalid port in host "'.concat(host, '".'));
17386
+ }
17387
+ var port = Number(portValue);
17388
+ if (port < 1 || port > 65535) {
17389
+ throw new Error('Port out of range in host "'.concat(host, '".'));
17390
+ }
17391
+ return port;
17392
+ }
17393
+ function createConnectPayload(mode, options) {
17394
+ var parsed = parseHost(options.host);
17395
+ var hostBytes = encodeAscii(parsed.hostname);
17396
+ if (hostBytes.byteLength > 255) {
17397
+ throw new Error('Host name is too long: "'.concat(parsed.hostname, '".'));
17398
+ }
17399
+ var payload = new ArrayBuffer(10 + hostBytes.byteLength);
17400
+ var view = new DataView(payload);
17401
+ view.setUint8(0, mode);
17402
+ view.setUint8(1, options.secure ? 1 : 0);
17403
+ view.setUint32(2, options.timeoutMs, true);
17404
+ view.setUint16(6, parsed.port, true);
17405
+ view.setUint16(8, hostBytes.byteLength, true);
17406
+ new Uint8Array(payload, 10).set(hostBytes);
17407
+ return payload;
17408
+ }
17409
+ function encodeAscii(value) {
17410
+ var bytes = new Uint8Array(value.length);
17411
+ for (var i = 0; i < value.length; i++) {
17412
+ var code = value.charCodeAt(i);
17413
+ if (code > 127) {
17414
+ throw new Error('Only ASCII host names are supported: "'.concat(value, '".'));
17247
17415
  }
17416
+ bytes[i] = code;
17248
17417
  }
17249
- return to.concat(ar || Array.prototype.slice.call(from));
17250
- };
17251
- Object.defineProperty(exports, "__esModule", { value: true });
17252
- exports.NaClDecoder = void 0;
17253
- var messages_1 = require_messages();
17254
- var module_1 = require_module();
17255
- var NaClDecoder = (
17418
+ return bytes;
17419
+ }
17420
+ function createHandlePayload(handle) {
17421
+ var payload = new ArrayBuffer(4);
17422
+ new DataView(payload).setUint32(0, handle, true);
17423
+ return payload;
17424
+ }
17425
+ function createHandleAndSizePayload(handle, size) {
17426
+ var payload = new ArrayBuffer(8);
17427
+ var view = new DataView(payload);
17428
+ view.setUint32(0, handle, true);
17429
+ view.setUint32(4, size, true);
17430
+ return payload;
17431
+ }
17432
+ function createHandleAndDataPayload(handle, data) {
17433
+ var payload = new ArrayBuffer(4 + data.byteLength);
17434
+ new DataView(payload).setUint32(0, handle, true);
17435
+ new Uint8Array(payload, 4).set(new Uint8Array(data));
17436
+ return payload;
17437
+ }
17438
+ var NaClFrameCollector = (
17256
17439
  /** @class */
17257
17440
  function() {
17258
- function NaClDecoder2(messageSender, naclModuleEl) {
17441
+ function NaClFrameCollector2(messageSender, collectorHandle) {
17259
17442
  this.messageSender = messageSender;
17260
- this.naclModuleEl = naclModuleEl;
17443
+ this.collectorHandle = collectorHandle;
17444
+ this.destroyed = false;
17261
17445
  }
17262
- NaClDecoder2.prototype.destroy = function() {
17263
- return __awaiter(this, void 0, void 0, function() {
17264
- return __generator(this, function(_a) {
17265
- (0, module_1.removeNaClModule)(this.naclModuleEl);
17266
- return [
17267
- 2
17268
- /*return*/
17269
- ];
17270
- });
17271
- });
17446
+ NaClFrameCollector2.prototype.getHandle = function() {
17447
+ return this.collectorHandle;
17272
17448
  };
17273
- NaClDecoder2.prototype.initialize = function(args) {
17449
+ NaClFrameCollector2.prototype.collectFrame = function(options) {
17274
17450
  return __awaiter(this, void 0, void 0, function() {
17275
- var width, height, message, resultMessage, resultStatus;
17451
+ var result, view;
17276
17452
  var _a, _b;
17277
17453
  return __generator(this, function(_c) {
17278
17454
  switch (_c.label) {
17279
17455
  case 0:
17280
- width = (_a = args.graphics3DContext.width) !== null && _a !== void 0 ? _a : window.screen.width;
17281
- height = (_b = args.graphics3DContext.height) !== null && _b !== void 0 ? _b : window.screen.height;
17282
- message = {
17283
- type: messages_1.JSToNaClMessageType.Initialize,
17284
- payload: new Uint8Array(__spreadArray(__spreadArray([
17285
- args.profile,
17286
- args.acceleration
17287
- ], __read(new Uint8Array(new Uint32Array([args.minPictureCount]).buffer)), false), __read(new Uint8Array(new Int32Array([width, height]).buffer)), false)).buffer
17288
- };
17289
- return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.InitializeResult)];
17456
+ if (this.destroyed) {
17457
+ throw new Error("Frame collector destroyed");
17458
+ }
17459
+ (_a = options === null || options === void 0 ? void 0 : options.onStart) === null || _a === void 0 ? void 0 : _a.call(options);
17460
+ _c.label = 1;
17290
17461
  case 1:
17291
- resultMessage = _c.sent();
17292
- resultStatus = new Int32Array(resultMessage.payload)[0];
17293
- return [2, resultStatus];
17462
+ _c.trys.push([1, , 3, 4]);
17463
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.CollectFrame, createHandlePayload(this.collectorHandle), messages_1.NaClToJSMessageType.CollectFrame, 2147483647)];
17464
+ case 2:
17465
+ result = _c.sent();
17466
+ view = new DataView(result.payload);
17467
+ return [2, {
17468
+ dataRef: view.getUint32(0, true),
17469
+ frameType: view.getUint8(4),
17470
+ timestamp: {
17471
+ lo: view.getUint32(5, true),
17472
+ hi: view.getUint32(9, true)
17473
+ }
17474
+ }];
17475
+ case 3:
17476
+ (_b = options === null || options === void 0 ? void 0 : options.onEnd) === null || _b === void 0 ? void 0 : _b.call(options);
17477
+ return [
17478
+ 7
17479
+ /*endfinally*/
17480
+ ];
17481
+ case 4:
17482
+ return [
17483
+ 2
17484
+ /*return*/
17485
+ ];
17294
17486
  }
17295
17487
  });
17296
17488
  });
17297
17489
  };
17298
- NaClDecoder2.prototype.decodeAndRender = function(data) {
17490
+ NaClFrameCollector2.prototype.destroy = function() {
17299
17491
  return __awaiter(this, void 0, void 0, function() {
17300
- var message, resultMessage, resultStatus;
17301
17492
  return __generator(this, function(_a) {
17302
17493
  switch (_a.label) {
17303
17494
  case 0:
17304
- if (!(data instanceof ArrayBuffer)) {
17305
- throw new Error("Unexpected data type. Only ArrayBuffer is supported.");
17495
+ if (this.destroyed) {
17496
+ return [
17497
+ 2
17498
+ /*return*/
17499
+ ];
17500
+ }
17501
+ this.destroyed = true;
17502
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.CollectorDestroy, createHandlePayload(this.collectorHandle), messages_1.NaClToJSMessageType.CollectorDestroy)];
17503
+ case 1:
17504
+ _a.sent();
17505
+ return [
17506
+ 2
17507
+ /*return*/
17508
+ ];
17509
+ }
17510
+ });
17511
+ });
17512
+ };
17513
+ return NaClFrameCollector2;
17514
+ }()
17515
+ );
17516
+ exports.NaClFrameCollector = NaClFrameCollector;
17517
+ var NaClTCPPacketConnection = (
17518
+ /** @class */
17519
+ function() {
17520
+ function NaClTCPPacketConnection2(messageSender, handle, maxPacketSize) {
17521
+ this.messageSender = messageSender;
17522
+ this.handle = handle;
17523
+ this.maxPacketSize = maxPacketSize;
17524
+ this.frameCollector = null;
17525
+ this.frameCollectorStarted = false;
17526
+ }
17527
+ NaClTCPPacketConnection2.prototype.getHandle = function() {
17528
+ return this.handle;
17529
+ };
17530
+ NaClTCPPacketConnection2.prototype.isConnected = function() {
17531
+ return __awaiter(this, void 0, void 0, function() {
17532
+ var result;
17533
+ return __generator(this, function(_a) {
17534
+ switch (_a.label) {
17535
+ case 0:
17536
+ if (this.handle === 0) {
17537
+ return [2, false];
17306
17538
  }
17307
- message = {
17308
- type: messages_1.JSToNaClMessageType.DecodeAndRender,
17309
- payload: data
17310
- };
17311
- return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.DecodeAndRenderResult)];
17539
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPIsConnected, createHandlePayload(this.handle), messages_1.NaClToJSMessageType.TCPIsConnected)];
17312
17540
  case 1:
17313
- resultMessage = _a.sent();
17314
- resultStatus = new Int32Array(resultMessage.payload)[0];
17315
- return [2, resultStatus];
17541
+ result = _a.sent();
17542
+ return [2, new Int8Array(result.payload)[0] === 1];
17316
17543
  }
17317
17544
  });
17318
17545
  });
17319
17546
  };
17320
- NaClDecoder2.prototype.decode = function(args) {
17547
+ NaClTCPPacketConnection2.prototype.isConnecting = function() {
17321
17548
  return __awaiter(this, void 0, void 0, function() {
17322
- var message, resultMessage, resultStatus;
17549
+ var result;
17323
17550
  return __generator(this, function(_a) {
17324
17551
  switch (_a.label) {
17325
17552
  case 0:
17326
- if (!(args.data instanceof ArrayBuffer)) {
17327
- throw new Error("Unexpected data type. Only ArrayBuffer is supported.");
17553
+ if (this.handle === 0) {
17554
+ return [2, false];
17328
17555
  }
17329
- message = {
17330
- type: messages_1.JSToNaClMessageType.Decode,
17331
- // TODO decodeId (not used in the NaCl module now)
17332
- payload: args.data
17333
- };
17334
- return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.DecodeResult)];
17556
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPIsConnected, createHandlePayload(this.handle), messages_1.NaClToJSMessageType.TCPIsConnected)];
17335
17557
  case 1:
17336
- resultMessage = _a.sent();
17337
- resultStatus = new Int32Array(resultMessage.payload)[0];
17338
- return [2, resultStatus];
17558
+ result = _a.sent();
17559
+ return [2, new Int8Array(result.payload)[0] === -1];
17339
17560
  }
17340
17561
  });
17341
17562
  });
17342
17563
  };
17343
- NaClDecoder2.prototype.getPicture = function() {
17564
+ NaClTCPPacketConnection2.prototype.send = function(data) {
17344
17565
  return __awaiter(this, void 0, void 0, function() {
17345
- var message, resultMessage, resultFirstUInt32Array, resultSecondInt32Array, picture;
17346
17566
  return __generator(this, function(_a) {
17347
17567
  switch (_a.label) {
17348
17568
  case 0:
17349
- message = {
17350
- type: messages_1.JSToNaClMessageType.GetPicture
17351
- };
17352
- return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.GetPictureResult)];
17569
+ return [4, this.ensureConnected()];
17353
17570
  case 1:
17354
- resultMessage = _a.sent();
17355
- resultFirstUInt32Array = new Uint32Array(resultMessage.payload.slice(0, 12));
17356
- resultSecondInt32Array = new Int32Array(resultMessage.payload.slice(12, 36));
17357
- picture = {
17358
- decodeId: resultFirstUInt32Array[0],
17359
- textureId: resultFirstUInt32Array[1],
17360
- textureTarget: resultFirstUInt32Array[2],
17361
- textureSize: {
17362
- width: resultSecondInt32Array[0],
17363
- height: resultSecondInt32Array[1]
17364
- },
17365
- visibleRect: {
17366
- x: resultSecondInt32Array[2],
17367
- y: resultSecondInt32Array[3],
17368
- width: resultSecondInt32Array[4],
17369
- height: resultSecondInt32Array[5]
17370
- }
17371
- };
17372
- return [2, picture];
17571
+ _a.sent();
17572
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPSend, createHandleAndDataPayload(this.handle, data), messages_1.NaClToJSMessageType.TCPSend)];
17573
+ case 2:
17574
+ _a.sent();
17575
+ return [
17576
+ 2
17577
+ /*return*/
17578
+ ];
17373
17579
  }
17374
17580
  });
17375
17581
  });
17376
17582
  };
17377
- NaClDecoder2.prototype.recyclePicture = function(picture) {
17378
- var firstUint32Array = new Uint32Array([
17379
- picture.decodeId,
17380
- picture.textureId,
17381
- picture.textureTarget
17382
- ]);
17383
- var secondInt32Array = new Int32Array([
17384
- picture.textureSize.width,
17385
- picture.textureSize.height,
17386
- picture.visibleRect.x,
17387
- picture.visibleRect.y,
17388
- picture.visibleRect.width,
17389
- picture.visibleRect.height
17390
- ]);
17391
- var message = {
17392
- type: messages_1.JSToNaClMessageType.RecyclePicture,
17393
- payload: new Uint8Array(__spreadArray(__spreadArray([], __read(new Uint8Array(firstUint32Array.buffer)), false), __read(new Uint8Array(secondInt32Array.buffer)), false)).buffer
17394
- };
17395
- this.messageSender.sendWithoutResult(message);
17583
+ NaClTCPPacketConnection2.prototype.recv = function() {
17584
+ return __awaiter(this, arguments, void 0, function(maxSize) {
17585
+ var result;
17586
+ if (maxSize === void 0) {
17587
+ maxSize = DEFAULT_MAX_PACKET_SIZE;
17588
+ }
17589
+ return __generator(this, function(_a) {
17590
+ switch (_a.label) {
17591
+ case 0:
17592
+ return [4, this.ensureConnected()];
17593
+ case 1:
17594
+ _a.sent();
17595
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPRecv, createHandleAndSizePayload(this.handle, maxSize), messages_1.NaClToJSMessageType.TCPRecv, 2147483647)];
17596
+ case 2:
17597
+ result = _a.sent();
17598
+ return [2, result.payload];
17599
+ }
17600
+ });
17601
+ });
17396
17602
  };
17397
- NaClDecoder2.prototype.flush = function() {
17603
+ NaClTCPPacketConnection2.prototype.collectFrame = function(options) {
17398
17604
  return __awaiter(this, void 0, void 0, function() {
17399
- var message, resultMessage, resultStatus;
17605
+ var createResult;
17400
17606
  return __generator(this, function(_a) {
17401
17607
  switch (_a.label) {
17402
17608
  case 0:
17403
- message = {
17404
- type: messages_1.JSToNaClMessageType.Flush
17405
- };
17406
- return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.FlushResult)];
17609
+ return [4, this.ensureConnected()];
17407
17610
  case 1:
17408
- resultMessage = _a.sent();
17409
- resultStatus = new Int32Array(resultMessage.payload)[0];
17410
- return [2, resultStatus];
17611
+ _a.sent();
17612
+ if (!!this.frameCollector) return [3, 3];
17613
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.CollectorCreate, createHandleAndSizePayload(this.handle, this.maxPacketSize), messages_1.NaClToJSMessageType.CollectorCreate)];
17614
+ case 2:
17615
+ createResult = _a.sent();
17616
+ this.frameCollector = new NaClFrameCollector(this.messageSender, new DataView(createResult.payload).getUint32(0, true));
17617
+ _a.label = 3;
17618
+ case 3:
17619
+ if (!!this.frameCollectorStarted) return [3, 5];
17620
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.CollectorStart, createHandlePayload(this.frameCollector.getHandle()), messages_1.NaClToJSMessageType.CollectorStart)];
17621
+ case 4:
17622
+ _a.sent();
17623
+ this.frameCollectorStarted = true;
17624
+ _a.label = 5;
17625
+ case 5:
17626
+ return [2, this.frameCollector.collectFrame(options)];
17411
17627
  }
17412
17628
  });
17413
17629
  });
17414
17630
  };
17415
- NaClDecoder2.prototype.reset = function() {
17631
+ NaClTCPPacketConnection2.prototype.close = function() {
17416
17632
  return __awaiter(this, void 0, void 0, function() {
17417
- var message, resultMessage, resultStatus;
17633
+ var handle;
17634
+ return __generator(this, function(_a) {
17635
+ switch (_a.label) {
17636
+ case 0:
17637
+ if (!this.frameCollector) return [3, 2];
17638
+ return [4, this.frameCollector.destroy()];
17639
+ case 1:
17640
+ _a.sent();
17641
+ this.frameCollector = null;
17642
+ _a.label = 2;
17643
+ case 2:
17644
+ if (!(this.handle !== 0)) return [3, 4];
17645
+ handle = this.handle;
17646
+ this.handle = 0;
17647
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPClose, createHandlePayload(handle), messages_1.NaClToJSMessageType.TCPClose)];
17648
+ case 3:
17649
+ _a.sent();
17650
+ _a.label = 4;
17651
+ case 4:
17652
+ return [
17653
+ 2
17654
+ /*return*/
17655
+ ];
17656
+ }
17657
+ });
17658
+ });
17659
+ };
17660
+ NaClTCPPacketConnection2.prototype.ensureConnected = function() {
17661
+ return __awaiter(this, void 0, void 0, function() {
17662
+ return __generator(this, function(_a) {
17663
+ switch (_a.label) {
17664
+ case 0:
17665
+ return [4, this.isConnecting()];
17666
+ case 1:
17667
+ if (_a.sent()) {
17668
+ throw new Error("Connection is still in progress");
17669
+ }
17670
+ return [4, this.isConnected()];
17671
+ case 2:
17672
+ if (!_a.sent()) {
17673
+ throw new Error("Connection is not active");
17674
+ }
17675
+ return [
17676
+ 2
17677
+ /*return*/
17678
+ ];
17679
+ }
17680
+ });
17681
+ });
17682
+ };
17683
+ return NaClTCPPacketConnection2;
17684
+ }()
17685
+ );
17686
+ exports.NaClTCPPacketConnection = NaClTCPPacketConnection;
17687
+ var NaClTCPStreamConnection = (
17688
+ /** @class */
17689
+ function() {
17690
+ function NaClTCPStreamConnection2(messageSender, handle) {
17691
+ this.messageSender = messageSender;
17692
+ this.handle = handle;
17693
+ }
17694
+ NaClTCPStreamConnection2.prototype.write = function(data) {
17695
+ return __awaiter(this, void 0, void 0, function() {
17696
+ return __generator(this, function(_a) {
17697
+ switch (_a.label) {
17698
+ case 0:
17699
+ return [4, this.ensureConnected()];
17700
+ case 1:
17701
+ _a.sent();
17702
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPStreamWrite, createHandleAndDataPayload(this.handle, data), messages_1.NaClToJSMessageType.TCPStreamWrite)];
17703
+ case 2:
17704
+ _a.sent();
17705
+ return [
17706
+ 2
17707
+ /*return*/
17708
+ ];
17709
+ }
17710
+ });
17711
+ });
17712
+ };
17713
+ NaClTCPStreamConnection2.prototype.read = function() {
17714
+ return __awaiter(this, arguments, void 0, function(maxSize) {
17715
+ var result;
17716
+ if (maxSize === void 0) {
17717
+ maxSize = DEFAULT_MAX_PACKET_SIZE;
17718
+ }
17719
+ return __generator(this, function(_a) {
17720
+ switch (_a.label) {
17721
+ case 0:
17722
+ return [4, this.ensureConnected()];
17723
+ case 1:
17724
+ _a.sent();
17725
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPStreamRead, createHandleAndSizePayload(this.handle, maxSize), messages_1.NaClToJSMessageType.TCPStreamRead, 2147483647)];
17726
+ case 2:
17727
+ result = _a.sent();
17728
+ return [2, result.payload];
17729
+ }
17730
+ });
17731
+ });
17732
+ };
17733
+ NaClTCPStreamConnection2.prototype.close = function() {
17734
+ return __awaiter(this, void 0, void 0, function() {
17735
+ var handle;
17736
+ return __generator(this, function(_a) {
17737
+ switch (_a.label) {
17738
+ case 0:
17739
+ if (!(this.handle !== 0)) return [3, 2];
17740
+ handle = this.handle;
17741
+ this.handle = 0;
17742
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPClose, createHandlePayload(handle), messages_1.NaClToJSMessageType.TCPClose)];
17743
+ case 1:
17744
+ _a.sent();
17745
+ _a.label = 2;
17746
+ case 2:
17747
+ return [
17748
+ 2
17749
+ /*return*/
17750
+ ];
17751
+ }
17752
+ });
17753
+ });
17754
+ };
17755
+ NaClTCPStreamConnection2.prototype.ensureConnected = function() {
17756
+ return __awaiter(this, void 0, void 0, function() {
17757
+ var result, state;
17758
+ return __generator(this, function(_a) {
17759
+ switch (_a.label) {
17760
+ case 0:
17761
+ if (this.handle === 0) {
17762
+ throw new Error("Connection is not active");
17763
+ }
17764
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPIsConnected, createHandlePayload(this.handle), messages_1.NaClToJSMessageType.TCPIsConnected)];
17765
+ case 1:
17766
+ result = _a.sent();
17767
+ state = new Int8Array(result.payload)[0];
17768
+ if (state === -1) {
17769
+ throw new Error("Connection is still in progress");
17770
+ }
17771
+ if (state !== 1) {
17772
+ throw new Error("Connection is not active");
17773
+ }
17774
+ return [
17775
+ 2
17776
+ /*return*/
17777
+ ];
17778
+ }
17779
+ });
17780
+ });
17781
+ };
17782
+ return NaClTCPStreamConnection2;
17783
+ }()
17784
+ );
17785
+ exports.NaClTCPStreamConnection = NaClTCPStreamConnection;
17786
+ var NaClTCPPacket2 = (
17787
+ /** @class */
17788
+ function() {
17789
+ function NaClTCPPacket3(messageSender) {
17790
+ this.messageSender = messageSender;
17791
+ }
17792
+ NaClTCPPacket3.prototype.connect = function(options) {
17793
+ return __awaiter(this, void 0, void 0, function() {
17794
+ var result;
17795
+ var _a;
17796
+ return __generator(this, function(_b) {
17797
+ switch (_b.label) {
17798
+ case 0:
17799
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPConnect, createConnectPayload(0, options), messages_1.NaClToJSMessageType.TCPConnect, options.timeoutMs + CONNECT_LATE_RESULT_GRACE_MS)];
17800
+ case 1:
17801
+ result = _b.sent();
17802
+ return [2, new NaClTCPPacketConnection(this.messageSender, new DataView(result.payload).getUint32(0, true), (_a = options.maxPacketSize) !== null && _a !== void 0 ? _a : DEFAULT_MAX_PACKET_SIZE)];
17803
+ }
17804
+ });
17805
+ });
17806
+ };
17807
+ return NaClTCPPacket3;
17808
+ }()
17809
+ );
17810
+ exports.NaClTCPPacket = NaClTCPPacket2;
17811
+ var NaClTCPStream2 = (
17812
+ /** @class */
17813
+ function() {
17814
+ function NaClTCPStream3(messageSender) {
17815
+ this.messageSender = messageSender;
17816
+ }
17817
+ NaClTCPStream3.prototype.connect = function(options) {
17818
+ return __awaiter(this, void 0, void 0, function() {
17819
+ var result;
17820
+ return __generator(this, function(_a) {
17821
+ switch (_a.label) {
17822
+ case 0:
17823
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.TCPConnect, createConnectPayload(1, options), messages_1.NaClToJSMessageType.TCPConnect, options.timeoutMs + CONNECT_LATE_RESULT_GRACE_MS)];
17824
+ case 1:
17825
+ result = _a.sent();
17826
+ return [2, new NaClTCPStreamConnection(this.messageSender, new DataView(result.payload).getUint32(0, true))];
17827
+ }
17828
+ });
17829
+ });
17830
+ };
17831
+ return NaClTCPStream3;
17832
+ }()
17833
+ );
17834
+ exports.NaClTCPStream = NaClTCPStream2;
17835
+ }
17836
+ });
17837
+
17838
+ // node_modules/@signageos/nacl-decoder/dist/NaClDecoder/naclDecoder.js
17839
+ var require_naclDecoder = __commonJS({
17840
+ "node_modules/@signageos/nacl-decoder/dist/NaClDecoder/naclDecoder.js"(exports) {
17841
+ "use strict";
17842
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
17843
+ function adopt(value) {
17844
+ return value instanceof P ? value : new P(function(resolve) {
17845
+ resolve(value);
17846
+ });
17847
+ }
17848
+ return new (P || (P = Promise))(function(resolve, reject) {
17849
+ function fulfilled(value) {
17850
+ try {
17851
+ step(generator.next(value));
17852
+ } catch (e) {
17853
+ reject(e);
17854
+ }
17855
+ }
17856
+ function rejected(value) {
17857
+ try {
17858
+ step(generator["throw"](value));
17859
+ } catch (e) {
17860
+ reject(e);
17861
+ }
17862
+ }
17863
+ function step(result) {
17864
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
17865
+ }
17866
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
17867
+ });
17868
+ };
17869
+ var __generator = exports && exports.__generator || function(thisArg, body) {
17870
+ var _ = { label: 0, sent: function() {
17871
+ if (t[0] & 1) throw t[1];
17872
+ return t[1];
17873
+ }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
17874
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
17875
+ return this;
17876
+ }), g;
17877
+ function verb(n) {
17878
+ return function(v) {
17879
+ return step([n, v]);
17880
+ };
17881
+ }
17882
+ function step(op) {
17883
+ if (f) throw new TypeError("Generator is already executing.");
17884
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17885
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
17886
+ if (y = 0, t) op = [op[0] & 2, t.value];
17887
+ switch (op[0]) {
17888
+ case 0:
17889
+ case 1:
17890
+ t = op;
17891
+ break;
17892
+ case 4:
17893
+ _.label++;
17894
+ return { value: op[1], done: false };
17895
+ case 5:
17896
+ _.label++;
17897
+ y = op[1];
17898
+ op = [0];
17899
+ continue;
17900
+ case 7:
17901
+ op = _.ops.pop();
17902
+ _.trys.pop();
17903
+ continue;
17904
+ default:
17905
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
17906
+ _ = 0;
17907
+ continue;
17908
+ }
17909
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
17910
+ _.label = op[1];
17911
+ break;
17912
+ }
17913
+ if (op[0] === 6 && _.label < t[1]) {
17914
+ _.label = t[1];
17915
+ t = op;
17916
+ break;
17917
+ }
17918
+ if (t && _.label < t[2]) {
17919
+ _.label = t[2];
17920
+ _.ops.push(op);
17921
+ break;
17922
+ }
17923
+ if (t[2]) _.ops.pop();
17924
+ _.trys.pop();
17925
+ continue;
17926
+ }
17927
+ op = body.call(thisArg, _);
17928
+ } catch (e) {
17929
+ op = [6, e];
17930
+ y = 0;
17931
+ } finally {
17932
+ f = t = 0;
17933
+ }
17934
+ if (op[0] & 5) throw op[1];
17935
+ return { value: op[0] ? op[1] : void 0, done: true };
17936
+ }
17937
+ };
17938
+ var __read = exports && exports.__read || function(o, n) {
17939
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
17940
+ if (!m) return o;
17941
+ var i = m.call(o), r, ar = [], e;
17942
+ try {
17943
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
17944
+ } catch (error) {
17945
+ e = { error };
17946
+ } finally {
17947
+ try {
17948
+ if (r && !r.done && (m = i["return"])) m.call(i);
17949
+ } finally {
17950
+ if (e) throw e.error;
17951
+ }
17952
+ }
17953
+ return ar;
17954
+ };
17955
+ var __spreadArray = exports && exports.__spreadArray || function(to, from, pack) {
17956
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
17957
+ if (ar || !(i in from)) {
17958
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17959
+ ar[i] = from[i];
17960
+ }
17961
+ }
17962
+ return to.concat(ar || Array.prototype.slice.call(from));
17963
+ };
17964
+ Object.defineProperty(exports, "__esModule", { value: true });
17965
+ exports.NaClDecoder = void 0;
17966
+ var messages_1 = require_messages();
17967
+ var module_1 = require_module();
17968
+ var naclTCP_1 = require_naclTCP();
17969
+ var NaClDecoder = (
17970
+ /** @class */
17971
+ function() {
17972
+ function NaClDecoder2(messageSender, naclModuleEl) {
17973
+ this.messageSender = messageSender;
17974
+ this.naclModuleEl = naclModuleEl;
17975
+ }
17976
+ NaClDecoder2.prototype.destroy = function() {
17977
+ return __awaiter(this, void 0, void 0, function() {
17978
+ return __generator(this, function(_a) {
17979
+ (0, module_1.removeNaClModule)(this.naclModuleEl);
17980
+ return [
17981
+ 2
17982
+ /*return*/
17983
+ ];
17984
+ });
17985
+ });
17986
+ };
17987
+ NaClDecoder2.prototype.initialize = function(args) {
17988
+ return __awaiter(this, void 0, void 0, function() {
17989
+ var width, height, message, resultMessage, resultStatus;
17990
+ var _a, _b;
17991
+ return __generator(this, function(_c) {
17992
+ switch (_c.label) {
17993
+ case 0:
17994
+ width = (_a = args.graphics3DContext.width) !== null && _a !== void 0 ? _a : window.screen.width;
17995
+ height = (_b = args.graphics3DContext.height) !== null && _b !== void 0 ? _b : window.screen.height;
17996
+ message = {
17997
+ type: messages_1.JSToNaClMessageType.Initialize,
17998
+ payload: new Uint8Array(__spreadArray(__spreadArray([
17999
+ args.profile,
18000
+ args.acceleration
18001
+ ], __read(new Uint8Array(new Uint32Array([args.minPictureCount]).buffer)), false), __read(new Uint8Array(new Int32Array([width, height]).buffer)), false)).buffer
18002
+ };
18003
+ return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.InitializeResult)];
18004
+ case 1:
18005
+ resultMessage = _c.sent();
18006
+ resultStatus = new Int32Array(resultMessage.payload)[0];
18007
+ return [2, resultStatus];
18008
+ }
18009
+ });
18010
+ });
18011
+ };
18012
+ NaClDecoder2.prototype.decodeAndRender = function(data) {
18013
+ return __awaiter(this, void 0, void 0, function() {
18014
+ var message, resultMessage, resultStatus;
18015
+ return __generator(this, function(_a) {
18016
+ switch (_a.label) {
18017
+ case 0:
18018
+ if (!(data instanceof ArrayBuffer)) {
18019
+ throw new Error("Unexpected data type. Only ArrayBuffer is supported.");
18020
+ }
18021
+ message = {
18022
+ type: messages_1.JSToNaClMessageType.DecodeAndRender,
18023
+ payload: data
18024
+ };
18025
+ return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.DecodeAndRenderResult)];
18026
+ case 1:
18027
+ resultMessage = _a.sent();
18028
+ resultStatus = new Int32Array(resultMessage.payload)[0];
18029
+ return [2, resultStatus];
18030
+ }
18031
+ });
18032
+ });
18033
+ };
18034
+ NaClDecoder2.prototype.decodeAndRenderRef = function(dataRef) {
18035
+ return __awaiter(this, void 0, void 0, function() {
18036
+ var payload, resultMessage;
18037
+ return __generator(this, function(_a) {
18038
+ switch (_a.label) {
18039
+ case 0:
18040
+ payload = new ArrayBuffer(4);
18041
+ new DataView(payload).setUint32(0, dataRef, true);
18042
+ return [4, this.messageSender.sendWithRequestId(messages_1.JSToNaClMessageType.DecodeAndRenderRef, payload, messages_1.NaClToJSMessageType.DecodeAndRenderRef)];
18043
+ case 1:
18044
+ resultMessage = _a.sent();
18045
+ return [2, resultMessage.status];
18046
+ }
18047
+ });
18048
+ });
18049
+ };
18050
+ NaClDecoder2.prototype.createTCP = function() {
18051
+ return {
18052
+ tcpPacket: new naclTCP_1.NaClTCPPacket(this.messageSender),
18053
+ tcpStream: new naclTCP_1.NaClTCPStream(this.messageSender)
18054
+ };
18055
+ };
18056
+ NaClDecoder2.prototype.decode = function(args) {
18057
+ return __awaiter(this, void 0, void 0, function() {
18058
+ var message, resultMessage, resultStatus;
18059
+ return __generator(this, function(_a) {
18060
+ switch (_a.label) {
18061
+ case 0:
18062
+ if (!(args.data instanceof ArrayBuffer)) {
18063
+ throw new Error("Unexpected data type. Only ArrayBuffer is supported.");
18064
+ }
18065
+ message = {
18066
+ type: messages_1.JSToNaClMessageType.Decode,
18067
+ // TODO decodeId (not used in the NaCl module now)
18068
+ payload: args.data
18069
+ };
18070
+ return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.DecodeResult)];
18071
+ case 1:
18072
+ resultMessage = _a.sent();
18073
+ resultStatus = new Int32Array(resultMessage.payload)[0];
18074
+ return [2, resultStatus];
18075
+ }
18076
+ });
18077
+ });
18078
+ };
18079
+ NaClDecoder2.prototype.getPicture = function() {
18080
+ return __awaiter(this, void 0, void 0, function() {
18081
+ var message, resultMessage, resultFirstUInt32Array, resultSecondInt32Array, picture;
18082
+ return __generator(this, function(_a) {
18083
+ switch (_a.label) {
18084
+ case 0:
18085
+ message = {
18086
+ type: messages_1.JSToNaClMessageType.GetPicture
18087
+ };
18088
+ return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.GetPictureResult)];
18089
+ case 1:
18090
+ resultMessage = _a.sent();
18091
+ resultFirstUInt32Array = new Uint32Array(resultMessage.payload.slice(0, 12));
18092
+ resultSecondInt32Array = new Int32Array(resultMessage.payload.slice(12, 36));
18093
+ picture = {
18094
+ decodeId: resultFirstUInt32Array[0],
18095
+ textureId: resultFirstUInt32Array[1],
18096
+ textureTarget: resultFirstUInt32Array[2],
18097
+ textureSize: {
18098
+ width: resultSecondInt32Array[0],
18099
+ height: resultSecondInt32Array[1]
18100
+ },
18101
+ visibleRect: {
18102
+ x: resultSecondInt32Array[2],
18103
+ y: resultSecondInt32Array[3],
18104
+ width: resultSecondInt32Array[4],
18105
+ height: resultSecondInt32Array[5]
18106
+ }
18107
+ };
18108
+ return [2, picture];
18109
+ }
18110
+ });
18111
+ });
18112
+ };
18113
+ NaClDecoder2.prototype.recyclePicture = function(picture) {
18114
+ var firstUint32Array = new Uint32Array([
18115
+ picture.decodeId,
18116
+ picture.textureId,
18117
+ picture.textureTarget
18118
+ ]);
18119
+ var secondInt32Array = new Int32Array([
18120
+ picture.textureSize.width,
18121
+ picture.textureSize.height,
18122
+ picture.visibleRect.x,
18123
+ picture.visibleRect.y,
18124
+ picture.visibleRect.width,
18125
+ picture.visibleRect.height
18126
+ ]);
18127
+ var message = {
18128
+ type: messages_1.JSToNaClMessageType.RecyclePicture,
18129
+ payload: new Uint8Array(__spreadArray(__spreadArray([], __read(new Uint8Array(firstUint32Array.buffer)), false), __read(new Uint8Array(secondInt32Array.buffer)), false)).buffer
18130
+ };
18131
+ this.messageSender.sendWithoutResult(message);
18132
+ };
18133
+ NaClDecoder2.prototype.flush = function() {
18134
+ return __awaiter(this, void 0, void 0, function() {
18135
+ var message, resultMessage, resultStatus;
18136
+ return __generator(this, function(_a) {
18137
+ switch (_a.label) {
18138
+ case 0:
18139
+ message = {
18140
+ type: messages_1.JSToNaClMessageType.Flush
18141
+ };
18142
+ return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.FlushResult)];
18143
+ case 1:
18144
+ resultMessage = _a.sent();
18145
+ resultStatus = new Int32Array(resultMessage.payload)[0];
18146
+ return [2, resultStatus];
18147
+ }
18148
+ });
18149
+ });
18150
+ };
18151
+ NaClDecoder2.prototype.reset = function() {
18152
+ return __awaiter(this, void 0, void 0, function() {
18153
+ var message, resultMessage, resultStatus;
18154
+ return __generator(this, function(_a) {
18155
+ switch (_a.label) {
18156
+ case 0:
18157
+ message = {
18158
+ type: messages_1.JSToNaClMessageType.Reset
18159
+ };
18160
+ return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.ResetResult)];
18161
+ case 1:
18162
+ resultMessage = _a.sent();
18163
+ resultStatus = new Int32Array(resultMessage.payload)[0];
18164
+ return [2, resultStatus];
18165
+ }
18166
+ });
18167
+ });
18168
+ };
18169
+ NaClDecoder2.prototype.render = function(picture) {
18170
+ return __awaiter(this, void 0, void 0, function() {
18171
+ var firstUint32Array, secondInt32Array, message, resultMessage, resultStatus;
18172
+ return __generator(this, function(_a) {
18173
+ switch (_a.label) {
18174
+ case 0:
18175
+ firstUint32Array = new Uint32Array([
18176
+ picture.decodeId,
18177
+ picture.textureId,
18178
+ picture.textureTarget
18179
+ ]);
18180
+ secondInt32Array = new Int32Array([
18181
+ picture.textureSize.width,
18182
+ picture.textureSize.height,
18183
+ picture.visibleRect.x,
18184
+ picture.visibleRect.y,
18185
+ picture.visibleRect.width,
18186
+ picture.visibleRect.height
18187
+ ]);
18188
+ message = {
18189
+ type: messages_1.JSToNaClMessageType.Render,
18190
+ payload: new Uint8Array(__spreadArray(__spreadArray([], __read(new Uint8Array(firstUint32Array.buffer)), false), __read(new Uint8Array(secondInt32Array.buffer)), false)).buffer
18191
+ };
18192
+ return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.RenderResult)];
18193
+ case 1:
18194
+ resultMessage = _a.sent();
18195
+ resultStatus = new Int32Array(resultMessage.payload)[0];
18196
+ return [2, resultStatus];
18197
+ }
18198
+ });
18199
+ });
18200
+ };
18201
+ return NaClDecoder2;
18202
+ }()
18203
+ );
18204
+ exports.NaClDecoder = NaClDecoder;
18205
+ }
18206
+ });
18207
+
18208
+ // node_modules/@signageos/nacl-decoder/dist/NaClDecoder/videoDecoder.js
18209
+ var require_videoDecoder = __commonJS({
18210
+ "node_modules/@signageos/nacl-decoder/dist/NaClDecoder/videoDecoder.js"(exports) {
18211
+ "use strict";
18212
+ Object.defineProperty(exports, "__esModule", { value: true });
18213
+ exports.ResultStatus = exports.GLTexture = exports.HWAcceleration = exports.VideoProfile = void 0;
18214
+ var VideoProfile;
18215
+ (function(VideoProfile2) {
18216
+ VideoProfile2[VideoProfile2["H264Baseline"] = 0] = "H264Baseline";
18217
+ VideoProfile2[VideoProfile2["H264Main"] = 1] = "H264Main";
18218
+ VideoProfile2[VideoProfile2["H264Extended"] = 2] = "H264Extended";
18219
+ VideoProfile2[VideoProfile2["H264High"] = 3] = "H264High";
18220
+ VideoProfile2[VideoProfile2["H264High10Profile"] = 4] = "H264High10Profile";
18221
+ VideoProfile2[VideoProfile2["H264High422Profile"] = 5] = "H264High422Profile";
18222
+ VideoProfile2[VideoProfile2["H264High444PredictiveProfile"] = 6] = "H264High444PredictiveProfile";
18223
+ VideoProfile2[VideoProfile2["H264ScalableBaseline"] = 7] = "H264ScalableBaseline";
18224
+ VideoProfile2[VideoProfile2["H264ScalableHigh"] = 8] = "H264ScalableHigh";
18225
+ VideoProfile2[VideoProfile2["H264StereoHigh"] = 9] = "H264StereoHigh";
18226
+ VideoProfile2[VideoProfile2["H264MultiviewHigh"] = 10] = "H264MultiviewHigh";
18227
+ VideoProfile2[VideoProfile2["VP8Any"] = 11] = "VP8Any";
18228
+ VideoProfile2[VideoProfile2["VP9Any"] = 12] = "VP9Any";
18229
+ VideoProfile2[VideoProfile2["Max"] = 12] = "Max";
18230
+ })(VideoProfile || (exports.VideoProfile = VideoProfile = {}));
18231
+ var HWAcceleration;
18232
+ (function(HWAcceleration2) {
18233
+ HWAcceleration2[HWAcceleration2["Only"] = 0] = "Only";
18234
+ HWAcceleration2[HWAcceleration2["WithFallback"] = 1] = "WithFallback";
18235
+ HWAcceleration2[HWAcceleration2["None"] = 2] = "None";
18236
+ HWAcceleration2[HWAcceleration2["Last"] = 2] = "Last";
18237
+ })(HWAcceleration || (exports.HWAcceleration = HWAcceleration = {}));
18238
+ var GLTexture;
18239
+ (function(GLTexture2) {
18240
+ GLTexture2[GLTexture2["Texture2D"] = 3553] = "Texture2D";
18241
+ GLTexture2[GLTexture2["TextureRectangleARB"] = 34037] = "TextureRectangleARB";
18242
+ GLTexture2[GLTexture2["TextureExternal"] = 36197] = "TextureExternal";
18243
+ })(GLTexture || (exports.GLTexture = GLTexture = {}));
18244
+ var ResultStatus;
18245
+ (function(ResultStatus2) {
18246
+ ResultStatus2[ResultStatus2["Ok"] = 0] = "Ok";
18247
+ ResultStatus2[ResultStatus2["OkCompletionPending"] = -1] = "OkCompletionPending";
18248
+ ResultStatus2[ResultStatus2["ErrorFailed"] = -2] = "ErrorFailed";
18249
+ ResultStatus2[ResultStatus2["ErrorAborted"] = -3] = "ErrorAborted";
18250
+ ResultStatus2[ResultStatus2["ErrorBadArgument"] = -4] = "ErrorBadArgument";
18251
+ ResultStatus2[ResultStatus2["ErrorBadResource"] = -5] = "ErrorBadResource";
18252
+ ResultStatus2[ResultStatus2["ErrorNoInit"] = -6] = "ErrorNoInit";
18253
+ ResultStatus2[ResultStatus2["ErrorNoAccess"] = -7] = "ErrorNoAccess";
18254
+ ResultStatus2[ResultStatus2["ErrorNoMemory"] = -8] = "ErrorNoMemory";
18255
+ ResultStatus2[ResultStatus2["ErrorNoSpace"] = -9] = "ErrorNoSpace";
18256
+ ResultStatus2[ResultStatus2["ErrorNoQuota"] = -10] = "ErrorNoQuota";
18257
+ ResultStatus2[ResultStatus2["ErrorInProgress"] = -11] = "ErrorInProgress";
18258
+ ResultStatus2[ResultStatus2["ErrorNotSupported"] = -12] = "ErrorNotSupported";
18259
+ ResultStatus2[ResultStatus2["ErrorBlocksMainThread"] = -13] = "ErrorBlocksMainThread";
18260
+ })(ResultStatus || (exports.ResultStatus = ResultStatus = {}));
18261
+ }
18262
+ });
18263
+
18264
+ // node_modules/@signageos/nacl-decoder/dist/index.js
18265
+ var require_dist = __commonJS({
18266
+ "node_modules/@signageos/nacl-decoder/dist/index.js"(exports) {
18267
+ "use strict";
18268
+ var __assign = exports && exports.__assign || function() {
18269
+ __assign = Object.assign || function(t) {
18270
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18271
+ s = arguments[i];
18272
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
18273
+ t[p] = s[p];
18274
+ }
18275
+ return t;
18276
+ };
18277
+ return __assign.apply(this, arguments);
18278
+ };
18279
+ Object.defineProperty(exports, "__esModule", { value: true });
18280
+ exports.NaClTCPStreamConnection = exports.NaClTCPStream = exports.NaClTCPPacketConnection = exports.NaClTCPPacket = exports.NaClFrameCollector = exports.VideoProfile = exports.ResultStatus = exports.HWAcceleration = exports.NaClDecoder = void 0;
18281
+ exports.isNaClSupported = isNaClSupported3;
18282
+ exports.createNaClDecoder = createNaClDecoder2;
18283
+ exports.createNaClTCP = createNaClTCP2;
18284
+ var messageListeners_1 = require_messageListeners();
18285
+ var messageReceiver_1 = require_messageReceiver();
18286
+ var messageSender_1 = require_messageSender();
18287
+ var module_1 = require_module();
18288
+ var naclDecoder_1 = require_naclDecoder();
18289
+ Object.defineProperty(exports, "NaClDecoder", { enumerable: true, get: function() {
18290
+ return naclDecoder_1.NaClDecoder;
18291
+ } });
18292
+ var naclTCP_1 = require_naclTCP();
18293
+ Object.defineProperty(exports, "NaClFrameCollector", { enumerable: true, get: function() {
18294
+ return naclTCP_1.NaClFrameCollector;
18295
+ } });
18296
+ Object.defineProperty(exports, "NaClTCPPacket", { enumerable: true, get: function() {
18297
+ return naclTCP_1.NaClTCPPacket;
18298
+ } });
18299
+ Object.defineProperty(exports, "NaClTCPPacketConnection", { enumerable: true, get: function() {
18300
+ return naclTCP_1.NaClTCPPacketConnection;
18301
+ } });
18302
+ Object.defineProperty(exports, "NaClTCPStream", { enumerable: true, get: function() {
18303
+ return naclTCP_1.NaClTCPStream;
18304
+ } });
18305
+ Object.defineProperty(exports, "NaClTCPStreamConnection", { enumerable: true, get: function() {
18306
+ return naclTCP_1.NaClTCPStreamConnection;
18307
+ } });
18308
+ var videoDecoder_1 = require_videoDecoder();
18309
+ Object.defineProperty(exports, "HWAcceleration", { enumerable: true, get: function() {
18310
+ return videoDecoder_1.HWAcceleration;
18311
+ } });
18312
+ Object.defineProperty(exports, "ResultStatus", { enumerable: true, get: function() {
18313
+ return videoDecoder_1.ResultStatus;
18314
+ } });
18315
+ Object.defineProperty(exports, "VideoProfile", { enumerable: true, get: function() {
18316
+ return videoDecoder_1.VideoProfile;
18317
+ } });
18318
+ var DEFAULT_OPTIONS = {
18319
+ timeoutMs: 1e3
18320
+ };
18321
+ var naclRuntime = null;
18322
+ function isNaClSupported3() {
18323
+ return (
18324
+ // Keyed by mime type supported in older versions of Chrome that uses NaCl.
18325
+ navigator.mimeTypes["application/x-nacl"] !== void 0
18326
+ );
18327
+ }
18328
+ function createNaClDecoder2(options) {
18329
+ var requiredOptions = __assign(__assign({}, DEFAULT_OPTIONS), options);
18330
+ if (!isNaClSupported3()) {
18331
+ throw new Error("NaCl is not supported in this browser.");
18332
+ }
18333
+ var runtime = getNaClRuntime(requiredOptions.timeoutMs);
18334
+ return new naclDecoder_1.NaClDecoder(runtime.messageSender, runtime.naclModuleEl);
18335
+ }
18336
+ function createNaClTCP2(options) {
18337
+ var decoder = createNaClDecoder2(options);
18338
+ return decoder.createTCP();
18339
+ }
18340
+ function getNaClRuntime(timeoutMs) {
18341
+ if (naclRuntime) {
18342
+ return naclRuntime;
18343
+ }
18344
+ var messageListeners = (0, messageListeners_1.createMessageListeners)();
18345
+ var messageReceiver = new messageReceiver_1.MessageReceiver(messageListeners);
18346
+ var naclModuleEl = (0, module_1.createNaClModule)(messageReceiver.handleMessage.bind(messageReceiver));
18347
+ var messageSender = new messageSender_1.MessageSender(naclModuleEl, messageListeners, timeoutMs);
18348
+ naclRuntime = {
18349
+ messageSender,
18350
+ naclModuleEl
18351
+ };
18352
+ return naclRuntime;
18353
+ }
18354
+ }
18355
+ });
18356
+
18357
+ // node_modules/@signageos/samsung-wasm-decoder/dist/WasmDecoder/videoDecoder.js
18358
+ var require_videoDecoder2 = __commonJS({
18359
+ "node_modules/@signageos/samsung-wasm-decoder/dist/WasmDecoder/videoDecoder.js"(exports) {
18360
+ "use strict";
18361
+ Object.defineProperty(exports, "__esModule", { value: true });
18362
+ exports.LatencyMode = exports.ResultStatus = void 0;
18363
+ var ResultStatus;
18364
+ (function(ResultStatus2) {
18365
+ ResultStatus2[ResultStatus2["Ok"] = 0] = "Ok";
18366
+ ResultStatus2[ResultStatus2["ErrorFailed"] = -2] = "ErrorFailed";
18367
+ ResultStatus2[ResultStatus2["ErrorBadArgument"] = -4] = "ErrorBadArgument";
18368
+ ResultStatus2[ResultStatus2["ErrorNoInit"] = -6] = "ErrorNoInit";
18369
+ })(ResultStatus || (exports.ResultStatus = ResultStatus = {}));
18370
+ var LatencyMode2;
18371
+ (function(LatencyMode3) {
18372
+ LatencyMode3[LatencyMode3["Normal"] = 0] = "Normal";
18373
+ LatencyMode3[LatencyMode3["Low"] = 1] = "Low";
18374
+ LatencyMode3[LatencyMode3["UltraLow"] = 2] = "UltraLow";
18375
+ })(LatencyMode2 || (exports.LatencyMode = LatencyMode2 = {}));
18376
+ }
18377
+ });
18378
+
18379
+ // node_modules/@signageos/samsung-wasm-decoder/dist/dom/script.js
18380
+ var require_script = __commonJS({
18381
+ "node_modules/@signageos/samsung-wasm-decoder/dist/dom/script.js"(exports) {
18382
+ "use strict";
18383
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
18384
+ function adopt(value) {
18385
+ return value instanceof P ? value : new P(function(resolve) {
18386
+ resolve(value);
18387
+ });
18388
+ }
18389
+ return new (P || (P = Promise))(function(resolve, reject) {
18390
+ function fulfilled(value) {
18391
+ try {
18392
+ step(generator.next(value));
18393
+ } catch (e) {
18394
+ reject(e);
18395
+ }
18396
+ }
18397
+ function rejected(value) {
18398
+ try {
18399
+ step(generator["throw"](value));
18400
+ } catch (e) {
18401
+ reject(e);
18402
+ }
18403
+ }
18404
+ function step(result) {
18405
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
18406
+ }
18407
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18408
+ });
18409
+ };
18410
+ var __generator = exports && exports.__generator || function(thisArg, body) {
18411
+ var _ = { label: 0, sent: function() {
18412
+ if (t[0] & 1) throw t[1];
18413
+ return t[1];
18414
+ }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
18415
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
18416
+ return this;
18417
+ }), g;
18418
+ function verb(n) {
18419
+ return function(v) {
18420
+ return step([n, v]);
18421
+ };
18422
+ }
18423
+ function step(op) {
18424
+ if (f) throw new TypeError("Generator is already executing.");
18425
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18426
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18427
+ if (y = 0, t) op = [op[0] & 2, t.value];
18428
+ switch (op[0]) {
18429
+ case 0:
18430
+ case 1:
18431
+ t = op;
18432
+ break;
18433
+ case 4:
18434
+ _.label++;
18435
+ return { value: op[1], done: false };
18436
+ case 5:
18437
+ _.label++;
18438
+ y = op[1];
18439
+ op = [0];
18440
+ continue;
18441
+ case 7:
18442
+ op = _.ops.pop();
18443
+ _.trys.pop();
18444
+ continue;
18445
+ default:
18446
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
18447
+ _ = 0;
18448
+ continue;
18449
+ }
18450
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
18451
+ _.label = op[1];
18452
+ break;
18453
+ }
18454
+ if (op[0] === 6 && _.label < t[1]) {
18455
+ _.label = t[1];
18456
+ t = op;
18457
+ break;
18458
+ }
18459
+ if (t && _.label < t[2]) {
18460
+ _.label = t[2];
18461
+ _.ops.push(op);
18462
+ break;
18463
+ }
18464
+ if (t[2]) _.ops.pop();
18465
+ _.trys.pop();
18466
+ continue;
18467
+ }
18468
+ op = body.call(thisArg, _);
18469
+ } catch (e) {
18470
+ op = [6, e];
18471
+ y = 0;
18472
+ } finally {
18473
+ f = t = 0;
18474
+ }
18475
+ if (op[0] & 5) throw op[1];
18476
+ return { value: op[0] ? op[1] : void 0, done: true };
18477
+ }
18478
+ };
18479
+ Object.defineProperty(exports, "__esModule", { value: true });
18480
+ exports.injectScript = injectScript2;
18481
+ function injectScript2(url) {
18482
+ return __awaiter(this, void 0, void 0, function() {
18483
+ return __generator(this, function(_a) {
18484
+ return [2, new Promise(function(resolve, reject) {
18485
+ var scriptEl = document.createElement("script");
18486
+ scriptEl.src = url;
18487
+ document.head.appendChild(scriptEl);
18488
+ scriptEl.onerror = function(error) {
18489
+ return __awaiter(this, void 0, void 0, function() {
18490
+ return __generator(this, function(_a2) {
18491
+ reject(error);
18492
+ return [
18493
+ 2
18494
+ /*return*/
18495
+ ];
18496
+ });
18497
+ });
18498
+ };
18499
+ scriptEl.onload = function() {
18500
+ return __awaiter(this, void 0, void 0, function() {
18501
+ return __generator(this, function(_a2) {
18502
+ resolve();
18503
+ return [
18504
+ 2
18505
+ /*return*/
18506
+ ];
18507
+ });
18508
+ });
18509
+ };
18510
+ })];
18511
+ });
18512
+ });
18513
+ }
18514
+ }
18515
+ });
18516
+
18517
+ // node_modules/@signageos/samsung-wasm-decoder/dist/WasmDecoder/wasmLoader.js
18518
+ var require_wasmLoader = __commonJS({
18519
+ "node_modules/@signageos/samsung-wasm-decoder/dist/WasmDecoder/wasmLoader.js"(exports) {
18520
+ "use strict";
18521
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
18522
+ function adopt(value) {
18523
+ return value instanceof P ? value : new P(function(resolve) {
18524
+ resolve(value);
18525
+ });
18526
+ }
18527
+ return new (P || (P = Promise))(function(resolve, reject) {
18528
+ function fulfilled(value) {
18529
+ try {
18530
+ step(generator.next(value));
18531
+ } catch (e) {
18532
+ reject(e);
18533
+ }
18534
+ }
18535
+ function rejected(value) {
18536
+ try {
18537
+ step(generator["throw"](value));
18538
+ } catch (e) {
18539
+ reject(e);
18540
+ }
18541
+ }
18542
+ function step(result) {
18543
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
18544
+ }
18545
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18546
+ });
18547
+ };
18548
+ var __generator = exports && exports.__generator || function(thisArg, body) {
18549
+ var _ = { label: 0, sent: function() {
18550
+ if (t[0] & 1) throw t[1];
18551
+ return t[1];
18552
+ }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
18553
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
18554
+ return this;
18555
+ }), g;
18556
+ function verb(n) {
18557
+ return function(v) {
18558
+ return step([n, v]);
18559
+ };
18560
+ }
18561
+ function step(op) {
18562
+ if (f) throw new TypeError("Generator is already executing.");
18563
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18564
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18565
+ if (y = 0, t) op = [op[0] & 2, t.value];
18566
+ switch (op[0]) {
18567
+ case 0:
18568
+ case 1:
18569
+ t = op;
18570
+ break;
18571
+ case 4:
18572
+ _.label++;
18573
+ return { value: op[1], done: false };
18574
+ case 5:
18575
+ _.label++;
18576
+ y = op[1];
18577
+ op = [0];
18578
+ continue;
18579
+ case 7:
18580
+ op = _.ops.pop();
18581
+ _.trys.pop();
18582
+ continue;
18583
+ default:
18584
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
18585
+ _ = 0;
18586
+ continue;
18587
+ }
18588
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
18589
+ _.label = op[1];
18590
+ break;
18591
+ }
18592
+ if (op[0] === 6 && _.label < t[1]) {
18593
+ _.label = t[1];
18594
+ t = op;
18595
+ break;
18596
+ }
18597
+ if (t && _.label < t[2]) {
18598
+ _.label = t[2];
18599
+ _.ops.push(op);
18600
+ break;
18601
+ }
18602
+ if (t[2]) _.ops.pop();
18603
+ _.trys.pop();
18604
+ continue;
18605
+ }
18606
+ op = body.call(thisArg, _);
18607
+ } catch (e) {
18608
+ op = [6, e];
18609
+ y = 0;
18610
+ } finally {
18611
+ f = t = 0;
18612
+ }
18613
+ if (op[0] & 5) throw op[1];
18614
+ return { value: op[0] ? op[1] : void 0, done: true };
18615
+ }
18616
+ };
18617
+ Object.defineProperty(exports, "__esModule", { value: true });
18618
+ exports.loadWasmModule = loadWasmModule;
18619
+ exports.ensureNativeModule = ensureNativeModule;
18620
+ exports.destroyNativeModule = destroyNativeModule;
18621
+ var script_1 = require_script();
18622
+ function loadWasmModule() {
18623
+ return __awaiter(this, void 0, void 0, function() {
18624
+ var memoryInitializer, memInitXHR;
18625
+ return __generator(this, function(_a) {
18626
+ switch (_a.label) {
18627
+ case 0:
18628
+ if (window.Module) {
18629
+ return [
18630
+ 2
18631
+ /*return*/
18632
+ ];
18633
+ }
18634
+ window.Module = {};
18635
+ memoryInitializer = "samsung-wasm-decoder.js.mem";
18636
+ if (window.Module.locateFile) {
18637
+ memoryInitializer = window.Module.locateFile(memoryInitializer, "");
18638
+ }
18639
+ window.Module.memoryInitializerRequestURL = memoryInitializer;
18640
+ memInitXHR = new XMLHttpRequest();
18641
+ window.Module.memoryInitializerRequest = memInitXHR;
18642
+ memInitXHR.open("GET", memoryInitializer, true);
18643
+ memInitXHR.responseType = "arraybuffer";
18644
+ memInitXHR.send(null);
18645
+ return [4, (0, script_1.injectScript)("samsung-wasm-decoder.js")];
18646
+ case 1:
18647
+ _a.sent();
18648
+ return [
18649
+ 2
18650
+ /*return*/
18651
+ ];
18652
+ }
18653
+ });
18654
+ });
18655
+ }
18656
+ var native;
18657
+ function ensureNativeModule() {
18658
+ return __awaiter(this, void 0, void 0, function() {
18659
+ var mod;
18660
+ var _a;
18661
+ return __generator(this, function(_b) {
18662
+ switch (_b.label) {
18663
+ case 0:
18664
+ if (native) {
18665
+ return [2, native];
18666
+ }
18667
+ mod = (_a = window.SamsungWasmDecoderModule) === null || _a === void 0 ? void 0 : _a.call(window);
18668
+ if (!mod) {
18669
+ throw new Error("Samsung Wasm Decoder native module not available");
18670
+ }
18671
+ delete mod.then;
18672
+ return [4, new Promise(function(resolve) {
18673
+ mod.onRuntimeInitialized = function() {
18674
+ return resolve(null);
18675
+ };
18676
+ })];
18677
+ case 1:
18678
+ _b.sent();
18679
+ native = mod;
18680
+ return [2, mod];
18681
+ }
18682
+ });
18683
+ });
18684
+ }
18685
+ function destroyNativeModule() {
18686
+ return __awaiter(this, void 0, void 0, function() {
18687
+ return __generator(this, function(_a) {
18688
+ native = void 0;
18689
+ return [
18690
+ 2
18691
+ /*return*/
18692
+ ];
18693
+ });
18694
+ });
18695
+ }
18696
+ }
18697
+ });
18698
+
18699
+ // node_modules/@signageos/samsung-wasm-decoder/dist/WasmDecoder/wasmTCP.js
18700
+ var require_wasmTCP = __commonJS({
18701
+ "node_modules/@signageos/samsung-wasm-decoder/dist/WasmDecoder/wasmTCP.js"(exports) {
18702
+ "use strict";
18703
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
18704
+ function adopt(value) {
18705
+ return value instanceof P ? value : new P(function(resolve) {
18706
+ resolve(value);
18707
+ });
18708
+ }
18709
+ return new (P || (P = Promise))(function(resolve, reject) {
18710
+ function fulfilled(value) {
18711
+ try {
18712
+ step(generator.next(value));
18713
+ } catch (e) {
18714
+ reject(e);
18715
+ }
18716
+ }
18717
+ function rejected(value) {
18718
+ try {
18719
+ step(generator["throw"](value));
18720
+ } catch (e) {
18721
+ reject(e);
18722
+ }
18723
+ }
18724
+ function step(result) {
18725
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
18726
+ }
18727
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18728
+ });
18729
+ };
18730
+ var __generator = exports && exports.__generator || function(thisArg, body) {
18731
+ var _ = { label: 0, sent: function() {
18732
+ if (t[0] & 1) throw t[1];
18733
+ return t[1];
18734
+ }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
18735
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
18736
+ return this;
18737
+ }), g;
18738
+ function verb(n) {
18739
+ return function(v) {
18740
+ return step([n, v]);
18741
+ };
18742
+ }
18743
+ function step(op) {
18744
+ if (f) throw new TypeError("Generator is already executing.");
18745
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18746
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18747
+ if (y = 0, t) op = [op[0] & 2, t.value];
18748
+ switch (op[0]) {
18749
+ case 0:
18750
+ case 1:
18751
+ t = op;
18752
+ break;
18753
+ case 4:
18754
+ _.label++;
18755
+ return { value: op[1], done: false };
18756
+ case 5:
18757
+ _.label++;
18758
+ y = op[1];
18759
+ op = [0];
18760
+ continue;
18761
+ case 7:
18762
+ op = _.ops.pop();
18763
+ _.trys.pop();
18764
+ continue;
18765
+ default:
18766
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
18767
+ _ = 0;
18768
+ continue;
18769
+ }
18770
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
18771
+ _.label = op[1];
18772
+ break;
18773
+ }
18774
+ if (op[0] === 6 && _.label < t[1]) {
18775
+ _.label = t[1];
18776
+ t = op;
18777
+ break;
18778
+ }
18779
+ if (t && _.label < t[2]) {
18780
+ _.label = t[2];
18781
+ _.ops.push(op);
18782
+ break;
18783
+ }
18784
+ if (t[2]) _.ops.pop();
18785
+ _.trys.pop();
18786
+ continue;
18787
+ }
18788
+ op = body.call(thisArg, _);
18789
+ } catch (e) {
18790
+ op = [6, e];
18791
+ y = 0;
18792
+ } finally {
18793
+ f = t = 0;
18794
+ }
18795
+ if (op[0] & 5) throw op[1];
18796
+ return { value: op[0] ? op[1] : void 0, done: true };
18797
+ }
18798
+ };
18799
+ var __values = exports && exports.__values || function(o) {
18800
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
18801
+ if (m) return m.call(o);
18802
+ if (o && typeof o.length === "number") return {
18803
+ next: function() {
18804
+ if (o && i >= o.length) o = void 0;
18805
+ return { value: o && o[i++], done: !o };
18806
+ }
18807
+ };
18808
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
18809
+ };
18810
+ Object.defineProperty(exports, "__esModule", { value: true });
18811
+ exports.SamsungWasmTCPPacket = exports.SamsungWasmTCPStream = exports.SamsungWasmTCPStreamConnection = exports.SamsungWasmTCPPacketConnection = exports.SamsungWasmFrameCollector = void 0;
18812
+ var wasmLoader_1 = require_wasmLoader();
18813
+ function ensureCallbackStorage() {
18814
+ if (typeof window !== "undefined") {
18815
+ if (!window._swtConnectCallbacks) {
18816
+ window._swtConnectCallbacks = {};
18817
+ }
18818
+ if (!window._swtSendCallbacks) {
18819
+ window._swtSendCallbacks = {};
18820
+ }
18821
+ if (!window._swtRecvCallbacks) {
18822
+ window._swtRecvCallbacks = {};
18823
+ }
18824
+ if (!window._swtFrameCallbacks) {
18825
+ window._swtFrameCallbacks = {};
18826
+ }
18827
+ }
18828
+ }
18829
+ var SamsungWasmFrameCollector = (
18830
+ /** @class */
18831
+ function() {
18832
+ function SamsungWasmFrameCollector2(_connection, _maxPacketSize) {
18833
+ if (_maxPacketSize === void 0) {
18834
+ _maxPacketSize = 65535;
18835
+ }
18836
+ this._connection = _connection;
18837
+ this._maxPacketSize = _maxPacketSize;
18838
+ this._collectorHandle = 0;
18839
+ this._frameQueue = [];
18840
+ this._frameResolvers = [];
18841
+ this._error = null;
18842
+ }
18843
+ SamsungWasmFrameCollector2.prototype.initialize = function() {
18844
+ return __awaiter(this, void 0, void 0, function() {
18845
+ var native, swtFrameCollectorCreate;
18846
+ var _this = this;
18847
+ return __generator(this, function(_a) {
18848
+ switch (_a.label) {
18849
+ case 0:
18850
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
18851
+ case 1:
18852
+ native = _a.sent();
18853
+ ensureCallbackStorage();
18854
+ swtFrameCollectorCreate = native.cwrap("swt_frame_collector_create", "number", ["number", "number"]);
18855
+ this._collectorHandle = swtFrameCollectorCreate(this._connection.getHandle(), this._maxPacketSize);
18856
+ if (this._collectorHandle === 0) {
18857
+ throw new Error("Failed to create frame collector");
18858
+ }
18859
+ window._swtFrameCallbacks[this._collectorHandle] = {
18860
+ onFrame: function(frame) {
18861
+ return _this._handleFrame(frame);
18862
+ },
18863
+ onError: function(error) {
18864
+ return _this._handleError(error);
18865
+ }
18866
+ };
18867
+ return [
18868
+ 2
18869
+ /*return*/
18870
+ ];
18871
+ }
18872
+ });
18873
+ });
18874
+ };
18875
+ SamsungWasmFrameCollector2.prototype.start = function() {
18876
+ return __awaiter(this, void 0, void 0, function() {
18877
+ var native, swtFrameCollectorStart, result;
18878
+ return __generator(this, function(_a) {
18879
+ switch (_a.label) {
18880
+ case 0:
18881
+ if (this._collectorHandle === 0) {
18882
+ throw new Error("Frame collector not initialized");
18883
+ }
18884
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
18885
+ case 1:
18886
+ native = _a.sent();
18887
+ swtFrameCollectorStart = native.cwrap("swt_frame_collector_start", "number", ["number"]);
18888
+ result = swtFrameCollectorStart(this._collectorHandle);
18889
+ if (result < 0) {
18890
+ throw new Error("Failed to start frame collector: ".concat(result));
18891
+ }
18892
+ return [
18893
+ 2
18894
+ /*return*/
18895
+ ];
18896
+ }
18897
+ });
18898
+ });
18899
+ };
18900
+ SamsungWasmFrameCollector2.prototype.stop = function() {
18901
+ return __awaiter(this, void 0, void 0, function() {
18902
+ var native, swtFrameCollectorStop;
18903
+ return __generator(this, function(_a) {
18904
+ switch (_a.label) {
18905
+ case 0:
18906
+ if (this._collectorHandle === 0)
18907
+ return [
18908
+ 2
18909
+ /*return*/
18910
+ ];
18911
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
18912
+ case 1:
18913
+ native = _a.sent();
18914
+ swtFrameCollectorStop = native.cwrap("swt_frame_collector_stop", "void", ["number"]);
18915
+ swtFrameCollectorStop(this._collectorHandle);
18916
+ return [
18917
+ 2
18918
+ /*return*/
18919
+ ];
18920
+ }
18921
+ });
18922
+ });
18923
+ };
18924
+ SamsungWasmFrameCollector2.prototype.destroy = function() {
18925
+ return __awaiter(this, void 0, void 0, function() {
18926
+ var native, swtFrameCollectorDestroy, error, _a, _b, resolver;
18927
+ var e_1, _c;
18928
+ return __generator(this, function(_d) {
18929
+ switch (_d.label) {
18930
+ case 0:
18931
+ if (this._collectorHandle === 0)
18932
+ return [
18933
+ 2
18934
+ /*return*/
18935
+ ];
18936
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
18937
+ case 1:
18938
+ native = _d.sent();
18939
+ swtFrameCollectorDestroy = native.cwrap("swt_frame_collector_destroy", "void", ["number"]);
18940
+ if (window._swtFrameCallbacks) {
18941
+ delete window._swtFrameCallbacks[this._collectorHandle];
18942
+ }
18943
+ swtFrameCollectorDestroy(this._collectorHandle);
18944
+ this._collectorHandle = 0;
18945
+ error = new Error("Frame collector destroyed");
18946
+ try {
18947
+ for (_a = __values(this._frameResolvers), _b = _a.next(); !_b.done; _b = _a.next()) {
18948
+ resolver = _b.value;
18949
+ resolver.reject(error);
18950
+ }
18951
+ } catch (e_1_1) {
18952
+ e_1 = { error: e_1_1 };
18953
+ } finally {
18954
+ try {
18955
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
18956
+ } finally {
18957
+ if (e_1) throw e_1.error;
18958
+ }
18959
+ }
18960
+ this._frameResolvers = [];
18961
+ return [
18962
+ 2
18963
+ /*return*/
18964
+ ];
18965
+ }
18966
+ });
18967
+ });
18968
+ };
18969
+ SamsungWasmFrameCollector2.prototype.collectFrame = function(options) {
18970
+ return __awaiter(this, void 0, void 0, function() {
18971
+ var frame;
18972
+ var _this = this;
18973
+ var _a, _b;
18974
+ return __generator(this, function(_c) {
18975
+ if (this._error) {
18976
+ throw this._error;
18977
+ }
18978
+ if (this._frameQueue.length > 0) {
18979
+ frame = this._frameQueue.shift();
18980
+ (_a = options === null || options === void 0 ? void 0 : options.onStart) === null || _a === void 0 ? void 0 : _a.call(options);
18981
+ (_b = options === null || options === void 0 ? void 0 : options.onEnd) === null || _b === void 0 ? void 0 : _b.call(options);
18982
+ return [2, frame];
18983
+ }
18984
+ return [2, new Promise(function(resolve, reject) {
18985
+ _this._frameResolvers.push({ resolve, reject, options });
18986
+ })];
18987
+ });
18988
+ });
18989
+ };
18990
+ SamsungWasmFrameCollector2.getFrameDataPointer = function(refId) {
18991
+ return __awaiter(this, void 0, void 0, function() {
18992
+ var native, swtFrameGetData;
18993
+ return __generator(this, function(_a) {
18994
+ switch (_a.label) {
18995
+ case 0:
18996
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
18997
+ case 1:
18998
+ native = _a.sent();
18999
+ swtFrameGetData = native.cwrap("swt_frame_get_data", "number", [
19000
+ "number"
19001
+ ]);
19002
+ return [2, swtFrameGetData(refId)];
19003
+ }
19004
+ });
19005
+ });
19006
+ };
19007
+ SamsungWasmFrameCollector2.getFrameSize = function(refId) {
19008
+ return __awaiter(this, void 0, void 0, function() {
19009
+ var native, swtFrameGetSize;
19010
+ return __generator(this, function(_a) {
19011
+ switch (_a.label) {
19012
+ case 0:
19013
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19014
+ case 1:
19015
+ native = _a.sent();
19016
+ swtFrameGetSize = native.cwrap("swt_frame_get_size", "number", [
19017
+ "number"
19018
+ ]);
19019
+ return [2, swtFrameGetSize(refId)];
19020
+ }
19021
+ });
19022
+ });
19023
+ };
19024
+ SamsungWasmFrameCollector2.getFrameType = function(refId) {
19025
+ return __awaiter(this, void 0, void 0, function() {
19026
+ var native, swtFrameGetType;
19027
+ return __generator(this, function(_a) {
19028
+ switch (_a.label) {
19029
+ case 0:
19030
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19031
+ case 1:
19032
+ native = _a.sent();
19033
+ swtFrameGetType = native.cwrap("swt_frame_get_type", "number", [
19034
+ "number"
19035
+ ]);
19036
+ return [2, swtFrameGetType(refId)];
19037
+ }
19038
+ });
19039
+ });
19040
+ };
19041
+ SamsungWasmFrameCollector2.getFrameTimestamp = function(refId) {
19042
+ return __awaiter(this, void 0, void 0, function() {
19043
+ var native, swtFrameGetTimestampLo, swtFrameGetTimestampHi, lo, hi;
19044
+ return __generator(this, function(_a) {
19045
+ switch (_a.label) {
19046
+ case 0:
19047
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19048
+ case 1:
19049
+ native = _a.sent();
19050
+ swtFrameGetTimestampLo = native.cwrap("swt_frame_get_timestamp_lo", "number", ["number"]);
19051
+ swtFrameGetTimestampHi = native.cwrap("swt_frame_get_timestamp_hi", "number", ["number"]);
19052
+ lo = swtFrameGetTimestampLo(refId);
19053
+ hi = swtFrameGetTimestampHi(refId);
19054
+ return [2, { lo, hi }];
19055
+ }
19056
+ });
19057
+ });
19058
+ };
19059
+ SamsungWasmFrameCollector2.releaseFrame = function(refId) {
19060
+ return __awaiter(this, void 0, void 0, function() {
19061
+ var native, swtFrameRelease;
19062
+ return __generator(this, function(_a) {
19063
+ switch (_a.label) {
19064
+ case 0:
19065
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19066
+ case 1:
19067
+ native = _a.sent();
19068
+ swtFrameRelease = native.cwrap("swt_frame_release", "void", [
19069
+ "number"
19070
+ ]);
19071
+ swtFrameRelease(refId);
19072
+ return [
19073
+ 2
19074
+ /*return*/
19075
+ ];
19076
+ }
19077
+ });
19078
+ });
19079
+ };
19080
+ SamsungWasmFrameCollector2.prototype._handleFrame = function(frame) {
19081
+ var _a, _b, _c, _d;
19082
+ if (this._frameResolvers.length > 0) {
19083
+ var resolver = this._frameResolvers.shift();
19084
+ (_b = (_a = resolver.options) === null || _a === void 0 ? void 0 : _a.onStart) === null || _b === void 0 ? void 0 : _b.call(_a);
19085
+ (_d = (_c = resolver.options) === null || _c === void 0 ? void 0 : _c.onEnd) === null || _d === void 0 ? void 0 : _d.call(_c);
19086
+ resolver.resolve(frame);
19087
+ } else {
19088
+ this._frameQueue.push(frame);
19089
+ }
19090
+ };
19091
+ SamsungWasmFrameCollector2.prototype._handleError = function(error) {
19092
+ var e_2, _a;
19093
+ this._error = error;
19094
+ try {
19095
+ for (var _b = __values(this._frameResolvers), _c = _b.next(); !_c.done; _c = _b.next()) {
19096
+ var resolver = _c.value;
19097
+ resolver.reject(error);
19098
+ }
19099
+ } catch (e_2_1) {
19100
+ e_2 = { error: e_2_1 };
19101
+ } finally {
19102
+ try {
19103
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
19104
+ } finally {
19105
+ if (e_2) throw e_2.error;
19106
+ }
19107
+ }
19108
+ this._frameResolvers = [];
19109
+ };
19110
+ return SamsungWasmFrameCollector2;
19111
+ }()
19112
+ );
19113
+ exports.SamsungWasmFrameCollector = SamsungWasmFrameCollector;
19114
+ var SamsungWasmTCPPacketConnection = (
19115
+ /** @class */
19116
+ function() {
19117
+ function SamsungWasmTCPPacketConnection2(handle, _maxPacketSize) {
19118
+ if (_maxPacketSize === void 0) {
19119
+ _maxPacketSize = 65535;
19120
+ }
19121
+ this._maxPacketSize = _maxPacketSize;
19122
+ this._nextRequestId = 1;
19123
+ this._frameCollector = null;
19124
+ this._frameCollectorStarted = false;
19125
+ this._handle = handle;
19126
+ }
19127
+ SamsungWasmTCPPacketConnection2.prototype.getHandle = function() {
19128
+ return this._handle;
19129
+ };
19130
+ SamsungWasmTCPPacketConnection2.prototype.isConnected = function() {
19131
+ return __awaiter(this, void 0, void 0, function() {
19132
+ var native, swtIsConnected;
19133
+ return __generator(this, function(_a) {
19134
+ switch (_a.label) {
19135
+ case 0:
19136
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19137
+ case 1:
19138
+ native = _a.sent();
19139
+ swtIsConnected = native.cwrap("swt_is_connected", "number", [
19140
+ "number"
19141
+ ]);
19142
+ return [2, swtIsConnected(this._handle) === 1];
19143
+ }
19144
+ });
19145
+ });
19146
+ };
19147
+ SamsungWasmTCPPacketConnection2.prototype.isConnecting = function() {
19148
+ return __awaiter(this, void 0, void 0, function() {
19149
+ var native, swtIsConnected;
19150
+ return __generator(this, function(_a) {
19151
+ switch (_a.label) {
19152
+ case 0:
19153
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19154
+ case 1:
19155
+ native = _a.sent();
19156
+ swtIsConnected = native.cwrap("swt_is_connected", "number", [
19157
+ "number"
19158
+ ]);
19159
+ return [2, swtIsConnected(this._handle) === -1];
19160
+ }
19161
+ });
19162
+ });
19163
+ };
19164
+ SamsungWasmTCPPacketConnection2.prototype.send = function(data) {
19165
+ return __awaiter(this, void 0, void 0, function() {
19166
+ var native, swtIsConnected, connStatus, requestId, callbackKey, sendPromise, ptr, swtPacketSendAsync, result;
19167
+ return __generator(this, function(_a) {
19168
+ switch (_a.label) {
19169
+ case 0:
19170
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19171
+ case 1:
19172
+ native = _a.sent();
19173
+ swtIsConnected = native.cwrap("swt_is_connected", "number", [
19174
+ "number"
19175
+ ]);
19176
+ connStatus = swtIsConnected(this._handle);
19177
+ if (connStatus !== 1) {
19178
+ if (connStatus === -1) {
19179
+ throw new Error("Connection is still in progress");
19180
+ }
19181
+ throw new Error("Connection is not active");
19182
+ }
19183
+ ensureCallbackStorage();
19184
+ requestId = this._nextRequestId++;
19185
+ callbackKey = "".concat(this._handle, "_").concat(requestId);
19186
+ sendPromise = new Promise(function(resolve, reject) {
19187
+ window._swtSendCallbacks[callbackKey] = { resolve, reject };
19188
+ });
19189
+ ptr = native._malloc(data.byteLength);
19190
+ try {
19191
+ native.HEAPU8.set(new Uint8Array(data), ptr);
19192
+ swtPacketSendAsync = native.cwrap("swt_packet_send_async", "number", ["number", "number", "number", "number"]);
19193
+ result = swtPacketSendAsync(this._handle, ptr, data.byteLength, requestId);
19194
+ if (result !== 0) {
19195
+ delete window._swtSendCallbacks[callbackKey];
19196
+ throw new Error("Failed to start send operation, error code: ".concat(result));
19197
+ }
19198
+ } catch (e) {
19199
+ native._free(ptr);
19200
+ throw e;
19201
+ }
19202
+ native._free(ptr);
19203
+ return [2, sendPromise];
19204
+ }
19205
+ });
19206
+ });
19207
+ };
19208
+ SamsungWasmTCPPacketConnection2.prototype.recv = function() {
19209
+ return __awaiter(this, arguments, void 0, function(maxSize) {
19210
+ var native, swtIsConnected, connStatus, requestId, callbackKey, recvPromise, swtPacketRecvAsync, result;
19211
+ if (maxSize === void 0) {
19212
+ maxSize = 65535;
19213
+ }
19214
+ return __generator(this, function(_a) {
19215
+ switch (_a.label) {
19216
+ case 0:
19217
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19218
+ case 1:
19219
+ native = _a.sent();
19220
+ swtIsConnected = native.cwrap("swt_is_connected", "number", [
19221
+ "number"
19222
+ ]);
19223
+ connStatus = swtIsConnected(this._handle);
19224
+ if (connStatus !== 1) {
19225
+ if (connStatus === -1) {
19226
+ throw new Error("Connection is still in progress");
19227
+ }
19228
+ throw new Error("Connection is not active");
19229
+ }
19230
+ ensureCallbackStorage();
19231
+ requestId = this._nextRequestId++;
19232
+ callbackKey = "".concat(this._handle, "_").concat(requestId);
19233
+ recvPromise = new Promise(function(resolve, reject) {
19234
+ window._swtRecvCallbacks[callbackKey] = { resolve, reject };
19235
+ });
19236
+ swtPacketRecvAsync = native.cwrap("swt_packet_recv_async", "number", [
19237
+ "number",
19238
+ "number",
19239
+ "number"
19240
+ ]);
19241
+ result = swtPacketRecvAsync(this._handle, maxSize, requestId);
19242
+ if (result !== 0) {
19243
+ delete window._swtRecvCallbacks[callbackKey];
19244
+ throw new Error("Failed to start recv operation, error code: ".concat(result));
19245
+ }
19246
+ return [2, recvPromise];
19247
+ }
19248
+ });
19249
+ });
19250
+ };
19251
+ SamsungWasmTCPPacketConnection2.prototype.collectFrame = function(options) {
19252
+ return __awaiter(this, void 0, void 0, function() {
19253
+ return __generator(this, function(_a) {
19254
+ switch (_a.label) {
19255
+ case 0:
19256
+ if (!!this._frameCollector) return [3, 2];
19257
+ this._frameCollector = new SamsungWasmFrameCollector(this, this._maxPacketSize);
19258
+ return [4, this._frameCollector.initialize()];
19259
+ case 1:
19260
+ _a.sent();
19261
+ _a.label = 2;
19262
+ case 2:
19263
+ if (!!this._frameCollectorStarted) return [3, 4];
19264
+ return [4, this._frameCollector.start()];
19265
+ case 3:
19266
+ _a.sent();
19267
+ this._frameCollectorStarted = true;
19268
+ _a.label = 4;
19269
+ case 4:
19270
+ return [2, this._frameCollector.collectFrame(options)];
19271
+ }
19272
+ });
19273
+ });
19274
+ };
19275
+ SamsungWasmTCPPacketConnection2.prototype.createFrameCollector = function() {
19276
+ return __awaiter(this, arguments, void 0, function(maxPacketSize) {
19277
+ var collector;
19278
+ if (maxPacketSize === void 0) {
19279
+ maxPacketSize = 65535;
19280
+ }
19281
+ return __generator(this, function(_a) {
19282
+ switch (_a.label) {
19283
+ case 0:
19284
+ collector = new SamsungWasmFrameCollector(this, maxPacketSize);
19285
+ return [4, collector.initialize()];
19286
+ case 1:
19287
+ _a.sent();
19288
+ return [2, collector];
19289
+ }
19290
+ });
19291
+ });
19292
+ };
19293
+ SamsungWasmTCPPacketConnection2.prototype.close = function() {
19294
+ return __awaiter(this, void 0, void 0, function() {
19295
+ var native, swtClose;
19296
+ return __generator(this, function(_a) {
19297
+ switch (_a.label) {
19298
+ case 0:
19299
+ if (!this._frameCollector) return [3, 3];
19300
+ return [4, this._frameCollector.stop()];
19301
+ case 1:
19302
+ _a.sent();
19303
+ return [4, this._frameCollector.destroy()];
19304
+ case 2:
19305
+ _a.sent();
19306
+ this._frameCollector = null;
19307
+ this._frameCollectorStarted = false;
19308
+ _a.label = 3;
19309
+ case 3:
19310
+ if (!(this._handle !== 0)) return [3, 5];
19311
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19312
+ case 4:
19313
+ native = _a.sent();
19314
+ swtClose = native.cwrap("swt_close", "void", [
19315
+ "number"
19316
+ ]);
19317
+ swtClose(this._handle);
19318
+ this._handle = 0;
19319
+ _a.label = 5;
19320
+ case 5:
19321
+ return [
19322
+ 2
19323
+ /*return*/
19324
+ ];
19325
+ }
19326
+ });
19327
+ });
19328
+ };
19329
+ return SamsungWasmTCPPacketConnection2;
19330
+ }()
19331
+ );
19332
+ exports.SamsungWasmTCPPacketConnection = SamsungWasmTCPPacketConnection;
19333
+ var SamsungWasmTCPStreamConnection = (
19334
+ /** @class */
19335
+ function() {
19336
+ function SamsungWasmTCPStreamConnection2(handle) {
19337
+ this._nextRequestId = 1;
19338
+ this._handle = handle;
19339
+ }
19340
+ SamsungWasmTCPStreamConnection2.prototype.getHandle = function() {
19341
+ return this._handle;
19342
+ };
19343
+ SamsungWasmTCPStreamConnection2.prototype.isConnected = function() {
19344
+ return __awaiter(this, void 0, void 0, function() {
19345
+ var native, swtIsConnected;
19346
+ return __generator(this, function(_a) {
19347
+ switch (_a.label) {
19348
+ case 0:
19349
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19350
+ case 1:
19351
+ native = _a.sent();
19352
+ swtIsConnected = native.cwrap("swt_is_connected", "number", [
19353
+ "number"
19354
+ ]);
19355
+ return [2, swtIsConnected(this._handle) === 1];
19356
+ }
19357
+ });
19358
+ });
19359
+ };
19360
+ SamsungWasmTCPStreamConnection2.prototype.write = function(data) {
19361
+ return __awaiter(this, void 0, void 0, function() {
19362
+ var native, swtIsConnected, connStatus, requestId, callbackKey, sendPromise, ptr, swtStreamSendAsync, result;
19363
+ return __generator(this, function(_a) {
19364
+ switch (_a.label) {
19365
+ case 0:
19366
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19367
+ case 1:
19368
+ native = _a.sent();
19369
+ swtIsConnected = native.cwrap("swt_is_connected", "number", [
19370
+ "number"
19371
+ ]);
19372
+ connStatus = swtIsConnected(this._handle);
19373
+ if (connStatus !== 1) {
19374
+ if (connStatus === -1) {
19375
+ throw new Error("Connection is still in progress");
19376
+ }
19377
+ throw new Error("Connection is not active");
19378
+ }
19379
+ ensureCallbackStorage();
19380
+ requestId = this._nextRequestId++;
19381
+ callbackKey = "".concat(this._handle, "_").concat(requestId);
19382
+ sendPromise = new Promise(function(resolve, reject) {
19383
+ window._swtSendCallbacks[callbackKey] = { resolve, reject };
19384
+ });
19385
+ ptr = native._malloc(data.byteLength);
19386
+ try {
19387
+ native.HEAPU8.set(new Uint8Array(data), ptr);
19388
+ swtStreamSendAsync = native.cwrap("swt_stream_send_async", "number", ["number", "number", "number", "number"]);
19389
+ result = swtStreamSendAsync(this._handle, ptr, data.byteLength, requestId);
19390
+ if (result !== 0) {
19391
+ delete window._swtSendCallbacks[callbackKey];
19392
+ throw new Error("Failed to start stream write operation, error code: ".concat(result));
19393
+ }
19394
+ } catch (e) {
19395
+ native._free(ptr);
19396
+ throw e;
19397
+ }
19398
+ native._free(ptr);
19399
+ return [2, sendPromise];
19400
+ }
19401
+ });
19402
+ });
19403
+ };
19404
+ SamsungWasmTCPStreamConnection2.prototype.read = function() {
19405
+ return __awaiter(this, arguments, void 0, function(maxSize) {
19406
+ var native, swtIsConnected, connStatus, requestId, callbackKey, recvPromise, swtStreamRecvAsync, result;
19407
+ if (maxSize === void 0) {
19408
+ maxSize = 65535;
19409
+ }
19410
+ return __generator(this, function(_a) {
19411
+ switch (_a.label) {
19412
+ case 0:
19413
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19414
+ case 1:
19415
+ native = _a.sent();
19416
+ swtIsConnected = native.cwrap("swt_is_connected", "number", [
19417
+ "number"
19418
+ ]);
19419
+ connStatus = swtIsConnected(this._handle);
19420
+ if (connStatus !== 1) {
19421
+ if (connStatus === -1) {
19422
+ throw new Error("Connection is still in progress");
19423
+ }
19424
+ throw new Error("Connection is not active");
19425
+ }
19426
+ ensureCallbackStorage();
19427
+ requestId = this._nextRequestId++;
19428
+ callbackKey = "".concat(this._handle, "_").concat(requestId);
19429
+ recvPromise = new Promise(function(resolve, reject) {
19430
+ window._swtRecvCallbacks[callbackKey] = { resolve, reject };
19431
+ });
19432
+ swtStreamRecvAsync = native.cwrap("swt_stream_recv_async", "number", [
19433
+ "number",
19434
+ "number",
19435
+ "number"
19436
+ ]);
19437
+ result = swtStreamRecvAsync(this._handle, maxSize, requestId);
19438
+ if (result !== 0) {
19439
+ delete window._swtRecvCallbacks[callbackKey];
19440
+ throw new Error("Failed to start stream read operation, error code: ".concat(result));
19441
+ }
19442
+ return [2, recvPromise];
19443
+ }
19444
+ });
19445
+ });
19446
+ };
19447
+ SamsungWasmTCPStreamConnection2.prototype.close = function() {
19448
+ return __awaiter(this, void 0, void 0, function() {
19449
+ var native, swtClose;
19450
+ return __generator(this, function(_a) {
19451
+ switch (_a.label) {
19452
+ case 0:
19453
+ if (!(this._handle !== 0)) return [3, 2];
19454
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19455
+ case 1:
19456
+ native = _a.sent();
19457
+ swtClose = native.cwrap("swt_close", "void", [
19458
+ "number"
19459
+ ]);
19460
+ swtClose(this._handle);
19461
+ this._handle = 0;
19462
+ _a.label = 2;
19463
+ case 2:
19464
+ return [
19465
+ 2
19466
+ /*return*/
19467
+ ];
19468
+ }
19469
+ });
19470
+ });
19471
+ };
19472
+ return SamsungWasmTCPStreamConnection2;
19473
+ }()
19474
+ );
19475
+ exports.SamsungWasmTCPStreamConnection = SamsungWasmTCPStreamConnection;
19476
+ var SamsungWasmTCPStream2 = (
19477
+ /** @class */
19478
+ function() {
19479
+ function SamsungWasmTCPStream3() {
19480
+ }
19481
+ SamsungWasmTCPStream3.prototype.connect = function(options) {
19482
+ return __awaiter(this, void 0, void 0, function() {
19483
+ var native, swtConnectAsync, handle, connectPromise, connectedHandle;
19484
+ return __generator(this, function(_a) {
19485
+ switch (_a.label) {
19486
+ case 0:
19487
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19488
+ case 1:
19489
+ native = _a.sent();
19490
+ ensureCallbackStorage();
19491
+ swtConnectAsync = native.cwrap("swt_connect_async", "number", [
19492
+ "string",
19493
+ "number",
19494
+ "number"
19495
+ ]);
19496
+ connectPromise = new Promise(function(resolve, reject) {
19497
+ handle = swtConnectAsync(options.host, options.timeoutMs, options.secure ? 1 : 0);
19498
+ if (handle === 0) {
19499
+ reject(new Error("Failed to start connection to ".concat(options.host)));
19500
+ return;
19501
+ }
19502
+ window._swtConnectCallbacks[handle] = { resolve, reject };
19503
+ });
19504
+ return [4, connectPromise];
19505
+ case 2:
19506
+ connectedHandle = _a.sent();
19507
+ return [2, new SamsungWasmTCPStreamConnection(connectedHandle)];
19508
+ }
19509
+ });
19510
+ });
19511
+ };
19512
+ return SamsungWasmTCPStream3;
19513
+ }()
19514
+ );
19515
+ exports.SamsungWasmTCPStream = SamsungWasmTCPStream2;
19516
+ var SamsungWasmTCPPacket2 = (
19517
+ /** @class */
19518
+ function() {
19519
+ function SamsungWasmTCPPacket3() {
19520
+ }
19521
+ SamsungWasmTCPPacket3.prototype.connect = function(options) {
19522
+ return __awaiter(this, void 0, void 0, function() {
19523
+ var native, swtConnectAsync, handle, connectPromise, connectedHandle;
19524
+ var _a;
19525
+ return __generator(this, function(_b) {
19526
+ switch (_b.label) {
19527
+ case 0:
19528
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19529
+ case 1:
19530
+ native = _b.sent();
19531
+ ensureCallbackStorage();
19532
+ swtConnectAsync = native.cwrap("swt_connect_async", "number", [
19533
+ "string",
19534
+ "number",
19535
+ "number"
19536
+ ]);
19537
+ connectPromise = new Promise(function(resolve, reject) {
19538
+ handle = swtConnectAsync(options.host, options.timeoutMs, options.secure ? 1 : 0);
19539
+ if (handle === 0) {
19540
+ reject(new Error("Failed to start connection to ".concat(options.host)));
19541
+ return;
19542
+ }
19543
+ window._swtConnectCallbacks[handle] = { resolve, reject };
19544
+ });
19545
+ return [4, connectPromise];
19546
+ case 2:
19547
+ connectedHandle = _b.sent();
19548
+ return [2, new SamsungWasmTCPPacketConnection(connectedHandle, (_a = options.maxPacketSize) !== null && _a !== void 0 ? _a : 65535)];
19549
+ }
19550
+ });
19551
+ });
19552
+ };
19553
+ return SamsungWasmTCPPacket3;
19554
+ }()
19555
+ );
19556
+ exports.SamsungWasmTCPPacket = SamsungWasmTCPPacket2;
19557
+ }
19558
+ });
19559
+
19560
+ // node_modules/@signageos/samsung-wasm-decoder/dist/WasmDecoder/wasmDecoder.js
19561
+ var require_wasmDecoder = __commonJS({
19562
+ "node_modules/@signageos/samsung-wasm-decoder/dist/WasmDecoder/wasmDecoder.js"(exports) {
19563
+ "use strict";
19564
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
19565
+ function adopt(value) {
19566
+ return value instanceof P ? value : new P(function(resolve) {
19567
+ resolve(value);
19568
+ });
19569
+ }
19570
+ return new (P || (P = Promise))(function(resolve, reject) {
19571
+ function fulfilled(value) {
19572
+ try {
19573
+ step(generator.next(value));
19574
+ } catch (e) {
19575
+ reject(e);
19576
+ }
19577
+ }
19578
+ function rejected(value) {
19579
+ try {
19580
+ step(generator["throw"](value));
19581
+ } catch (e) {
19582
+ reject(e);
19583
+ }
19584
+ }
19585
+ function step(result) {
19586
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
19587
+ }
19588
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19589
+ });
19590
+ };
19591
+ var __generator = exports && exports.__generator || function(thisArg, body) {
19592
+ var _ = { label: 0, sent: function() {
19593
+ if (t[0] & 1) throw t[1];
19594
+ return t[1];
19595
+ }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
19596
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
19597
+ return this;
19598
+ }), g;
19599
+ function verb(n) {
19600
+ return function(v) {
19601
+ return step([n, v]);
19602
+ };
19603
+ }
19604
+ function step(op) {
19605
+ if (f) throw new TypeError("Generator is already executing.");
19606
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
19607
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19608
+ if (y = 0, t) op = [op[0] & 2, t.value];
19609
+ switch (op[0]) {
19610
+ case 0:
19611
+ case 1:
19612
+ t = op;
19613
+ break;
19614
+ case 4:
19615
+ _.label++;
19616
+ return { value: op[1], done: false };
19617
+ case 5:
19618
+ _.label++;
19619
+ y = op[1];
19620
+ op = [0];
19621
+ continue;
19622
+ case 7:
19623
+ op = _.ops.pop();
19624
+ _.trys.pop();
19625
+ continue;
19626
+ default:
19627
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
19628
+ _ = 0;
19629
+ continue;
19630
+ }
19631
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
19632
+ _.label = op[1];
19633
+ break;
19634
+ }
19635
+ if (op[0] === 6 && _.label < t[1]) {
19636
+ _.label = t[1];
19637
+ t = op;
19638
+ break;
19639
+ }
19640
+ if (t && _.label < t[2]) {
19641
+ _.label = t[2];
19642
+ _.ops.push(op);
19643
+ break;
19644
+ }
19645
+ if (t[2]) _.ops.pop();
19646
+ _.trys.pop();
19647
+ continue;
19648
+ }
19649
+ op = body.call(thisArg, _);
19650
+ } catch (e) {
19651
+ op = [6, e];
19652
+ y = 0;
19653
+ } finally {
19654
+ f = t = 0;
19655
+ }
19656
+ if (op[0] & 5) throw op[1];
19657
+ return { value: op[0] ? op[1] : void 0, done: true };
19658
+ }
19659
+ };
19660
+ Object.defineProperty(exports, "__esModule", { value: true });
19661
+ exports.SamsungWasmDecoder = void 0;
19662
+ var videoDecoder_1 = require_videoDecoder2();
19663
+ var wasmLoader_1 = require_wasmLoader();
19664
+ var wasmTCP_1 = require_wasmTCP();
19665
+ function detectKeyFrameAnnexB(bytes) {
19666
+ if (bytes.length === 0)
19667
+ return false;
19668
+ var nalHeaderIndex = 0;
19669
+ if (bytes.length >= 4 && bytes[0] === 0 && bytes[1] === 0 && bytes[2] === 0 && bytes[3] === 1) {
19670
+ nalHeaderIndex = 4;
19671
+ } else if (bytes.length >= 3 && bytes[0] === 0 && bytes[1] === 0 && bytes[2] === 1) {
19672
+ nalHeaderIndex = 3;
19673
+ }
19674
+ if (nalHeaderIndex >= bytes.length)
19675
+ return false;
19676
+ var nalType = bytes[nalHeaderIndex] & 31;
19677
+ if (nalType === 5 || nalType === 7 || nalType === 8)
19678
+ return true;
19679
+ for (var i = nalHeaderIndex + 1; i + 4 < bytes.length; i++) {
19680
+ var is3 = bytes[i] === 0 && bytes[i + 1] === 0 && bytes[i + 2] === 1;
19681
+ var is4 = bytes[i] === 0 && bytes[i + 1] === 0 && bytes[i + 2] === 0 && bytes[i + 3] === 1;
19682
+ if (!is3 && !is4)
19683
+ continue;
19684
+ var idx = i + (is3 ? 3 : 4);
19685
+ if (idx >= bytes.length)
19686
+ return false;
19687
+ var nt = bytes[idx] & 31;
19688
+ if (nt === 5 || nt === 7 || nt === 8)
19689
+ return true;
19690
+ }
19691
+ return false;
19692
+ }
19693
+ function ensureVideoElement(videoElementId) {
19694
+ var el = document.getElementById(videoElementId);
19695
+ if (!el) {
19696
+ el = document.createElement("video");
19697
+ el.id = videoElementId;
19698
+ el.style.position = "absolute";
19699
+ el.style.top = "0";
19700
+ el.style.left = "0";
19701
+ el.style.width = "1920px";
19702
+ el.style.height = "1080px";
19703
+ el.style.backgroundColor = "#000";
19704
+ document.body.appendChild(el);
19705
+ }
19706
+ el.autoplay = true;
19707
+ el.muted = true;
19708
+ el.playsInline = true;
19709
+ return el;
19710
+ }
19711
+ var SamsungWasmDecoder2 = (
19712
+ /** @class */
19713
+ function() {
19714
+ function SamsungWasmDecoder3(videoElementId) {
19715
+ this.videoElementId = videoElementId;
19716
+ this.initialized = false;
19717
+ this.destroyed = false;
19718
+ this.decoderHandle = 0;
19719
+ this.ptsSeconds = 0;
19720
+ this.frameDurationSeconds = 0;
19721
+ this.videoElement = ensureVideoElement(videoElementId);
19722
+ }
19723
+ SamsungWasmDecoder3.prototype.destroy = function() {
19724
+ return __awaiter(this, void 0, void 0, function() {
19725
+ var native;
19726
+ return __generator(this, function(_a) {
19727
+ switch (_a.label) {
19728
+ case 0:
19729
+ if (this.destroyed)
19730
+ return [
19731
+ 2
19732
+ /*return*/
19733
+ ];
19734
+ this.destroyed = true;
19735
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19736
+ case 1:
19737
+ native = _a.sent();
19738
+ try {
19739
+ native.ccall("swd_destroy", "void", ["number"], [this.decoderHandle]);
19740
+ } catch (_b) {
19741
+ }
19742
+ this.decoderHandle = 0;
19743
+ return [4, (0, wasmLoader_1.destroyNativeModule)()];
19744
+ case 2:
19745
+ _a.sent();
19746
+ return [
19747
+ 2
19748
+ /*return*/
19749
+ ];
19750
+ }
19751
+ });
19752
+ });
19753
+ };
19754
+ SamsungWasmDecoder3.prototype.initialize = function(args) {
19755
+ return __awaiter(this, void 0, void 0, function() {
19756
+ var width, height, native, latencyMode, create, init, fpsNum, fpsDen, ok, isReady, maxWaitMs, pollIntervalMs, waited;
19757
+ var _a, _b, _c;
19758
+ return __generator(this, function(_d) {
19759
+ switch (_d.label) {
19760
+ case 0:
19761
+ if (this.destroyed) {
19762
+ return [2, videoDecoder_1.ResultStatus.ErrorFailed];
19763
+ }
19764
+ width = (_a = args.width) !== null && _a !== void 0 ? _a : window.screen.width;
19765
+ height = (_b = args.height) !== null && _b !== void 0 ? _b : window.screen.height;
19766
+ this.videoElement.width = width;
19767
+ this.videoElement.height = height;
19768
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19769
+ case 1:
19770
+ native = _d.sent();
19771
+ latencyMode = (_c = args.latencyMode) !== null && _c !== void 0 ? _c : videoDecoder_1.LatencyMode.Low;
19772
+ create = native.cwrap("swd_create", "number", ["string", "number"]);
19773
+ init = native.cwrap("swd_init_h264", "number", [
19774
+ "number",
19775
+ "number",
19776
+ "number",
19777
+ "number"
19778
+ ]);
19779
+ this.decoderHandle = create(this.videoElementId, latencyMode);
19780
+ if (!this.decoderHandle) {
19781
+ return [2, videoDecoder_1.ResultStatus.ErrorFailed];
19782
+ }
19783
+ fpsNum = 1;
19784
+ fpsDen = 1;
19785
+ this.frameDurationSeconds = fpsDen / fpsNum;
19786
+ this.ptsSeconds = 0;
19787
+ ok = init(this.decoderHandle, width, height, fpsNum, fpsDen);
19788
+ if (ok !== 0) {
19789
+ return [2, videoDecoder_1.ResultStatus.ErrorFailed];
19790
+ }
19791
+ isReady = native.cwrap("swd_is_ready", "number", ["number"]);
19792
+ maxWaitMs = 5e3;
19793
+ pollIntervalMs = 50;
19794
+ waited = 0;
19795
+ _d.label = 2;
19796
+ case 2:
19797
+ if (!(isReady(this.decoderHandle) === 0 && waited < maxWaitMs)) return [3, 4];
19798
+ return [4, new Promise(function(resolve) {
19799
+ return setTimeout(resolve, pollIntervalMs);
19800
+ })];
19801
+ case 3:
19802
+ _d.sent();
19803
+ waited += pollIntervalMs;
19804
+ return [3, 2];
19805
+ case 4:
19806
+ if (isReady(this.decoderHandle) === 0) {
19807
+ console.error("Decoder track did not open in time");
19808
+ return [2, videoDecoder_1.ResultStatus.ErrorFailed];
19809
+ }
19810
+ this.initialized = true;
19811
+ return [2, videoDecoder_1.ResultStatus.Ok];
19812
+ }
19813
+ });
19814
+ });
19815
+ };
19816
+ SamsungWasmDecoder3.prototype.decodeAndRender = function(data) {
19817
+ return __awaiter(this, void 0, void 0, function() {
19818
+ var bytes, isKey, native, ptr, append, ok;
19819
+ return __generator(this, function(_a) {
19820
+ switch (_a.label) {
19821
+ case 0:
19822
+ if (!this.initialized || this.destroyed) {
19823
+ return [2, videoDecoder_1.ResultStatus.ErrorNoInit];
19824
+ }
19825
+ if (!(data instanceof ArrayBuffer)) {
19826
+ return [2, videoDecoder_1.ResultStatus.ErrorBadArgument];
19827
+ }
19828
+ bytes = new Uint8Array(data);
19829
+ isKey = detectKeyFrameAnnexB(bytes);
19830
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19831
+ case 1:
19832
+ native = _a.sent();
19833
+ ptr = native._malloc(bytes.length);
19834
+ native.HEAPU8.set(bytes, ptr);
19835
+ try {
19836
+ append = native.cwrap("swd_append", "number", [
19837
+ "number",
19838
+ "number",
19839
+ "number",
19840
+ "number",
19841
+ "number",
19842
+ "number"
19843
+ ]);
19844
+ ok = append(this.decoderHandle, ptr, bytes.length, isKey ? 1 : 0, this.ptsSeconds, this.frameDurationSeconds);
19845
+ if (ok === 0) {
19846
+ this.ptsSeconds += this.frameDurationSeconds;
19847
+ return [2, videoDecoder_1.ResultStatus.Ok];
19848
+ }
19849
+ return [2, videoDecoder_1.ResultStatus.ErrorFailed];
19850
+ } finally {
19851
+ native._free(ptr);
19852
+ }
19853
+ return [
19854
+ 2
19855
+ /*return*/
19856
+ ];
19857
+ }
19858
+ });
19859
+ });
19860
+ };
19861
+ SamsungWasmDecoder3.prototype.decodeAndRenderRef = function(ref) {
19862
+ return __awaiter(this, void 0, void 0, function() {
19863
+ var ptr, size, native, isKey, append, ok;
17418
19864
  return __generator(this, function(_a) {
17419
19865
  switch (_a.label) {
17420
19866
  case 0:
17421
- message = {
17422
- type: messages_1.JSToNaClMessageType.Reset
17423
- };
17424
- return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.ResetResult)];
19867
+ if (!this.initialized || this.destroyed) {
19868
+ return [2, videoDecoder_1.ResultStatus.ErrorNoInit];
19869
+ }
19870
+ return [4, wasmTCP_1.SamsungWasmFrameCollector.getFrameDataPointer(ref)];
17425
19871
  case 1:
17426
- resultMessage = _a.sent();
17427
- resultStatus = new Int32Array(resultMessage.payload)[0];
17428
- return [2, resultStatus];
19872
+ ptr = _a.sent();
19873
+ return [4, wasmTCP_1.SamsungWasmFrameCollector.getFrameSize(ref)];
19874
+ case 2:
19875
+ size = _a.sent();
19876
+ if (ptr === 0 || size === 0) {
19877
+ return [2, videoDecoder_1.ResultStatus.ErrorBadArgument];
19878
+ }
19879
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
19880
+ case 3:
19881
+ native = _a.sent();
19882
+ isKey = detectKeyFrameAnnexB(native.HEAPU8.subarray(ptr, ptr + size));
19883
+ _a.label = 4;
19884
+ case 4:
19885
+ _a.trys.push([4, , 5, 7]);
19886
+ append = native.cwrap("swd_append", "number", [
19887
+ "number",
19888
+ "number",
19889
+ "number",
19890
+ "number",
19891
+ "number",
19892
+ "number"
19893
+ ]);
19894
+ ok = append(this.decoderHandle, ptr, size, isKey ? 1 : 0, this.ptsSeconds, this.frameDurationSeconds);
19895
+ if (ok === 0) {
19896
+ this.ptsSeconds += this.frameDurationSeconds;
19897
+ return [2, videoDecoder_1.ResultStatus.Ok];
19898
+ }
19899
+ return [2, videoDecoder_1.ResultStatus.ErrorFailed];
19900
+ case 5:
19901
+ return [4, wasmTCP_1.SamsungWasmFrameCollector.releaseFrame(ref)];
19902
+ case 6:
19903
+ _a.sent();
19904
+ return [
19905
+ 7
19906
+ /*endfinally*/
19907
+ ];
19908
+ case 7:
19909
+ return [
19910
+ 2
19911
+ /*return*/
19912
+ ];
17429
19913
  }
17430
19914
  });
17431
19915
  });
17432
19916
  };
17433
- NaClDecoder2.prototype.render = function(picture) {
19917
+ SamsungWasmDecoder3.prototype.flush = function() {
17434
19918
  return __awaiter(this, void 0, void 0, function() {
17435
- var firstUint32Array, secondInt32Array, message, resultMessage, resultStatus;
19919
+ var native, flush;
17436
19920
  return __generator(this, function(_a) {
17437
19921
  switch (_a.label) {
17438
19922
  case 0:
17439
- firstUint32Array = new Uint32Array([
17440
- picture.decodeId,
17441
- picture.textureId,
17442
- picture.textureTarget
17443
- ]);
17444
- secondInt32Array = new Int32Array([
17445
- picture.textureSize.width,
17446
- picture.textureSize.height,
17447
- picture.visibleRect.x,
17448
- picture.visibleRect.y,
17449
- picture.visibleRect.width,
17450
- picture.visibleRect.height
17451
- ]);
17452
- message = {
17453
- type: messages_1.JSToNaClMessageType.Render,
17454
- payload: new Uint8Array(__spreadArray(__spreadArray([], __read(new Uint8Array(firstUint32Array.buffer)), false), __read(new Uint8Array(secondInt32Array.buffer)), false)).buffer
17455
- };
17456
- return [4, this.messageSender.sendWithResult(message, messages_1.NaClToJSMessageType.RenderResult)];
19923
+ if (!this.decoderHandle)
19924
+ return [2, videoDecoder_1.ResultStatus.ErrorNoInit];
19925
+ return [4, (0, wasmLoader_1.ensureNativeModule)()];
17457
19926
  case 1:
17458
- resultMessage = _a.sent();
17459
- resultStatus = new Int32Array(resultMessage.payload)[0];
17460
- return [2, resultStatus];
19927
+ native = _a.sent();
19928
+ try {
19929
+ flush = native.cwrap("swd_flush", "number", ["number"]);
19930
+ return [2, flush(this.decoderHandle) === 0 ? videoDecoder_1.ResultStatus.Ok : videoDecoder_1.ResultStatus.ErrorFailed];
19931
+ } catch (_b) {
19932
+ return [2, videoDecoder_1.ResultStatus.ErrorFailed];
19933
+ }
19934
+ return [
19935
+ 2
19936
+ /*return*/
19937
+ ];
17461
19938
  }
17462
19939
  });
17463
19940
  });
17464
19941
  };
17465
- return NaClDecoder2;
19942
+ return SamsungWasmDecoder3;
17466
19943
  }()
17467
19944
  );
17468
- exports.NaClDecoder = NaClDecoder;
17469
- }
17470
- });
17471
-
17472
- // node_modules/@signageos/nacl-decoder/dist/NaClDecoder/videoDecoder.js
17473
- var require_videoDecoder = __commonJS({
17474
- "node_modules/@signageos/nacl-decoder/dist/NaClDecoder/videoDecoder.js"(exports) {
17475
- "use strict";
17476
- Object.defineProperty(exports, "__esModule", { value: true });
17477
- exports.ResultStatus = exports.GLTexture = exports.HWAcceleration = exports.VideoProfile = void 0;
17478
- var VideoProfile;
17479
- (function(VideoProfile2) {
17480
- VideoProfile2[VideoProfile2["H264Baseline"] = 0] = "H264Baseline";
17481
- VideoProfile2[VideoProfile2["H264Main"] = 1] = "H264Main";
17482
- VideoProfile2[VideoProfile2["H264Extended"] = 2] = "H264Extended";
17483
- VideoProfile2[VideoProfile2["H264High"] = 3] = "H264High";
17484
- VideoProfile2[VideoProfile2["H264High10Profile"] = 4] = "H264High10Profile";
17485
- VideoProfile2[VideoProfile2["H264High422Profile"] = 5] = "H264High422Profile";
17486
- VideoProfile2[VideoProfile2["H264High444PredictiveProfile"] = 6] = "H264High444PredictiveProfile";
17487
- VideoProfile2[VideoProfile2["H264ScalableBaseline"] = 7] = "H264ScalableBaseline";
17488
- VideoProfile2[VideoProfile2["H264ScalableHigh"] = 8] = "H264ScalableHigh";
17489
- VideoProfile2[VideoProfile2["H264StereoHigh"] = 9] = "H264StereoHigh";
17490
- VideoProfile2[VideoProfile2["H264MultiviewHigh"] = 10] = "H264MultiviewHigh";
17491
- VideoProfile2[VideoProfile2["VP8Any"] = 11] = "VP8Any";
17492
- VideoProfile2[VideoProfile2["VP9Any"] = 12] = "VP9Any";
17493
- VideoProfile2[VideoProfile2["Max"] = 12] = "Max";
17494
- })(VideoProfile || (exports.VideoProfile = VideoProfile = {}));
17495
- var HWAcceleration;
17496
- (function(HWAcceleration2) {
17497
- HWAcceleration2[HWAcceleration2["Only"] = 0] = "Only";
17498
- HWAcceleration2[HWAcceleration2["WithFallback"] = 1] = "WithFallback";
17499
- HWAcceleration2[HWAcceleration2["None"] = 2] = "None";
17500
- HWAcceleration2[HWAcceleration2["Last"] = 2] = "Last";
17501
- })(HWAcceleration || (exports.HWAcceleration = HWAcceleration = {}));
17502
- var GLTexture;
17503
- (function(GLTexture2) {
17504
- GLTexture2[GLTexture2["Texture2D"] = 3553] = "Texture2D";
17505
- GLTexture2[GLTexture2["TextureRectangleARB"] = 34037] = "TextureRectangleARB";
17506
- GLTexture2[GLTexture2["TextureExternal"] = 36197] = "TextureExternal";
17507
- })(GLTexture || (exports.GLTexture = GLTexture = {}));
17508
- var ResultStatus;
17509
- (function(ResultStatus2) {
17510
- ResultStatus2[ResultStatus2["Ok"] = 0] = "Ok";
17511
- ResultStatus2[ResultStatus2["OkCompletionPending"] = -1] = "OkCompletionPending";
17512
- ResultStatus2[ResultStatus2["ErrorFailed"] = -2] = "ErrorFailed";
17513
- ResultStatus2[ResultStatus2["ErrorAborted"] = -3] = "ErrorAborted";
17514
- ResultStatus2[ResultStatus2["ErrorBadArgument"] = -4] = "ErrorBadArgument";
17515
- ResultStatus2[ResultStatus2["ErrorBadResource"] = -5] = "ErrorBadResource";
17516
- ResultStatus2[ResultStatus2["ErrorNoInit"] = -6] = "ErrorNoInit";
17517
- ResultStatus2[ResultStatus2["ErrorNoAccess"] = -7] = "ErrorNoAccess";
17518
- ResultStatus2[ResultStatus2["ErrorNoMemory"] = -8] = "ErrorNoMemory";
17519
- ResultStatus2[ResultStatus2["ErrorNoSpace"] = -9] = "ErrorNoSpace";
17520
- ResultStatus2[ResultStatus2["ErrorNoQuota"] = -10] = "ErrorNoQuota";
17521
- ResultStatus2[ResultStatus2["ErrorInProgress"] = -11] = "ErrorInProgress";
17522
- ResultStatus2[ResultStatus2["ErrorNotSupported"] = -12] = "ErrorNotSupported";
17523
- ResultStatus2[ResultStatus2["ErrorBlocksMainThread"] = -13] = "ErrorBlocksMainThread";
17524
- })(ResultStatus || (exports.ResultStatus = ResultStatus = {}));
19945
+ exports.SamsungWasmDecoder = SamsungWasmDecoder2;
17525
19946
  }
17526
19947
  });
17527
19948
 
17528
- // node_modules/@signageos/nacl-decoder/dist/index.js
17529
- var require_dist = __commonJS({
17530
- "node_modules/@signageos/nacl-decoder/dist/index.js"(exports) {
19949
+ // node_modules/@signageos/samsung-wasm-decoder/dist/index.js
19950
+ var require_dist2 = __commonJS({
19951
+ "node_modules/@signageos/samsung-wasm-decoder/dist/index.js"(exports) {
17531
19952
  "use strict";
17532
- var __assign = exports && exports.__assign || function() {
17533
- __assign = Object.assign || function(t) {
17534
- for (var s, i = 1, n = arguments.length; i < n; i++) {
17535
- s = arguments[i];
17536
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
17537
- t[p] = s[p];
19953
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
19954
+ function adopt(value) {
19955
+ return value instanceof P ? value : new P(function(resolve) {
19956
+ resolve(value);
19957
+ });
19958
+ }
19959
+ return new (P || (P = Promise))(function(resolve, reject) {
19960
+ function fulfilled(value) {
19961
+ try {
19962
+ step(generator.next(value));
19963
+ } catch (e) {
19964
+ reject(e);
19965
+ }
17538
19966
  }
17539
- return t;
17540
- };
17541
- return __assign.apply(this, arguments);
19967
+ function rejected(value) {
19968
+ try {
19969
+ step(generator["throw"](value));
19970
+ } catch (e) {
19971
+ reject(e);
19972
+ }
19973
+ }
19974
+ function step(result) {
19975
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
19976
+ }
19977
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19978
+ });
19979
+ };
19980
+ var __generator = exports && exports.__generator || function(thisArg, body) {
19981
+ var _ = { label: 0, sent: function() {
19982
+ if (t[0] & 1) throw t[1];
19983
+ return t[1];
19984
+ }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
19985
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
19986
+ return this;
19987
+ }), g;
19988
+ function verb(n) {
19989
+ return function(v) {
19990
+ return step([n, v]);
19991
+ };
19992
+ }
19993
+ function step(op) {
19994
+ if (f) throw new TypeError("Generator is already executing.");
19995
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
19996
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19997
+ if (y = 0, t) op = [op[0] & 2, t.value];
19998
+ switch (op[0]) {
19999
+ case 0:
20000
+ case 1:
20001
+ t = op;
20002
+ break;
20003
+ case 4:
20004
+ _.label++;
20005
+ return { value: op[1], done: false };
20006
+ case 5:
20007
+ _.label++;
20008
+ y = op[1];
20009
+ op = [0];
20010
+ continue;
20011
+ case 7:
20012
+ op = _.ops.pop();
20013
+ _.trys.pop();
20014
+ continue;
20015
+ default:
20016
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
20017
+ _ = 0;
20018
+ continue;
20019
+ }
20020
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
20021
+ _.label = op[1];
20022
+ break;
20023
+ }
20024
+ if (op[0] === 6 && _.label < t[1]) {
20025
+ _.label = t[1];
20026
+ t = op;
20027
+ break;
20028
+ }
20029
+ if (t && _.label < t[2]) {
20030
+ _.label = t[2];
20031
+ _.ops.push(op);
20032
+ break;
20033
+ }
20034
+ if (t[2]) _.ops.pop();
20035
+ _.trys.pop();
20036
+ continue;
20037
+ }
20038
+ op = body.call(thisArg, _);
20039
+ } catch (e) {
20040
+ op = [6, e];
20041
+ y = 0;
20042
+ } finally {
20043
+ f = t = 0;
20044
+ }
20045
+ if (op[0] & 5) throw op[1];
20046
+ return { value: op[0] ? op[1] : void 0, done: true };
20047
+ }
17542
20048
  };
17543
20049
  Object.defineProperty(exports, "__esModule", { value: true });
17544
- exports.VideoProfile = exports.ResultStatus = exports.HWAcceleration = exports.NaClDecoder = void 0;
17545
- exports.isNaClSupported = isNaClSupported2;
17546
- exports.createNaClDecoder = createNaClDecoder2;
17547
- var messageListeners_1 = require_messageListeners();
17548
- var messageReceiver_1 = require_messageReceiver();
17549
- var messageSender_1 = require_messageSender();
17550
- var module_1 = require_module();
17551
- var naclDecoder_1 = require_naclDecoder();
17552
- Object.defineProperty(exports, "NaClDecoder", { enumerable: true, get: function() {
17553
- return naclDecoder_1.NaClDecoder;
17554
- } });
17555
- var videoDecoder_1 = require_videoDecoder();
17556
- Object.defineProperty(exports, "HWAcceleration", { enumerable: true, get: function() {
17557
- return videoDecoder_1.HWAcceleration;
20050
+ exports.SamsungWasmTCPStreamConnection = exports.SamsungWasmTCPStream = exports.SamsungWasmTCPPacketConnection = exports.SamsungWasmTCPPacket = exports.SamsungWasmFrameCollector = exports.SamsungWasmDecoder = exports.ResultStatus = void 0;
20051
+ exports.isSamsungWasmSupported = isSamsungWasmSupported3;
20052
+ exports.createSamsungWasmDecoder = createSamsungWasmDecoder2;
20053
+ exports.createSamsungWasmTCP = createSamsungWasmTCP2;
20054
+ var wasmDecoder_1 = require_wasmDecoder();
20055
+ Object.defineProperty(exports, "SamsungWasmDecoder", { enumerable: true, get: function() {
20056
+ return wasmDecoder_1.SamsungWasmDecoder;
17558
20057
  } });
20058
+ var videoDecoder_1 = require_videoDecoder2();
17559
20059
  Object.defineProperty(exports, "ResultStatus", { enumerable: true, get: function() {
17560
20060
  return videoDecoder_1.ResultStatus;
17561
20061
  } });
17562
- Object.defineProperty(exports, "VideoProfile", { enumerable: true, get: function() {
17563
- return videoDecoder_1.VideoProfile;
20062
+ var wasmLoader_1 = require_wasmLoader();
20063
+ var wasmTCP_1 = require_wasmTCP();
20064
+ Object.defineProperty(exports, "SamsungWasmFrameCollector", { enumerable: true, get: function() {
20065
+ return wasmTCP_1.SamsungWasmFrameCollector;
17564
20066
  } });
17565
- var DEFAULT_OPTIONS = {
17566
- timeoutMs: 1e3
17567
- };
17568
- function isNaClSupported2() {
17569
- return (
17570
- // Keyed by mime type supported in older versions of Chrome that uses NaCl.
17571
- navigator.mimeTypes["application/x-nacl"] !== void 0
17572
- );
20067
+ Object.defineProperty(exports, "SamsungWasmTCPPacket", { enumerable: true, get: function() {
20068
+ return wasmTCP_1.SamsungWasmTCPPacket;
20069
+ } });
20070
+ Object.defineProperty(exports, "SamsungWasmTCPPacketConnection", { enumerable: true, get: function() {
20071
+ return wasmTCP_1.SamsungWasmTCPPacketConnection;
20072
+ } });
20073
+ Object.defineProperty(exports, "SamsungWasmTCPStream", { enumerable: true, get: function() {
20074
+ return wasmTCP_1.SamsungWasmTCPStream;
20075
+ } });
20076
+ Object.defineProperty(exports, "SamsungWasmTCPStreamConnection", { enumerable: true, get: function() {
20077
+ return wasmTCP_1.SamsungWasmTCPStreamConnection;
20078
+ } });
20079
+ function isSamsungWasmSupported3() {
20080
+ var _a;
20081
+ return typeof window.WebAssembly !== "undefined" && typeof ((_a = window.tizentvwasm) === null || _a === void 0 ? void 0 : _a.ElementaryMediaStreamSource) !== "undefined";
17573
20082
  }
17574
- function createNaClDecoder2(options) {
17575
- var requiredOptions = __assign(__assign({}, DEFAULT_OPTIONS), options);
17576
- if (!isNaClSupported2()) {
17577
- throw new Error("NaCl is not supported in this browser.");
17578
- }
17579
- var messageListeners = (0, messageListeners_1.createMessageListeners)();
17580
- var messageReceiver = new messageReceiver_1.MessageReceiver(messageListeners);
17581
- var naclModuleEl = (0, module_1.createNaClModule)(messageReceiver.handleMessage.bind(messageReceiver));
17582
- var messageSender = new messageSender_1.MessageSender(naclModuleEl, messageListeners, requiredOptions.timeoutMs);
17583
- return new naclDecoder_1.NaClDecoder(messageSender, naclModuleEl);
20083
+ function createSamsungWasmDecoder2(options) {
20084
+ return __awaiter(this, void 0, void 0, function() {
20085
+ return __generator(this, function(_a) {
20086
+ switch (_a.label) {
20087
+ case 0:
20088
+ if (!isSamsungWasmSupported3()) {
20089
+ throw new Error("Samsung WASM decoder is not supported in this environment.");
20090
+ }
20091
+ return [4, (0, wasmLoader_1.loadWasmModule)()];
20092
+ case 1:
20093
+ _a.sent();
20094
+ return [2, new wasmDecoder_1.SamsungWasmDecoder(options.videoElementId)];
20095
+ }
20096
+ });
20097
+ });
20098
+ }
20099
+ function createSamsungWasmTCP2() {
20100
+ return __awaiter(this, void 0, void 0, function() {
20101
+ return __generator(this, function(_a) {
20102
+ switch (_a.label) {
20103
+ case 0:
20104
+ if (!isSamsungWasmSupported3()) {
20105
+ throw new Error("Samsung WASM TCP is not supported in this environment.");
20106
+ }
20107
+ return [4, (0, wasmLoader_1.loadWasmModule)()];
20108
+ case 1:
20109
+ _a.sent();
20110
+ return [2, {
20111
+ tcpPacket: new wasmTCP_1.SamsungWasmTCPPacket(),
20112
+ tcpStream: new wasmTCP_1.SamsungWasmTCPStream()
20113
+ }];
20114
+ }
20115
+ });
20116
+ });
17584
20117
  }
17585
20118
  }
17586
20119
  });
@@ -17912,9 +20445,39 @@
17912
20445
  }
17913
20446
  }
17914
20447
 
20448
+ // screen/nacltcp.ts
20449
+ var import_nacl_decoder = __toESM(require_dist());
20450
+ async function initNaClTCP() {
20451
+ if ((0, import_nacl_decoder.isNaClSupported)()) {
20452
+ const { tcpPacket, tcpStream } = (0, import_nacl_decoder.createNaClTCP)();
20453
+ if (!window.naclTCPPacket) {
20454
+ window.naclTCPPacket = tcpPacket;
20455
+ }
20456
+ if (!window.naclTCPStream) {
20457
+ window.naclTCPStream = tcpStream;
20458
+ }
20459
+ }
20460
+ }
20461
+
20462
+ // screen/samsungwasmtcp.ts
20463
+ var import_samsung_wasm_decoder = __toESM(require_dist2());
20464
+ async function initSamsungWasmTCP() {
20465
+ if ((0, import_samsung_wasm_decoder.isSamsungWasmSupported)()) {
20466
+ const { tcpPacket, tcpStream } = await (0, import_samsung_wasm_decoder.createSamsungWasmTCP)();
20467
+ if (!window.samsungWasmTCPStream) {
20468
+ window.samsungWasmTCPStream = tcpStream;
20469
+ }
20470
+ if (!window.samsungWasmTCPPacket) {
20471
+ window.samsungWasmTCPPacket = tcpPacket;
20472
+ }
20473
+ }
20474
+ }
20475
+
17915
20476
  // daemon/plain.ts
17916
- var DAEMON_JS_URL = "supra-client-daemon.js?v=0.0.0-master.322";
20477
+ var DAEMON_JS_URL = "supra-client-daemon.js?v=0.0.0-master.429";
17917
20478
  async function startPlainDaemon() {
20479
+ await initNaClTCP();
20480
+ await initSamsungWasmTCP();
17918
20481
  const fs = await initBrowserFS();
17919
20482
  window.fs = fs;
17920
20483
  process.argv = ["go", DAEMON_JS_URL];
@@ -17924,8 +20487,10 @@
17924
20487
  }
17925
20488
 
17926
20489
  // daemon/wasm.ts
17927
- var DAEMON_WASM_URL = "supra-client-daemon.wasm?v=0.0.0-master.322";
20490
+ var DAEMON_WASM_URL = "supra-client-daemon.wasm?v=0.0.0-master.429";
17928
20491
  async function startWasmDaemon() {
20492
+ await initNaClTCP();
20493
+ await initSamsungWasmTCP();
17929
20494
  await initGoEnvironment();
17930
20495
  await startGoDaemon();
17931
20496
  }
@@ -17943,7 +20508,11 @@
17943
20508
  }
17944
20509
 
17945
20510
  // screen/nacldecoder.ts
17946
- var import_nacl_decoder = __toESM(require_dist());
20511
+ var import_nacl_decoder2 = __toESM(require_dist());
20512
+
20513
+ // screen/samsungwasmdecoder.ts
20514
+ var import_samsung_wasm_decoder2 = __toESM(require_dist2());
20515
+ var import_videoDecoder = __toESM(require_videoDecoder2());
17947
20516
 
17948
20517
  // screen/shared.ts
17949
20518
  var import_querystring = __toESM(require_querystring());