@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.
@@ -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 target source is resolved from the server's routing table.
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":"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"}
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,gBAAgB,CAAC;IAAK,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAA;CAAE,GACtG;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAK,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAA;CAAE,GACtG;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAM,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAA;CAAE,GAC7F;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAM,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAA;CAAE,GAC7F;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAM,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,GACtF;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,CAmDzE;AAMD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,IAAI,CAIlE;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAgC;IAE/C,0EAA0E;IAC1E,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAOnC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAItC,GAAG,IAAI,SAAS,EAAE;CAGnB;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,GAC5C,UAAU,CAOZ;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,GAClD,UAAU,CAOZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,GAC/C,UAAU,CAOZ;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,GAC/C,UAAU,CAOZ;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,GAClB,UAAU,CAMZ;AAID,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,UAAU;IAqB9F;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW;CAqB5C"}
@@ -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 and `id` is ignored, so
1292
- a remote client can only control the output its track is bound to.
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 only; ignored on bound wire tracks) |
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
- The target source ID is NOT included here it is resolved server-side from
2217
- the MetadataRouter binding configured for this source track. This mirrors
2218
- TransportEvent: to build a control message, copy cmd_type and value from
2219
- the desired SourceTransportCommandType. The server will only apply commands
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stinkycomputing/sesame-api-client",
3
- "version": "1.9.0-alpha.1",
3
+ "version": "1.10.0-alpha.3",
4
4
  "description": "Sesame API client library with protobuf definitions and command list helpers",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",