@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.
package/dist/index.cjs CHANGED
@@ -33,6 +33,7 @@ __export(index_exports, {
33
33
  CodecType: () => CodecType,
34
34
  CommandList: () => CommandList,
35
35
  ConnectionState: () => ConnectionState,
36
+ DataType: () => DataType,
36
37
  EaseKind: () => EaseKind,
37
38
  Event: () => Event,
38
39
  FrameHeader: () => FrameHeader,
@@ -47,8 +48,12 @@ __export(index_exports, {
47
48
  SesameConnection: () => SesameConnection,
48
49
  StatusApi: () => StatusApi,
49
50
  WireProtocol: () => WireProtocol,
51
+ buildAudioControlFrame: () => buildAudioControlFrame,
52
+ buildBinaryDataFrame: () => buildBinaryDataFrame,
53
+ buildTransportControlFrame: () => buildTransportControlFrame,
50
54
  getLogger: () => getLogger,
51
55
  log: () => log,
56
+ parseDataFrame: () => parseDataFrame,
52
57
  sesame: () => sesame,
53
58
  setLogger: () => setLogger,
54
59
  waitForEvent: () => waitForEvent
@@ -23102,6 +23107,7 @@ var sesame = $root.sesame = (() => {
23102
23107
  values[valuesById[3] = "DATA_TYPE_AUDIO_STATE"] = 3;
23103
23108
  values[valuesById[4] = "DATA_TYPE_TRANSPORT_CONTROL"] = 4;
23104
23109
  values[valuesById[5] = "DATA_TYPE_AUDIO_CONTROL"] = 5;
23110
+ values[valuesById[6] = "DATA_TYPE_BINARY"] = 6;
23105
23111
  return values;
23106
23112
  }();
23107
23113
  wire.DataFrameData = function() {
@@ -23177,6 +23183,7 @@ var sesame = $root.sesame = (() => {
23177
23183
  case 3:
23178
23184
  case 4:
23179
23185
  case 5:
23186
+ case 6:
23180
23187
  break;
23181
23188
  }
23182
23189
  if (message.trackName != null && message.hasOwnProperty("trackName")) {
@@ -23220,6 +23227,10 @@ var sesame = $root.sesame = (() => {
23220
23227
  case 5:
23221
23228
  message.dataType = 5;
23222
23229
  break;
23230
+ case "DATA_TYPE_BINARY":
23231
+ case 6:
23232
+ message.dataType = 6;
23233
+ break;
23223
23234
  }
23224
23235
  if (object.trackName != null)
23225
23236
  message.trackName = String(object.trackName);
@@ -23963,9 +23974,85 @@ var import_events2 = require("events");
23963
23974
 
23964
23975
  // src/sesame-wire-protocol.ts
23965
23976
  var FrameType = sesame.v1.wire.FrameType;
23977
+ var DataType = sesame.v1.wire.DataType;
23966
23978
  var FrameHeader = sesame.v1.wire.FrameHeader;
23967
23979
  var MediaCodecData = sesame.v1.wire.MediaCodecData;
23968
23980
  var CodecType = sesame.v1.common.CodecType;
23981
+ function parseDataFrame(frame) {
23982
+ if (!frame.valid || !frame.header || !frame.payload) return null;
23983
+ if (frame.header.type !== sesame.v1.wire.FrameType.FRAME_TYPE_DATA) return null;
23984
+ const d = frame.header.data;
23985
+ if (!d) return null;
23986
+ const trackName = d.trackName ?? "";
23987
+ const payload = frame.payload;
23988
+ try {
23989
+ switch (d.dataType) {
23990
+ case sesame.v1.wire.DataType.DATA_TYPE_JSON: {
23991
+ const text = new TextDecoder().decode(payload);
23992
+ return { dataType: "json", trackName, json: JSON.parse(text) };
23993
+ }
23994
+ case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_STATUS:
23995
+ return {
23996
+ dataType: "transport-status",
23997
+ trackName,
23998
+ event: sesame.v1.status.TransportEvent.decode(payload)
23999
+ };
24000
+ case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_STATE:
24001
+ return {
24002
+ dataType: "audio-state",
24003
+ trackName,
24004
+ status: sesame.v1.audio.AudioMixerStatus.decode(payload)
24005
+ };
24006
+ case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL:
24007
+ return {
24008
+ dataType: "transport-control",
24009
+ trackName,
24010
+ request: sesame.v1.sources.TransportControlRequest.decode(payload)
24011
+ };
24012
+ case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL:
24013
+ return {
24014
+ dataType: "audio-control",
24015
+ trackName,
24016
+ request: sesame.v1.audio.AudioControlRequest.decode(payload)
24017
+ };
24018
+ case sesame.v1.wire.DataType.DATA_TYPE_BINARY:
24019
+ return { dataType: "binary", trackName, data: payload };
24020
+ default:
24021
+ return null;
24022
+ }
24023
+ } catch {
24024
+ return null;
24025
+ }
24026
+ }
24027
+ function buildAudioControlFrame(trackName, request) {
24028
+ const payload = sesame.v1.audio.AudioControlRequest.encode(request).finish();
24029
+ return WireProtocol.serialize(
24030
+ {
24031
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
24032
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL, trackName }
24033
+ },
24034
+ payload
24035
+ );
24036
+ }
24037
+ function buildTransportControlFrame(trackName, request) {
24038
+ const payload = sesame.v1.sources.TransportControlRequest.encode(request).finish();
24039
+ return WireProtocol.serialize(
24040
+ {
24041
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
24042
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL, trackName }
24043
+ },
24044
+ payload
24045
+ );
24046
+ }
24047
+ function buildBinaryDataFrame(trackName, payload) {
24048
+ return WireProtocol.serialize(
24049
+ {
24050
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
24051
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_BINARY, trackName }
24052
+ },
24053
+ payload
24054
+ );
24055
+ }
23969
24056
  var PREFIX_SIZE = 4;
23970
24057
  var WireProtocol = class {
23971
24058
  /**
@@ -24447,6 +24534,7 @@ var Event = sesame.v1.rpc.Event;
24447
24534
  CodecType,
24448
24535
  CommandList,
24449
24536
  ConnectionState,
24537
+ DataType,
24450
24538
  EaseKind,
24451
24539
  Event,
24452
24540
  FrameHeader,
@@ -24461,8 +24549,12 @@ var Event = sesame.v1.rpc.Event;
24461
24549
  SesameConnection,
24462
24550
  StatusApi,
24463
24551
  WireProtocol,
24552
+ buildAudioControlFrame,
24553
+ buildBinaryDataFrame,
24554
+ buildTransportControlFrame,
24464
24555
  getLogger,
24465
24556
  log,
24557
+ parseDataFrame,
24466
24558
  sesame,
24467
24559
  setLogger,
24468
24560
  waitForEvent