@stinkycomputing/sesame-api-client 1.9.0-alpha.1 → 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/generated/property-types.d.ts +4 -1
- package/dist/generated/property-types.d.ts.map +1 -1
- package/dist/index.browser.mjs +664 -7
- package/dist/index.browser.mjs.map +2 -2
- package/dist/index.cjs +666 -7
- 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 +664 -7
- package/dist/index.mjs.map +2 -2
- package/dist/proto/api.d.ts +362 -5
- package/dist/proto/api.js +1026 -9
- package/dist/sesame-wire-protocol.d.ts +47 -1
- package/dist/sesame-wire-protocol.d.ts.map +1 -1
- package/docs/protocol-reference.md +77 -9
- package/package.json +1 -1
|
@@ -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,17 +133,43 @@ 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);
|
|
124
146
|
* ```
|
|
125
147
|
*/
|
|
126
148
|
export declare function buildTransportControlFrame(trackName: string, request: sesame.v1.sources.ITransportControlRequest): Uint8Array;
|
|
149
|
+
/**
|
|
150
|
+
* Build a ready-to-send wire frame carrying a `SourceControlRequest`.
|
|
151
|
+
*
|
|
152
|
+
* Send this over a WebSocket or MoQ source connection to set video processor
|
|
153
|
+
* parameters (color correction, chroma key, blur), reset processors to their
|
|
154
|
+
* defaults, or set the audio level of the source the track is bound to on the
|
|
155
|
+
* server. Values in one request are applied together on the same engine tick.
|
|
156
|
+
* Current values arrive in `SourceStatus.videoProcessors` on the
|
|
157
|
+
* `sesame.source.state.v1` track; parameter ids per processor type are
|
|
158
|
+
* exported as `VIDEO_PROCESSOR_PARAM_IDS` by sesame-interop.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```ts
|
|
162
|
+
* const bytes = buildSourceControlFrame('my-control-track', {
|
|
163
|
+
* videoProcessors: [{ processorId: 'cc', params: [{ id: 2, floatValue: 1.2 }] }],
|
|
164
|
+
* });
|
|
165
|
+
* ws.send(bytes);
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
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;
|
|
127
173
|
/**
|
|
128
174
|
* Build a ready-to-send wire frame carrying raw binary data.
|
|
129
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
|
|
|
@@ -1813,9 +1814,22 @@ Video preprocessing step type.
|
|
|
1813
1814
|
| Value | Name | Description |
|
|
1814
1815
|
|-------|------|-------------|
|
|
1815
1816
|
| 0 | `PREPROCESS_STEP_UNSPECIFIED` | Unspecified (invalid) |
|
|
1816
|
-
| 1 | `PREPROCESS_STEP_VIDEO_SCOPES` | Video scopes/waveform |
|
|
1817
1817
|
| 2 | `PREPROCESS_STEP_CHROMA_KEY` | Chroma key |
|
|
1818
1818
|
| 3 | `PREPROCESS_STEP_BLUR` | Blur effect |
|
|
1819
|
+
| 4 | `PREPROCESS_STEP_COLOR_CORRECT` | Color correction (exposure, contrast, saturation, hue, lift/gamma/gain) |
|
|
1820
|
+
|
|
1821
|
+
|
|
1822
|
+
### ScopeMode
|
|
1823
|
+
|
|
1824
|
+
What a scope source draws.
|
|
1825
|
+
|
|
1826
|
+
| Value | Name | Description |
|
|
1827
|
+
|-------|------|-------------|
|
|
1828
|
+
| 0 | `SCOPE_MODE_UNSPECIFIED` | Unset; the server draws a waveform |
|
|
1829
|
+
| 1 | `SCOPE_MODE_WAVEFORM` | BT.709 luma waveform of the compositor output |
|
|
1830
|
+
| 2 | `SCOPE_MODE_RGB_PARADE` | RGB parade waveform of the compositor output |
|
|
1831
|
+
| 3 | `SCOPE_MODE_VECTORSCOPE` | BT.709 Cb/Cr vectorscope of the compositor output |
|
|
1832
|
+
| 4 | `SCOPE_MODE_AUDIO_PHASE` | Stereo phase (goniometer) of the audio mix |
|
|
1819
1833
|
|
|
1820
1834
|
|
|
1821
1835
|
### SignalGeneratorAudioMode
|
|
@@ -1919,6 +1933,7 @@ Type of video/audio source.
|
|
|
1919
1933
|
| 8 | `SOURCE_TYPE_SRT_STREAM` | SRT stream |
|
|
1920
1934
|
| 9 | `SOURCE_TYPE_WEBSOCKET` | WebSocket stream |
|
|
1921
1935
|
| 10 | `SOURCE_TYPE_MOQ` | Media over QUIC stream |
|
|
1936
|
+
| 11 | `SOURCE_TYPE_SCOPE` | Video or audio scope rendered from a compositor or audio mixer |
|
|
1922
1937
|
|
|
1923
1938
|
|
|
1924
1939
|
### BrowserSourceConfig
|
|
@@ -2017,6 +2032,21 @@ RTT (Render-to-Texture) source configuration.
|
|
|
2017
2032
|
| `codec` | sesame.v1.common.CodecType | Preferred hardware decoder codec |
|
|
2018
2033
|
|
|
2019
2034
|
|
|
2035
|
+
### ScopeSourceConfig
|
|
2036
|
+
|
|
2037
|
+
Scope source configuration. Video modes read compositor_id, the audio
|
|
2038
|
+
phase mode reads audio_mix. The scope is drawn into the source texture
|
|
2039
|
+
in the same frame its input is produced, so downstream compositors see
|
|
2040
|
+
no added latency.
|
|
2041
|
+
|
|
2042
|
+
|
|
2043
|
+
| Field | Type | Description |
|
|
2044
|
+
|-------|------|-------------|
|
|
2045
|
+
| `compositor_id` | string | Compositor whose output is analysed (video modes) |
|
|
2046
|
+
| `audio_mix` | string | Audio mixer ID, or "<mixer_id>/<output_id>" (audio modes) |
|
|
2047
|
+
| `mode` | ScopeMode | What to draw |
|
|
2048
|
+
|
|
2049
|
+
|
|
2020
2050
|
### SignalGeneratorSourceConfig
|
|
2021
2051
|
|
|
2022
2052
|
Signal generator source configuration.
|
|
@@ -2080,6 +2110,29 @@ Defines how a source is created and configured.
|
|
|
2080
2110
|
| `srt_stream` | SrtSourceConfig | SOURCE_TYPE_SRT_STREAM |
|
|
2081
2111
|
| `websocket` | WebsocketSourceConfig | SOURCE_TYPE_WEBSOCKET |
|
|
2082
2112
|
| `moq` | MoqSourceConfig | SOURCE_TYPE_MOQ |
|
|
2113
|
+
| `scope` | ScopeSourceConfig | SOURCE_TYPE_SCOPE |
|
|
2114
|
+
|
|
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` |
|
|
2083
2136
|
|
|
2084
2137
|
|
|
2085
2138
|
### SourceMetadataEvent
|
|
@@ -2142,6 +2195,7 @@ Source status information.
|
|
|
2142
2195
|
| `decode_timing` | sesame.v1.status.FrameTiming | Decode timing stats |
|
|
2143
2196
|
| `video_buf_avg` | double | Average video buffer level |
|
|
2144
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 |
|
|
2145
2199
|
|
|
2146
2200
|
|
|
2147
2201
|
### SourceTransportCommand
|
|
@@ -2213,17 +2267,17 @@ between items inside the playlist.
|
|
|
2213
2267
|
|
|
2214
2268
|
Payload for DATA_TYPE_TRANSPORT_CONTROL frames (transport → server).
|
|
2215
2269
|
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
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.
|
|
2221
2274
|
|
|
2222
2275
|
|
|
2223
2276
|
| Field | Type | Description |
|
|
2224
2277
|
|-------|------|-------------|
|
|
2225
2278
|
| `cmd_type` | SourceTransportCommandType | |
|
|
2226
2279
|
| `value` | sesame.v1.common.PropValue | Optional; semantics depend on cmd_type |
|
|
2280
|
+
| `source_id` | string | Target source |
|
|
2227
2281
|
|
|
2228
2282
|
|
|
2229
2283
|
### VideoProcessor
|
|
@@ -2238,6 +2292,17 @@ Video processor instance configuration.
|
|
|
2238
2292
|
| `params` | repeated VideoProcessorParam | Processor parameters |
|
|
2239
2293
|
|
|
2240
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
|
+
|
|
2241
2306
|
### VideoProcessorParam
|
|
2242
2307
|
|
|
2243
2308
|
Video processor parameter (mirrors AudioPluginParam).
|
|
@@ -2551,6 +2616,8 @@ type, or raw UTF-8 JSON for DATA_TYPE_JSON.
|
|
|
2551
2616
|
| 7 | `DATA_TYPE_OUTPUT_STATUS` | payload: sesame.v1.outputs.OutputStatus (output → transport) |
|
|
2552
2617
|
| 8 | `DATA_TYPE_OUTPUT_CONTROL` | payload: sesame.v1.outputs.OutputControlRequest (transport → output) |
|
|
2553
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) |
|
|
2554
2621
|
|
|
2555
2622
|
|
|
2556
2623
|
### FrameType
|
|
@@ -2767,6 +2834,7 @@ Address format: `processor_id` for preprocessor parameters.
|
|
|
2767
2834
|
|----------|------|-------------|
|
|
2768
2835
|
| `audio_level` | float | Source audio level |
|
|
2769
2836
|
| `<param_id>` | float | Preprocessor parameter (numeric ID as string) |
|
|
2837
|
+
| `reset` | bool | Restore every parameter of the addressed preprocessor to its default |
|
|
2770
2838
|
|
|
2771
2839
|
|
|
2772
2840
|
<!-- Hand-maintained sections - appended to generated protocol-reference.md -->
|
package/package.json
CHANGED