@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.
@@ -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 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);
@@ -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":"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"}
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 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
 
@@ -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
- The target source ID is NOT included here it is resolved server-side from
2246
- the MetadataRouter binding configured for this source track. This mirrors
2247
- TransportEvent: to build a control message, copy cmd_type and value from
2248
- the desired SourceTransportCommandType. The server will only apply commands
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stinkycomputing/sesame-api-client",
3
- "version": "1.10.0-alpha.2",
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",