@stinkycomputing/sesame-api-client 1.10.0-alpha.2 → 1.10.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 +8 -2
- package/dist/index.browser.mjs +60 -0
- package/dist/index.browser.mjs.map +2 -2
- package/dist/index.cjs +61 -0
- package/dist/index.cjs.map +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +60 -0
- package/dist/index.mjs.map +2 -2
- package/dist/proto/api.d.ts +6 -0
- package/dist/proto/api.js +23 -0
- package/dist/sesame-wire-protocol.d.ts +27 -1
- package/dist/sesame-wire-protocol.d.ts.map +1 -1
- package/docs/protocol-reference.md +47 -8
- package/package.json +1 -1
package/dist/proto/api.d.ts
CHANGED
|
@@ -6690,6 +6690,9 @@ export namespace sesame {
|
|
|
6690
6690
|
|
|
6691
6691
|
/** TransportControlRequest value */
|
|
6692
6692
|
value?: (sesame.v1.common.IPropValue|null);
|
|
6693
|
+
|
|
6694
|
+
/** TransportControlRequest sourceId */
|
|
6695
|
+
sourceId?: (string|null);
|
|
6693
6696
|
}
|
|
6694
6697
|
|
|
6695
6698
|
/** Represents a TransportControlRequest. */
|
|
@@ -6707,6 +6710,9 @@ export namespace sesame {
|
|
|
6707
6710
|
/** TransportControlRequest value. */
|
|
6708
6711
|
public value?: (sesame.v1.common.IPropValue|null);
|
|
6709
6712
|
|
|
6713
|
+
/** TransportControlRequest sourceId. */
|
|
6714
|
+
public sourceId: string;
|
|
6715
|
+
|
|
6710
6716
|
/**
|
|
6711
6717
|
* Creates a new TransportControlRequest instance using the specified properties.
|
|
6712
6718
|
* @param [properties] Properties to set
|
package/dist/proto/api.js
CHANGED
|
@@ -18643,6 +18643,7 @@ export const sesame = $root.sesame = (() => {
|
|
|
18643
18643
|
* @interface ITransportControlRequest
|
|
18644
18644
|
* @property {sesame.v1.sources.SourceTransportCommandType|null} [cmdType] TransportControlRequest cmdType
|
|
18645
18645
|
* @property {sesame.v1.common.IPropValue|null} [value] TransportControlRequest value
|
|
18646
|
+
* @property {string|null} [sourceId] TransportControlRequest sourceId
|
|
18646
18647
|
*/
|
|
18647
18648
|
|
|
18648
18649
|
/**
|
|
@@ -18676,6 +18677,14 @@ export const sesame = $root.sesame = (() => {
|
|
|
18676
18677
|
*/
|
|
18677
18678
|
TransportControlRequest.prototype.value = null;
|
|
18678
18679
|
|
|
18680
|
+
/**
|
|
18681
|
+
* TransportControlRequest sourceId.
|
|
18682
|
+
* @member {string} sourceId
|
|
18683
|
+
* @memberof sesame.v1.sources.TransportControlRequest
|
|
18684
|
+
* @instance
|
|
18685
|
+
*/
|
|
18686
|
+
TransportControlRequest.prototype.sourceId = "";
|
|
18687
|
+
|
|
18679
18688
|
/**
|
|
18680
18689
|
* Creates a new TransportControlRequest instance using the specified properties.
|
|
18681
18690
|
* @function create
|
|
@@ -18704,6 +18713,8 @@ export const sesame = $root.sesame = (() => {
|
|
|
18704
18713
|
writer.uint32(/* id 1, wireType 0 =*/8).int32(message.cmdType);
|
|
18705
18714
|
if (message.value != null && Object.hasOwnProperty.call(message, "value"))
|
|
18706
18715
|
$root.sesame.v1.common.PropValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
|
|
18716
|
+
if (message.sourceId != null && Object.hasOwnProperty.call(message, "sourceId"))
|
|
18717
|
+
writer.uint32(/* id 3, wireType 2 =*/26).string(message.sourceId);
|
|
18707
18718
|
return writer;
|
|
18708
18719
|
};
|
|
18709
18720
|
|
|
@@ -18748,6 +18759,10 @@ export const sesame = $root.sesame = (() => {
|
|
|
18748
18759
|
message.value = $root.sesame.v1.common.PropValue.decode(reader, reader.uint32());
|
|
18749
18760
|
break;
|
|
18750
18761
|
}
|
|
18762
|
+
case 3: {
|
|
18763
|
+
message.sourceId = reader.string();
|
|
18764
|
+
break;
|
|
18765
|
+
}
|
|
18751
18766
|
default:
|
|
18752
18767
|
reader.skipType(tag & 7);
|
|
18753
18768
|
break;
|
|
@@ -18811,6 +18826,9 @@ export const sesame = $root.sesame = (() => {
|
|
|
18811
18826
|
if (error)
|
|
18812
18827
|
return "value." + error;
|
|
18813
18828
|
}
|
|
18829
|
+
if (message.sourceId != null && message.hasOwnProperty("sourceId"))
|
|
18830
|
+
if (!$util.isString(message.sourceId))
|
|
18831
|
+
return "sourceId: string expected";
|
|
18814
18832
|
return null;
|
|
18815
18833
|
};
|
|
18816
18834
|
|
|
@@ -18907,6 +18925,8 @@ export const sesame = $root.sesame = (() => {
|
|
|
18907
18925
|
throw TypeError(".sesame.v1.sources.TransportControlRequest.value: object expected");
|
|
18908
18926
|
message.value = $root.sesame.v1.common.PropValue.fromObject(object.value);
|
|
18909
18927
|
}
|
|
18928
|
+
if (object.sourceId != null)
|
|
18929
|
+
message.sourceId = String(object.sourceId);
|
|
18910
18930
|
return message;
|
|
18911
18931
|
};
|
|
18912
18932
|
|
|
@@ -18926,11 +18946,14 @@ export const sesame = $root.sesame = (() => {
|
|
|
18926
18946
|
if (options.defaults) {
|
|
18927
18947
|
object.cmdType = options.enums === String ? "SOURCE_TRANSPORT_CMD_UNSPECIFIED" : 0;
|
|
18928
18948
|
object.value = null;
|
|
18949
|
+
object.sourceId = "";
|
|
18929
18950
|
}
|
|
18930
18951
|
if (message.cmdType != null && message.hasOwnProperty("cmdType"))
|
|
18931
18952
|
object.cmdType = options.enums === String ? $root.sesame.v1.sources.SourceTransportCommandType[message.cmdType] === undefined ? message.cmdType : $root.sesame.v1.sources.SourceTransportCommandType[message.cmdType] : message.cmdType;
|
|
18932
18953
|
if (message.value != null && message.hasOwnProperty("value"))
|
|
18933
18954
|
object.value = $root.sesame.v1.common.PropValue.toObject(message.value, options);
|
|
18955
|
+
if (message.sourceId != null && message.hasOwnProperty("sourceId"))
|
|
18956
|
+
object.sourceId = message.sourceId;
|
|
18934
18957
|
return object;
|
|
18935
18958
|
};
|
|
18936
18959
|
|
|
@@ -43,6 +43,26 @@ export type ParsedDataFrame = {
|
|
|
43
43
|
dataType: 'audio-control';
|
|
44
44
|
trackName: string;
|
|
45
45
|
request: sesame.v1.audio.AudioControlRequest;
|
|
46
|
+
} | {
|
|
47
|
+
dataType: 'output-control';
|
|
48
|
+
trackName: string;
|
|
49
|
+
request: sesame.v1.outputs.OutputControlRequest;
|
|
50
|
+
} | {
|
|
51
|
+
dataType: 'source-control';
|
|
52
|
+
trackName: string;
|
|
53
|
+
request: sesame.v1.sources.SourceControlRequest;
|
|
54
|
+
} | {
|
|
55
|
+
dataType: 'output-status';
|
|
56
|
+
trackName: string;
|
|
57
|
+
status: sesame.v1.outputs.OutputStatus;
|
|
58
|
+
} | {
|
|
59
|
+
dataType: 'source-status';
|
|
60
|
+
trackName: string;
|
|
61
|
+
status: sesame.v1.sources.SourceStatus;
|
|
62
|
+
} | {
|
|
63
|
+
dataType: 'engine-status';
|
|
64
|
+
trackName: string;
|
|
65
|
+
status: sesame.v1.status.Status;
|
|
46
66
|
} | {
|
|
47
67
|
dataType: 'binary';
|
|
48
68
|
trackName: string;
|
|
@@ -113,11 +133,13 @@ export declare function buildAudioControlFrame(trackName: string, request: sesam
|
|
|
113
133
|
* Build a ready-to-send wire frame carrying a `TransportControlRequest`.
|
|
114
134
|
*
|
|
115
135
|
* Send this over a WebSocket source connection to queue a playback command
|
|
116
|
-
* on the server. The
|
|
136
|
+
* on the server. The track must be bound to the reserved target `sources`
|
|
137
|
+
* and the request names the source in `sourceId`.
|
|
117
138
|
*
|
|
118
139
|
* @example
|
|
119
140
|
* ```ts
|
|
120
141
|
* const bytes = buildTransportControlFrame('my-control-track', {
|
|
142
|
+
* sourceId: 'file-1',
|
|
121
143
|
* cmdType: sesame.v1.sources.SourceTransportCommandType.SOURCE_TRANSPORT_CMD_PLAY,
|
|
122
144
|
* });
|
|
123
145
|
* ws.send(bytes);
|
|
@@ -144,6 +166,10 @@ export declare function buildTransportControlFrame(trackName: string, request: s
|
|
|
144
166
|
* ```
|
|
145
167
|
*/
|
|
146
168
|
export declare function buildSourceControlFrame(trackName: string, request: sesame.v1.sources.ISourceControlRequest): Uint8Array;
|
|
169
|
+
/**
|
|
170
|
+
* Build a DATA_TYPE_OUTPUT_CONTROL frame: start or stop the output named by `request.id`.
|
|
171
|
+
*/
|
|
172
|
+
export declare function buildOutputControlFrame(trackName: string, request: sesame.v1.outputs.IOutputControlRequest): Uint8Array;
|
|
147
173
|
/**
|
|
148
174
|
* Build a ready-to-send wire frame carrying raw binary data.
|
|
149
175
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sesame-wire-protocol.d.ts","sourceRoot":"","sources":["../src/sesame-wire-protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,eAAO,MAAM,SAAS,iCAA2B,CAAC;AAClD,eAAO,MAAM,QAAQ,gCAA0B,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;AACvD,eAAO,MAAM,WAAW,mCAA6B,CAAC;AACtD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;AAC7D,eAAO,MAAM,cAAc,sCAAgC,CAAC;AAC5D,eAAO,MAAM,SAAS,mCAA6B,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;AACzD,eAAO,MAAM,QAAQ,oCAA8B,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAMD,+EAA+E;AAC/E,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAe,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACpE;IAAE,QAAQ,EAAE,kBAAkB,CAAC;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAA;CAAE,GAC7F;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAQ,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAA;CAAE,GAC/F;IAAE,QAAQ,EAAE,mBAAmB,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAA;CAAE,GACzG;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAM,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAA;CAAE,GACnG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAa,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"sesame-wire-protocol.d.ts","sourceRoot":"","sources":["../src/sesame-wire-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1288,13 +1288,14 @@ Request to add a new output.
|
|
|
1288
1288
|
Runtime start/stop of an output stream. Only valid for SRT outputs configured
|
|
1289
1289
|
with SRT_STREAM_CONTROL_MANUAL; rejected otherwise.
|
|
1290
1290
|
When received over the wire protocol (DATA_TYPE_OUTPUT_CONTROL) the target
|
|
1291
|
-
output is resolved from the track's metadata binding
|
|
1292
|
-
|
|
1291
|
+
output is resolved from the track's metadata binding: a track bound to one
|
|
1292
|
+
output can only control that output and `id` is ignored; a track bound to
|
|
1293
|
+
the reserved target `outputs` controls the output named in `id`.
|
|
1293
1294
|
|
|
1294
1295
|
|
|
1295
1296
|
| Field | Type | Description |
|
|
1296
1297
|
|-------|------|-------------|
|
|
1297
|
-
| `id` | string | Output ID (command API
|
|
1298
|
+
| `id` | string | Output ID (command API, and wire tracks bound to the reserved target `outputs`) |
|
|
1298
1299
|
| `action` | OutputControlAction | Action to perform |
|
|
1299
1300
|
|
|
1300
1301
|
|
|
@@ -1815,6 +1816,7 @@ Video preprocessing step type.
|
|
|
1815
1816
|
| 0 | `PREPROCESS_STEP_UNSPECIFIED` | Unspecified (invalid) |
|
|
1816
1817
|
| 2 | `PREPROCESS_STEP_CHROMA_KEY` | Chroma key |
|
|
1817
1818
|
| 3 | `PREPROCESS_STEP_BLUR` | Blur effect |
|
|
1819
|
+
| 4 | `PREPROCESS_STEP_COLOR_CORRECT` | Color correction (exposure, contrast, saturation, hue, lift/gamma/gain) |
|
|
1818
1820
|
|
|
1819
1821
|
|
|
1820
1822
|
### ScopeMode
|
|
@@ -2111,6 +2113,28 @@ Defines how a source is created and configured.
|
|
|
2111
2113
|
| `scope` | ScopeSourceConfig | SOURCE_TYPE_SCOPE |
|
|
2112
2114
|
|
|
2113
2115
|
|
|
2116
|
+
### SourceControlRequest
|
|
2117
|
+
|
|
2118
|
+
Payload for DATA_TYPE_SOURCE_CONTROL frames (transport → source).
|
|
2119
|
+
|
|
2120
|
+
The target source is resolved server-side from the MetadataRouter binding
|
|
2121
|
+
configured for this source track. A track bound to one source can only
|
|
2122
|
+
control that source and `source_id` is ignored. A track bound to the
|
|
2123
|
+
reserved target `sources` controls any source and must name it in
|
|
2124
|
+
`source_id`. Mirrors SourceStatus.video_processors: take the status, copy
|
|
2125
|
+
the processor id and the parameter ids you want to change, and set the new
|
|
2126
|
+
values. Updates are queued as property sets and applied together on the
|
|
2127
|
+
next engine tick.
|
|
2128
|
+
|
|
2129
|
+
|
|
2130
|
+
| Field | Type | Description |
|
|
2131
|
+
|-------|------|-------------|
|
|
2132
|
+
| `video_processors` | repeated VideoProcessorControlRequest | Video processor parameter updates |
|
|
2133
|
+
| `audio_level` | optional float | New source audio level (0.0-1.0) |
|
|
2134
|
+
| `reset_processors` | repeated string | Video processor instance IDs to reset to their defaults (applied before video_processors) |
|
|
2135
|
+
| `source_id` | string | Target source; used only when the track is bound to the reserved target `sources` |
|
|
2136
|
+
|
|
2137
|
+
|
|
2114
2138
|
### SourceMetadataEvent
|
|
2115
2139
|
|
|
2116
2140
|
Source metadata transport event notification.
|
|
@@ -2171,6 +2195,7 @@ Source status information.
|
|
|
2171
2195
|
| `decode_timing` | sesame.v1.status.FrameTiming | Decode timing stats |
|
|
2172
2196
|
| `video_buf_avg` | double | Average video buffer level |
|
|
2173
2197
|
| `srt_stats` | optional sesame.v1.status.SRTReceiveStatistics | SRT stats (if SRT source) |
|
|
2198
|
+
| `video_processors` | repeated VideoProcessor | Video processors with their current parameter values |
|
|
2174
2199
|
|
|
2175
2200
|
|
|
2176
2201
|
### SourceTransportCommand
|
|
@@ -2242,17 +2267,17 @@ between items inside the playlist.
|
|
|
2242
2267
|
|
|
2243
2268
|
Payload for DATA_TYPE_TRANSPORT_CONTROL frames (transport → server).
|
|
2244
2269
|
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
to the source the track is bound to; it cannot control arbitrary sources.
|
|
2270
|
+
Transport control tracks are bound to the reserved target `sources`, so one
|
|
2271
|
+
track reaches every transportable source, including sources created at
|
|
2272
|
+
runtime. The request names the source in `source_id`; commands for a source
|
|
2273
|
+
that does not exist or is not transportable are dropped.
|
|
2250
2274
|
|
|
2251
2275
|
|
|
2252
2276
|
| Field | Type | Description |
|
|
2253
2277
|
|-------|------|-------------|
|
|
2254
2278
|
| `cmd_type` | SourceTransportCommandType | |
|
|
2255
2279
|
| `value` | sesame.v1.common.PropValue | Optional; semantics depend on cmd_type |
|
|
2280
|
+
| `source_id` | string | Target source |
|
|
2256
2281
|
|
|
2257
2282
|
|
|
2258
2283
|
### VideoProcessor
|
|
@@ -2267,6 +2292,17 @@ Video processor instance configuration.
|
|
|
2267
2292
|
| `params` | repeated VideoProcessorParam | Processor parameters |
|
|
2268
2293
|
|
|
2269
2294
|
|
|
2295
|
+
### VideoProcessorControlRequest
|
|
2296
|
+
|
|
2297
|
+
Parameter updates for one video processor instance on a source.
|
|
2298
|
+
|
|
2299
|
+
|
|
2300
|
+
| Field | Type | Description |
|
|
2301
|
+
|-------|------|-------------|
|
|
2302
|
+
| `processor_id` | string | Video processor instance ID (VideoProcessor.id) |
|
|
2303
|
+
| `params` | repeated VideoProcessorParam | Parameters to set; omitted parameters are left unchanged |
|
|
2304
|
+
|
|
2305
|
+
|
|
2270
2306
|
### VideoProcessorParam
|
|
2271
2307
|
|
|
2272
2308
|
Video processor parameter (mirrors AudioPluginParam).
|
|
@@ -2580,6 +2616,8 @@ type, or raw UTF-8 JSON for DATA_TYPE_JSON.
|
|
|
2580
2616
|
| 7 | `DATA_TYPE_OUTPUT_STATUS` | payload: sesame.v1.outputs.OutputStatus (output → transport) |
|
|
2581
2617
|
| 8 | `DATA_TYPE_OUTPUT_CONTROL` | payload: sesame.v1.outputs.OutputControlRequest (transport → output) |
|
|
2582
2618
|
| 9 | `DATA_TYPE_ENGINE_STATUS` | payload: sesame.v1.status.Status (engine → transport; full monitor status) |
|
|
2619
|
+
| 10 | `DATA_TYPE_SOURCE_CONTROL` | payload: sesame.v1.sources.SourceControlRequest (transport → source) |
|
|
2620
|
+
| 11 | `DATA_TYPE_SOURCE_STATUS` | payload: sesame.v1.sources.SourceStatus (source → transport) |
|
|
2583
2621
|
|
|
2584
2622
|
|
|
2585
2623
|
### FrameType
|
|
@@ -2796,6 +2834,7 @@ Address format: `processor_id` for preprocessor parameters.
|
|
|
2796
2834
|
|----------|------|-------------|
|
|
2797
2835
|
| `audio_level` | float | Source audio level |
|
|
2798
2836
|
| `<param_id>` | float | Preprocessor parameter (numeric ID as string) |
|
|
2837
|
+
| `reset` | bool | Restore every parameter of the addressed preprocessor to its default |
|
|
2799
2838
|
|
|
2800
2839
|
|
|
2801
2840
|
<!-- Hand-maintained sections - appended to generated protocol-reference.md -->
|
package/package.json
CHANGED