@stinkycomputing/sesame-api-client 1.5.0-alpha.1 → 1.5.0-alpha.3

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.
@@ -23440,6 +23440,7 @@ var sesame = $root.sesame = (() => {
23440
23440
  values[valuesById[3] = "DATA_TYPE_AUDIO_STATE"] = 3;
23441
23441
  values[valuesById[4] = "DATA_TYPE_TRANSPORT_CONTROL"] = 4;
23442
23442
  values[valuesById[5] = "DATA_TYPE_AUDIO_CONTROL"] = 5;
23443
+ values[valuesById[6] = "DATA_TYPE_BINARY"] = 6;
23443
23444
  return values;
23444
23445
  }();
23445
23446
  wire.DataFrameData = function() {
@@ -23515,6 +23516,7 @@ var sesame = $root.sesame = (() => {
23515
23516
  case 3:
23516
23517
  case 4:
23517
23518
  case 5:
23519
+ case 6:
23518
23520
  break;
23519
23521
  }
23520
23522
  if (message.trackName != null && message.hasOwnProperty("trackName")) {
@@ -23558,6 +23560,10 @@ var sesame = $root.sesame = (() => {
23558
23560
  case 5:
23559
23561
  message.dataType = 5;
23560
23562
  break;
23563
+ case "DATA_TYPE_BINARY":
23564
+ case 6:
23565
+ message.dataType = 6;
23566
+ break;
23561
23567
  }
23562
23568
  if (object.trackName != null)
23563
23569
  message.trackName = String(object.trackName);
@@ -24301,9 +24307,85 @@ var import_events2 = __toESM(require_events());
24301
24307
 
24302
24308
  // src/sesame-wire-protocol.ts
24303
24309
  var FrameType = sesame.v1.wire.FrameType;
24310
+ var DataType = sesame.v1.wire.DataType;
24304
24311
  var FrameHeader = sesame.v1.wire.FrameHeader;
24305
24312
  var MediaCodecData = sesame.v1.wire.MediaCodecData;
24306
24313
  var CodecType = sesame.v1.common.CodecType;
24314
+ function parseDataFrame(frame) {
24315
+ if (!frame.valid || !frame.header || !frame.payload) return null;
24316
+ if (frame.header.type !== sesame.v1.wire.FrameType.FRAME_TYPE_DATA) return null;
24317
+ const d = frame.header.data;
24318
+ if (!d) return null;
24319
+ const trackName = d.trackName ?? "";
24320
+ const payload = frame.payload;
24321
+ try {
24322
+ switch (d.dataType) {
24323
+ case sesame.v1.wire.DataType.DATA_TYPE_JSON: {
24324
+ const text = new TextDecoder().decode(payload);
24325
+ return { dataType: "json", trackName, json: JSON.parse(text) };
24326
+ }
24327
+ case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_STATUS:
24328
+ return {
24329
+ dataType: "transport-status",
24330
+ trackName,
24331
+ event: sesame.v1.status.TransportEvent.decode(payload)
24332
+ };
24333
+ case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_STATE:
24334
+ return {
24335
+ dataType: "audio-state",
24336
+ trackName,
24337
+ status: sesame.v1.audio.AudioMixerStatus.decode(payload)
24338
+ };
24339
+ case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL:
24340
+ return {
24341
+ dataType: "transport-control",
24342
+ trackName,
24343
+ request: sesame.v1.sources.TransportControlRequest.decode(payload)
24344
+ };
24345
+ case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL:
24346
+ return {
24347
+ dataType: "audio-control",
24348
+ trackName,
24349
+ request: sesame.v1.audio.AudioControlRequest.decode(payload)
24350
+ };
24351
+ case sesame.v1.wire.DataType.DATA_TYPE_BINARY:
24352
+ return { dataType: "binary", trackName, data: payload };
24353
+ default:
24354
+ return null;
24355
+ }
24356
+ } catch {
24357
+ return null;
24358
+ }
24359
+ }
24360
+ function buildAudioControlFrame(trackName, request) {
24361
+ const payload = sesame.v1.audio.AudioControlRequest.encode(request).finish();
24362
+ return WireProtocol.serialize(
24363
+ {
24364
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
24365
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL, trackName }
24366
+ },
24367
+ payload
24368
+ );
24369
+ }
24370
+ function buildTransportControlFrame(trackName, request) {
24371
+ const payload = sesame.v1.sources.TransportControlRequest.encode(request).finish();
24372
+ return WireProtocol.serialize(
24373
+ {
24374
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
24375
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL, trackName }
24376
+ },
24377
+ payload
24378
+ );
24379
+ }
24380
+ function buildBinaryDataFrame(trackName, payload) {
24381
+ return WireProtocol.serialize(
24382
+ {
24383
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
24384
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_BINARY, trackName }
24385
+ },
24386
+ payload
24387
+ );
24388
+ }
24307
24389
  var PREFIX_SIZE = 4;
24308
24390
  var WireProtocol = class {
24309
24391
  /**
@@ -24784,6 +24866,7 @@ export {
24784
24866
  CodecType,
24785
24867
  CommandList,
24786
24868
  ConnectionState,
24869
+ DataType,
24787
24870
  EaseKind,
24788
24871
  Event,
24789
24872
  FrameHeader,
@@ -24798,8 +24881,12 @@ export {
24798
24881
  SesameConnection,
24799
24882
  StatusApi,
24800
24883
  WireProtocol,
24884
+ buildAudioControlFrame,
24885
+ buildBinaryDataFrame,
24886
+ buildTransportControlFrame,
24801
24887
  getLogger,
24802
24888
  log,
24889
+ parseDataFrame,
24803
24890
  sesame,
24804
24891
  setLogger,
24805
24892
  waitForEvent