@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.d.ts CHANGED
@@ -21,8 +21,8 @@ export type { CompositorID, ReplayID, AudioMixerID, INodeConfig, IEncoderConfig,
21
21
  export type { CompositorProperty, AudioMixerProperty, SourceProperty, PropertyValueMap, BaseNodeProperties, MeshNodeProperties, TextNodeProperties, VideoBoxNodeProperties, ImageNodeProperties, EffectBaseProperties, EffectRttProperties, EffectTimecodeProperties, EffectClipPlaneProperties, } from './generated/property-types';
22
22
  export { RPCClient, IClientOptions, IProtobufType } from './rpc-client';
23
23
  export { SesameConnection, ConnectionState, IConnectionOptions, MediaPacketCallback, waitForEvent } from './sesame-connection';
24
- export { WireProtocol, FrameType, FrameHeader, CodecType } from './sesame-wire-protocol';
25
- export type { ParsedFrame, IFrameHeader, IMediaCodecData } from './sesame-wire-protocol';
24
+ export { WireProtocol, FrameType, DataType, FrameHeader, CodecType, parseDataFrame, buildAudioControlFrame, buildTransportControlFrame, buildBinaryDataFrame } from './sesame-wire-protocol';
25
+ export type { ParsedFrame, ParsedDataFrame, IFrameHeader, IMediaCodecData } from './sesame-wire-protocol';
26
26
  export { SesameClient, EaseKind } from './sesame-api-client';
27
27
  export { StatusApi } from './status-api';
28
28
  export { RecorderApi } from './recorder-api';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,QAAA,MAAM,OAAO,8BAAwB,CAAC;AACtC,QAAA,MAAM,OAAO,8BAAwB,CAAC;AACtC,QAAA,MAAM,QAAQ,+BAAyB,CAAC;AACxC,QAAA,MAAM,KAAK,4BAAsB,CAAC;AAElC,KAAK,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvC,KAAK,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvC,KAAK,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;AACzC,KAAK,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACzF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,QAAA,MAAM,OAAO,8BAAwB,CAAC;AACtC,QAAA,MAAM,OAAO,8BAAwB,CAAC;AACtC,QAAA,MAAM,QAAQ,+BAAyB,CAAC;AACxC,QAAA,MAAM,KAAK,4BAAsB,CAAC;AAElC,KAAK,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvC,KAAK,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvC,KAAK,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;AACzC,KAAK,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EACzD,cAAc,EAAE,sBAAsB,EAAE,0BAA0B,EAClE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.mjs CHANGED
@@ -23045,6 +23045,7 @@ var sesame = $root.sesame = (() => {
23045
23045
  values[valuesById[3] = "DATA_TYPE_AUDIO_STATE"] = 3;
23046
23046
  values[valuesById[4] = "DATA_TYPE_TRANSPORT_CONTROL"] = 4;
23047
23047
  values[valuesById[5] = "DATA_TYPE_AUDIO_CONTROL"] = 5;
23048
+ values[valuesById[6] = "DATA_TYPE_BINARY"] = 6;
23048
23049
  return values;
23049
23050
  }();
23050
23051
  wire.DataFrameData = function() {
@@ -23120,6 +23121,7 @@ var sesame = $root.sesame = (() => {
23120
23121
  case 3:
23121
23122
  case 4:
23122
23123
  case 5:
23124
+ case 6:
23123
23125
  break;
23124
23126
  }
23125
23127
  if (message.trackName != null && message.hasOwnProperty("trackName")) {
@@ -23163,6 +23165,10 @@ var sesame = $root.sesame = (() => {
23163
23165
  case 5:
23164
23166
  message.dataType = 5;
23165
23167
  break;
23168
+ case "DATA_TYPE_BINARY":
23169
+ case 6:
23170
+ message.dataType = 6;
23171
+ break;
23166
23172
  }
23167
23173
  if (object.trackName != null)
23168
23174
  message.trackName = String(object.trackName);
@@ -23906,9 +23912,85 @@ import { EventEmitter as EventEmitter2 } from "events";
23906
23912
 
23907
23913
  // src/sesame-wire-protocol.ts
23908
23914
  var FrameType = sesame.v1.wire.FrameType;
23915
+ var DataType = sesame.v1.wire.DataType;
23909
23916
  var FrameHeader = sesame.v1.wire.FrameHeader;
23910
23917
  var MediaCodecData = sesame.v1.wire.MediaCodecData;
23911
23918
  var CodecType = sesame.v1.common.CodecType;
23919
+ function parseDataFrame(frame) {
23920
+ if (!frame.valid || !frame.header || !frame.payload) return null;
23921
+ if (frame.header.type !== sesame.v1.wire.FrameType.FRAME_TYPE_DATA) return null;
23922
+ const d = frame.header.data;
23923
+ if (!d) return null;
23924
+ const trackName = d.trackName ?? "";
23925
+ const payload = frame.payload;
23926
+ try {
23927
+ switch (d.dataType) {
23928
+ case sesame.v1.wire.DataType.DATA_TYPE_JSON: {
23929
+ const text = new TextDecoder().decode(payload);
23930
+ return { dataType: "json", trackName, json: JSON.parse(text) };
23931
+ }
23932
+ case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_STATUS:
23933
+ return {
23934
+ dataType: "transport-status",
23935
+ trackName,
23936
+ event: sesame.v1.status.TransportEvent.decode(payload)
23937
+ };
23938
+ case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_STATE:
23939
+ return {
23940
+ dataType: "audio-state",
23941
+ trackName,
23942
+ status: sesame.v1.audio.AudioMixerStatus.decode(payload)
23943
+ };
23944
+ case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL:
23945
+ return {
23946
+ dataType: "transport-control",
23947
+ trackName,
23948
+ request: sesame.v1.sources.TransportControlRequest.decode(payload)
23949
+ };
23950
+ case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL:
23951
+ return {
23952
+ dataType: "audio-control",
23953
+ trackName,
23954
+ request: sesame.v1.audio.AudioControlRequest.decode(payload)
23955
+ };
23956
+ case sesame.v1.wire.DataType.DATA_TYPE_BINARY:
23957
+ return { dataType: "binary", trackName, data: payload };
23958
+ default:
23959
+ return null;
23960
+ }
23961
+ } catch {
23962
+ return null;
23963
+ }
23964
+ }
23965
+ function buildAudioControlFrame(trackName, request) {
23966
+ const payload = sesame.v1.audio.AudioControlRequest.encode(request).finish();
23967
+ return WireProtocol.serialize(
23968
+ {
23969
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
23970
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL, trackName }
23971
+ },
23972
+ payload
23973
+ );
23974
+ }
23975
+ function buildTransportControlFrame(trackName, request) {
23976
+ const payload = sesame.v1.sources.TransportControlRequest.encode(request).finish();
23977
+ return WireProtocol.serialize(
23978
+ {
23979
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
23980
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL, trackName }
23981
+ },
23982
+ payload
23983
+ );
23984
+ }
23985
+ function buildBinaryDataFrame(trackName, payload) {
23986
+ return WireProtocol.serialize(
23987
+ {
23988
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
23989
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_BINARY, trackName }
23990
+ },
23991
+ payload
23992
+ );
23993
+ }
23912
23994
  var PREFIX_SIZE = 4;
23913
23995
  var WireProtocol = class {
23914
23996
  /**
@@ -24389,6 +24471,7 @@ export {
24389
24471
  CodecType,
24390
24472
  CommandList,
24391
24473
  ConnectionState,
24474
+ DataType,
24392
24475
  EaseKind,
24393
24476
  Event,
24394
24477
  FrameHeader,
@@ -24403,8 +24486,12 @@ export {
24403
24486
  SesameConnection,
24404
24487
  StatusApi,
24405
24488
  WireProtocol,
24489
+ buildAudioControlFrame,
24490
+ buildBinaryDataFrame,
24491
+ buildTransportControlFrame,
24406
24492
  getLogger,
24407
24493
  log,
24494
+ parseDataFrame,
24408
24495
  sesame,
24409
24496
  setLogger,
24410
24497
  waitForEvent