@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/README.md +422 -137
- package/dist/index.browser.mjs +87 -0
- package/dist/index.browser.mjs.map +2 -2
- package/dist/index.cjs +92 -0
- package/dist/index.cjs.map +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +87 -0
- package/dist/index.mjs.map +2 -2
- package/dist/proto/api.d.ts +2 -1
- package/dist/proto/api.js +7 -0
- package/dist/sesame-wire-protocol.d.ts +81 -0
- package/dist/sesame-wire-protocol.d.ts.map +1 -1
- package/package.json +1 -1
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|