@stinkycomputing/sesame-api-client 1.5.0-alpha.1 → 1.5.0-alpha.2
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 +69 -0
- package/dist/index.browser.mjs.map +2 -2
- package/dist/index.cjs +73 -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 +69 -0
- package/dist/index.mjs.map +2 -2
- package/dist/sesame-wire-protocol.d.ts +70 -0
- package/dist/sesame-wire-protocol.d.ts.map +1 -1
- package/package.json +1 -1
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,11 @@ __export(index_exports, {
|
|
|
47
48
|
SesameConnection: () => SesameConnection,
|
|
48
49
|
StatusApi: () => StatusApi,
|
|
49
50
|
WireProtocol: () => WireProtocol,
|
|
51
|
+
buildAudioControlFrame: () => buildAudioControlFrame,
|
|
52
|
+
buildTransportControlFrame: () => buildTransportControlFrame,
|
|
50
53
|
getLogger: () => getLogger,
|
|
51
54
|
log: () => log,
|
|
55
|
+
parseDataFrame: () => parseDataFrame,
|
|
52
56
|
sesame: () => sesame,
|
|
53
57
|
setLogger: () => setLogger,
|
|
54
58
|
waitForEvent: () => waitForEvent
|
|
@@ -23963,9 +23967,74 @@ var import_events2 = require("events");
|
|
|
23963
23967
|
|
|
23964
23968
|
// src/sesame-wire-protocol.ts
|
|
23965
23969
|
var FrameType = sesame.v1.wire.FrameType;
|
|
23970
|
+
var DataType = sesame.v1.wire.DataType;
|
|
23966
23971
|
var FrameHeader = sesame.v1.wire.FrameHeader;
|
|
23967
23972
|
var MediaCodecData = sesame.v1.wire.MediaCodecData;
|
|
23968
23973
|
var CodecType = sesame.v1.common.CodecType;
|
|
23974
|
+
function parseDataFrame(frame) {
|
|
23975
|
+
if (!frame.valid || !frame.header || !frame.payload) return null;
|
|
23976
|
+
if (frame.header.type !== sesame.v1.wire.FrameType.FRAME_TYPE_DATA) return null;
|
|
23977
|
+
const d = frame.header.data;
|
|
23978
|
+
if (!d) return null;
|
|
23979
|
+
const trackName = d.trackName ?? "";
|
|
23980
|
+
const payload = frame.payload;
|
|
23981
|
+
try {
|
|
23982
|
+
switch (d.dataType) {
|
|
23983
|
+
case sesame.v1.wire.DataType.DATA_TYPE_JSON: {
|
|
23984
|
+
const text = new TextDecoder().decode(payload);
|
|
23985
|
+
return { dataType: "json", trackName, json: JSON.parse(text) };
|
|
23986
|
+
}
|
|
23987
|
+
case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_STATUS:
|
|
23988
|
+
return {
|
|
23989
|
+
dataType: "transport-status",
|
|
23990
|
+
trackName,
|
|
23991
|
+
event: sesame.v1.status.TransportEvent.decode(payload)
|
|
23992
|
+
};
|
|
23993
|
+
case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_STATE:
|
|
23994
|
+
return {
|
|
23995
|
+
dataType: "audio-state",
|
|
23996
|
+
trackName,
|
|
23997
|
+
status: sesame.v1.audio.AudioMixerStatus.decode(payload)
|
|
23998
|
+
};
|
|
23999
|
+
case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL:
|
|
24000
|
+
return {
|
|
24001
|
+
dataType: "transport-control",
|
|
24002
|
+
trackName,
|
|
24003
|
+
request: sesame.v1.sources.TransportControlRequest.decode(payload)
|
|
24004
|
+
};
|
|
24005
|
+
case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL:
|
|
24006
|
+
return {
|
|
24007
|
+
dataType: "audio-control",
|
|
24008
|
+
trackName,
|
|
24009
|
+
request: sesame.v1.audio.AudioControlRequest.decode(payload)
|
|
24010
|
+
};
|
|
24011
|
+
default:
|
|
24012
|
+
return null;
|
|
24013
|
+
}
|
|
24014
|
+
} catch {
|
|
24015
|
+
return null;
|
|
24016
|
+
}
|
|
24017
|
+
}
|
|
24018
|
+
function buildAudioControlFrame(trackName, request) {
|
|
24019
|
+
const payload = sesame.v1.audio.AudioControlRequest.encode(request).finish();
|
|
24020
|
+
return WireProtocol.serialize(
|
|
24021
|
+
{
|
|
24022
|
+
type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
|
|
24023
|
+
data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL, trackName }
|
|
24024
|
+
},
|
|
24025
|
+
payload
|
|
24026
|
+
);
|
|
24027
|
+
}
|
|
24028
|
+
function buildTransportControlFrame(trackName, request) {
|
|
24029
|
+
const payload = sesame.v1.sources.TransportControlRequest.encode(request).finish();
|
|
24030
|
+
return WireProtocol.serialize(
|
|
24031
|
+
{
|
|
24032
|
+
type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
|
|
24033
|
+
data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL, trackName }
|
|
24034
|
+
},
|
|
24035
|
+
payload
|
|
24036
|
+
);
|
|
24037
|
+
}
|
|
23969
24038
|
var PREFIX_SIZE = 4;
|
|
23970
24039
|
var WireProtocol = class {
|
|
23971
24040
|
/**
|
|
@@ -24447,6 +24516,7 @@ var Event = sesame.v1.rpc.Event;
|
|
|
24447
24516
|
CodecType,
|
|
24448
24517
|
CommandList,
|
|
24449
24518
|
ConnectionState,
|
|
24519
|
+
DataType,
|
|
24450
24520
|
EaseKind,
|
|
24451
24521
|
Event,
|
|
24452
24522
|
FrameHeader,
|
|
@@ -24461,8 +24531,11 @@ var Event = sesame.v1.rpc.Event;
|
|
|
24461
24531
|
SesameConnection,
|
|
24462
24532
|
StatusApi,
|
|
24463
24533
|
WireProtocol,
|
|
24534
|
+
buildAudioControlFrame,
|
|
24535
|
+
buildTransportControlFrame,
|
|
24464
24536
|
getLogger,
|
|
24465
24537
|
log,
|
|
24538
|
+
parseDataFrame,
|
|
24466
24539
|
sesame,
|
|
24467
24540
|
setLogger,
|
|
24468
24541
|
waitForEvent
|