@stinkycomputing/sesame-api-client 1.5.10 → 1.5.12
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 +23 -23
- package/dist/generated/property-types.d.ts +7 -1
- package/dist/generated/property-types.d.ts.map +1 -1
- package/dist/index.browser.mjs +138 -3
- package/dist/index.browser.mjs.map +2 -2
- package/dist/index.cjs +138 -3
- package/dist/index.cjs.map +2 -2
- package/dist/index.mjs +138 -3
- package/dist/index.mjs.map +2 -2
- package/dist/proto/api.d.ts +34 -0
- package/dist/proto/api.js +172 -3
- package/docs/protocol-reference.md +701 -551
- package/package.json +2 -2
|
@@ -58,8 +58,8 @@ Request to add a channel to an audio mixer.
|
|
|
58
58
|
|
|
59
59
|
| Field | Type | Description |
|
|
60
60
|
|-------|------|-------------|
|
|
61
|
-
| `mixer_id` | string |
|
|
62
|
-
| `channel_config` | AudioMixerChannel |
|
|
61
|
+
| `mixer_id` | string | Mixer ID |
|
|
62
|
+
| `channel_config` | AudioMixerChannel | Channel configuration |
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
### AudioChannelControlRequest
|
|
@@ -69,10 +69,13 @@ Per-channel property updates. Absent optional fields are left unchanged.
|
|
|
69
69
|
|
|
70
70
|
| Field | Type | Description |
|
|
71
71
|
|-------|------|-------------|
|
|
72
|
-
| `channel_id` | string |
|
|
73
|
-
| `level` | optional float |
|
|
74
|
-
| `pan` | optional float |
|
|
75
|
-
| `plugins` | repeated AudioPluginControlRequest |
|
|
72
|
+
| `channel_id` | string | Channel ID within the mixer |
|
|
73
|
+
| `level` | optional float | New manual level (0.0–1.0) |
|
|
74
|
+
| `pan` | optional float | New pan (-1.0–1.0) |
|
|
75
|
+
| `plugins` | repeated AudioPluginControlRequest | Plugin param updates |
|
|
76
|
+
| `mute` | optional bool | New manual mute |
|
|
77
|
+
| `automation_level` | optional float | New automation level (0.0–1.0) |
|
|
78
|
+
| `automation_mute` | optional bool | New automation mute |
|
|
76
79
|
|
|
77
80
|
|
|
78
81
|
### AudioChannelPluginStatus
|
|
@@ -82,9 +85,9 @@ Audio channel plugin status.
|
|
|
82
85
|
|
|
83
86
|
| Field | Type | Description |
|
|
84
87
|
|-------|------|-------------|
|
|
85
|
-
| `id` | string |
|
|
86
|
-
| `type` | string |
|
|
87
|
-
| `params` | repeated AudioPluginParamStatus |
|
|
88
|
+
| `id` | string | Plugin ID |
|
|
89
|
+
| `type` | string | Plugin type |
|
|
90
|
+
| `params` | repeated AudioPluginParamStatus | Plugin parameter status |
|
|
88
91
|
|
|
89
92
|
|
|
90
93
|
### AudioChannelRemoveRequest
|
|
@@ -94,8 +97,8 @@ Request to remove a channel from an audio mixer.
|
|
|
94
97
|
|
|
95
98
|
| Field | Type | Description |
|
|
96
99
|
|-------|------|-------------|
|
|
97
|
-
| `mixer_id` | string |
|
|
98
|
-
| `channel_id` | string |
|
|
100
|
+
| `mixer_id` | string | Mixer ID |
|
|
101
|
+
| `channel_id` | string | Channel ID to remove |
|
|
99
102
|
|
|
100
103
|
|
|
101
104
|
### AudioChannelStatus
|
|
@@ -105,14 +108,19 @@ Audio channel status.
|
|
|
105
108
|
|
|
106
109
|
| Field | Type | Description |
|
|
107
110
|
|-------|------|-------------|
|
|
108
|
-
| `id` | string |
|
|
109
|
-
| `output_type` | AudioMixerChannelType |
|
|
110
|
-
| `level` | float |
|
|
111
|
-
| `pan` | float |
|
|
112
|
-
| `vu` | repeated float |
|
|
113
|
-
| `has_data` | bool |
|
|
114
|
-
| `read_errors` | uint32 |
|
|
115
|
-
| `plugins` | repeated AudioChannelPluginStatus |
|
|
111
|
+
| `id` | string | Channel ID |
|
|
112
|
+
| `output_type` | AudioMixerChannelType | Output type |
|
|
113
|
+
| `level` | float | Channel level (0.0-1.0) |
|
|
114
|
+
| `pan` | float | Pan position |
|
|
115
|
+
| `vu` | repeated float | VU meter values |
|
|
116
|
+
| `has_data` | bool | Has audio data |
|
|
117
|
+
| `read_errors` | uint32 | Read error count |
|
|
118
|
+
| `plugins` | repeated AudioChannelPluginStatus | Plugin status |
|
|
119
|
+
| `mute` | bool | Manual mute |
|
|
120
|
+
| `automation_level` | float | Automation gain multiplier |
|
|
121
|
+
| `automation_mute` | bool | Automation mute |
|
|
122
|
+
| `effective_level` | float | level * automation_level |
|
|
123
|
+
| `effective_mute` | bool | mute || automation_mute |
|
|
116
124
|
|
|
117
125
|
|
|
118
126
|
### AudioControlRequest
|
|
@@ -121,15 +129,18 @@ Payload for DATA_TYPE_AUDIO_CONTROL frames (transport → server).
|
|
|
121
129
|
|
|
122
130
|
The target mixer ID is NOT included here — it is resolved server-side from
|
|
123
131
|
the MetadataRouter binding configured for this source track. This mirrors
|
|
124
|
-
AudioMixerStatus: to build a control message, take an AudioMixerStatus,
|
|
125
|
-
pick the channels you want to change, copy their `id` into `channel_id`,
|
|
126
|
-
and set the desired `level`/`pan`/plugin params. Omit fields you don't
|
|
127
|
-
want to change (optional fields that are absent are left unchanged).
|
|
132
|
+
AudioMixerStatus: to build a control message, take an AudioMixerStatus,
|
|
133
|
+
pick the channels you want to change, copy their `id` into `channel_id`,
|
|
134
|
+
and set the desired `level`/`automation_level`/`pan`/plugin params. Omit fields you don't
|
|
135
|
+
want to change (optional fields that are absent are left unchanged).
|
|
128
136
|
|
|
129
137
|
|
|
130
|
-
| Field | Type | Description |
|
|
131
|
-
|-------|------|-------------|
|
|
132
|
-
| `channels` | repeated AudioChannelControlRequest |
|
|
138
|
+
| Field | Type | Description |
|
|
139
|
+
|-------|------|-------------|
|
|
140
|
+
| `channels` | repeated AudioChannelControlRequest | |
|
|
141
|
+
| `master_level` | optional float | New manual master level (0.0-1.0) |
|
|
142
|
+
| `master_automation_level` | optional float | New automation master level (0.0-1.0) |
|
|
143
|
+
| `master_plugins` | repeated AudioPluginControlRequest | Master plugin param updates |
|
|
133
144
|
|
|
134
145
|
|
|
135
146
|
### AudioMixerAddRequest
|
|
@@ -139,8 +150,8 @@ Request to add a new audio mixer.
|
|
|
139
150
|
|
|
140
151
|
| Field | Type | Description |
|
|
141
152
|
|-------|------|-------------|
|
|
142
|
-
| `id` | string |
|
|
143
|
-
| `config` | AudioMixerConfig |
|
|
153
|
+
| `id` | string | Unique mixer ID |
|
|
154
|
+
| `config` | AudioMixerConfig | Mixer configuration |
|
|
144
155
|
|
|
145
156
|
|
|
146
157
|
### AudioMixerChannel
|
|
@@ -150,13 +161,16 @@ Audio mixer channel configuration.
|
|
|
150
161
|
|
|
151
162
|
| Field | Type | Description |
|
|
152
163
|
|-------|------|-------------|
|
|
153
|
-
| `id` | string |
|
|
154
|
-
| `source_id` | string |
|
|
155
|
-
| `channel_type` | AudioMixerChannelType |
|
|
156
|
-
| `source_channels` | repeated uint32 |
|
|
157
|
-
| `level` | float |
|
|
158
|
-
| `pan` | float |
|
|
159
|
-
| `plugins` | repeated AudioPlugin |
|
|
164
|
+
| `id` | string | Channel ID |
|
|
165
|
+
| `source_id` | string | Source ID |
|
|
166
|
+
| `channel_type` | AudioMixerChannelType | Channel type |
|
|
167
|
+
| `source_channels` | repeated uint32 | Source channel indices |
|
|
168
|
+
| `level` | float | Channel level (0.0-1.0) |
|
|
169
|
+
| `pan` | float | Pan position (-1.0 to 1.0) |
|
|
170
|
+
| `plugins` | repeated AudioPlugin | Audio plugins |
|
|
171
|
+
| `mute` | bool | Manual mute |
|
|
172
|
+
| `automation_level` | optional float | Automation gain multiplier (0.0-1.0, default 1.0) |
|
|
173
|
+
| `automation_mute` | bool | Automation mute |
|
|
160
174
|
|
|
161
175
|
|
|
162
176
|
### AudioMixerConfig
|
|
@@ -166,9 +180,41 @@ Audio mixer configuration.
|
|
|
166
180
|
|
|
167
181
|
| Field | Type | Description |
|
|
168
182
|
|-------|------|-------------|
|
|
169
|
-
| `channels` | repeated AudioMixerChannel |
|
|
170
|
-
| `output_type` | AudioMixerChannelType |
|
|
171
|
-
| `order` | uint32 |
|
|
183
|
+
| `channels` | repeated AudioMixerChannel | Mixer channels |
|
|
184
|
+
| `output_type` | AudioMixerChannelType | Output channel type |
|
|
185
|
+
| `order` | uint32 | Processing order |
|
|
186
|
+
| `outputs` | repeated AudioMixerOutput | Named derived outputs |
|
|
187
|
+
| `master_level` | optional float | Manual master level (0.0-1.0, default 1.0) |
|
|
188
|
+
| `master_automation_level` | optional float | Automation master gain multiplier (0.0-1.0, default 1.0) |
|
|
189
|
+
| `master_plugins` | repeated AudioPlugin | Master bus audio plugins |
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
### AudioMixerOutput
|
|
193
|
+
|
|
194
|
+
Named derived output from an audio mixer.
|
|
195
|
+
The main L+R output is implicit and is addressed by the mixer ID.
|
|
196
|
+
A named output is addressed as "<mixer_id>/<output_id>".
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
| Field | Type | Description |
|
|
200
|
+
|-------|------|-------------|
|
|
201
|
+
| `id` | string | Output ID, unique within the mixer |
|
|
202
|
+
| `excluded_channel_ids` | repeated string | Channel IDs omitted from this output |
|
|
203
|
+
| `include_master_plugins` | optional bool | Run this output through the master plugin chain (default true) |
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
### AudioMixerOutputStatus
|
|
207
|
+
|
|
208
|
+
Named derived audio mixer output status.
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
| Field | Type | Description |
|
|
212
|
+
|-------|------|-------------|
|
|
213
|
+
| `id` | string | Output ID, unique within the mixer |
|
|
214
|
+
| `output_type` | AudioMixerChannelType | Output type |
|
|
215
|
+
| `vu` | repeated float | Output VU meter values |
|
|
216
|
+
| `excluded_channel_ids` | repeated string | Channel IDs omitted from this output |
|
|
217
|
+
| `include_master_plugins` | bool | Whether this output runs through the master plugin chain |
|
|
172
218
|
|
|
173
219
|
|
|
174
220
|
### AudioMixerRemoveRequest
|
|
@@ -178,7 +224,7 @@ Request to remove an audio mixer.
|
|
|
178
224
|
|
|
179
225
|
| Field | Type | Description |
|
|
180
226
|
|-------|------|-------------|
|
|
181
|
-
| `id` | string |
|
|
227
|
+
| `id` | string | Mixer ID to remove |
|
|
182
228
|
|
|
183
229
|
|
|
184
230
|
### AudioMixerStatus
|
|
@@ -188,10 +234,15 @@ Audio mixer status.
|
|
|
188
234
|
|
|
189
235
|
| Field | Type | Description |
|
|
190
236
|
|-------|------|-------------|
|
|
191
|
-
| `id` | string |
|
|
192
|
-
| `output_type` | AudioMixerChannelType |
|
|
193
|
-
| `vu` | repeated float |
|
|
194
|
-
| `channels` | repeated AudioChannelStatus |
|
|
237
|
+
| `id` | string | Mixer ID |
|
|
238
|
+
| `output_type` | AudioMixerChannelType | Output type |
|
|
239
|
+
| `vu` | repeated float | Master VU meter values |
|
|
240
|
+
| `channels` | repeated AudioChannelStatus | Channel status |
|
|
241
|
+
| `master_level` | float | Manual master level |
|
|
242
|
+
| `master_automation_level` | float | Automation master gain multiplier |
|
|
243
|
+
| `master_effective_level` | float | master_level * master_automation_level |
|
|
244
|
+
| `master_plugins` | repeated AudioChannelPluginStatus | Master plugin status |
|
|
245
|
+
| `outputs` | repeated AudioMixerOutputStatus | Named derived output status |
|
|
195
246
|
|
|
196
247
|
|
|
197
248
|
### AudioMixerUpdateRequest
|
|
@@ -201,8 +252,8 @@ Request to update an existing audio mixer.
|
|
|
201
252
|
|
|
202
253
|
| Field | Type | Description |
|
|
203
254
|
|-------|------|-------------|
|
|
204
|
-
| `id` | string |
|
|
205
|
-
| `config` | AudioMixerConfig |
|
|
255
|
+
| `id` | string | Mixer ID to update |
|
|
256
|
+
| `config` | AudioMixerConfig | New configuration |
|
|
206
257
|
|
|
207
258
|
|
|
208
259
|
### AudioPlugin
|
|
@@ -212,10 +263,10 @@ Audio plugin instance.
|
|
|
212
263
|
|
|
213
264
|
| Field | Type | Description |
|
|
214
265
|
|-------|------|-------------|
|
|
215
|
-
| `id` | string |
|
|
216
|
-
| `type` | string |
|
|
217
|
-
| `params` | repeated AudioPluginParam |
|
|
218
|
-
| `aux_input_mix_ids` | repeated string |
|
|
266
|
+
| `id` | string | Plugin instance ID |
|
|
267
|
+
| `type` | string | Plugin type |
|
|
268
|
+
| `params` | repeated AudioPluginParam | Plugin parameters |
|
|
269
|
+
| `aux_input_mix_ids` | repeated string | Auxiliary input mixer IDs |
|
|
219
270
|
|
|
220
271
|
|
|
221
272
|
### AudioPluginControlRequest
|
|
@@ -225,8 +276,8 @@ Plugin parameter update within an AudioChannelControlRequest.
|
|
|
225
276
|
|
|
226
277
|
| Field | Type | Description |
|
|
227
278
|
|-------|------|-------------|
|
|
228
|
-
| `plugin_id` | string |
|
|
229
|
-
| `params` | repeated AudioPluginParam |
|
|
279
|
+
| `plugin_id` | string | Plugin instance ID |
|
|
280
|
+
| `params` | repeated AudioPluginParam | Parameters to update (by id) |
|
|
230
281
|
|
|
231
282
|
|
|
232
283
|
### AudioPluginParam
|
|
@@ -236,8 +287,8 @@ Audio plugin parameter.
|
|
|
236
287
|
|
|
237
288
|
| Field | Type | Description |
|
|
238
289
|
|-------|------|-------------|
|
|
239
|
-
| `id` | uint32 |
|
|
240
|
-
| `float_value` | float |
|
|
290
|
+
| `id` | uint32 | Parameter ID |
|
|
291
|
+
| `float_value` | float | Parameter value |
|
|
241
292
|
|
|
242
293
|
|
|
243
294
|
### AudioPluginParamStatus
|
|
@@ -247,10 +298,10 @@ Audio plugin parameter status (with display info).
|
|
|
247
298
|
|
|
248
299
|
| Field | Type | Description |
|
|
249
300
|
|-------|------|-------------|
|
|
250
|
-
| `id` | uint32 |
|
|
251
|
-
| `float_value` | float |
|
|
252
|
-
| `label` | string |
|
|
253
|
-
| `display_value` | string |
|
|
301
|
+
| `id` | uint32 | Parameter ID |
|
|
302
|
+
| `float_value` | float | Parameter value |
|
|
303
|
+
| `label` | string | Parameter label |
|
|
304
|
+
| `display_value` | string | Formatted display value |
|
|
254
305
|
|
|
255
306
|
|
|
256
307
|
---
|
|
@@ -278,7 +329,7 @@ A list of commands to execute in sequence.
|
|
|
278
329
|
|
|
279
330
|
| Field | Type | Description |
|
|
280
331
|
|-------|------|-------------|
|
|
281
|
-
| `command_list` | repeated CommandListItem |
|
|
332
|
+
| `command_list` | repeated CommandListItem | List of commands |
|
|
282
333
|
|
|
283
334
|
|
|
284
335
|
### CommandListItem
|
|
@@ -289,34 +340,37 @@ Each item represents a single command to execute at a specific time offset.
|
|
|
289
340
|
|
|
290
341
|
| Field | Type | Description |
|
|
291
342
|
|-------|------|-------------|
|
|
292
|
-
| `time_offset_us` | int64 |
|
|
293
|
-
| `add_source` | sesame.v1.sources.SourceAddRequest |
|
|
294
|
-
| `update_source` | sesame.v1.sources.SourceUpdateRequest |
|
|
295
|
-
| `remove_source` | sesame.v1.sources.SourceRemoveRequest |
|
|
296
|
-
| `add_output` | sesame.v1.outputs.OutputAddRequest |
|
|
297
|
-
| `update_output` | sesame.v1.outputs.OutputUpdateRequest |
|
|
298
|
-
| `remove_output` | sesame.v1.outputs.OutputRemoveRequest |
|
|
299
|
-
| `add_compositor` | sesame.v1.compositor.CompositorAddRequest |
|
|
300
|
-
| `remove_compositor` | sesame.v1.compositor.CompositorRemoveRequest |
|
|
301
|
-
| `clear_compositor` | sesame.v1.compositor.CompositorClearRequest |
|
|
302
|
-
| `add_node` | sesame.v1.compositor.NodeAddRequest |
|
|
303
|
-
| `remove_node` | sesame.v1.compositor.NodeRemoveRequest |
|
|
304
|
-
| `set_property` | sesame.v1.compositor.PropertySetRequest |
|
|
305
|
-
| `animate_property` | sesame.v1.compositor.PropertyAnimateRequest |
|
|
306
|
-
| `add_audio_mixer` | sesame.v1.audio.AudioMixerAddRequest |
|
|
307
|
-
| `update_audio_mixer` | sesame.v1.audio.AudioMixerUpdateRequest |
|
|
308
|
-
| `remove_audio_mixer` | sesame.v1.audio.AudioMixerRemoveRequest |
|
|
309
|
-
| `add_audio_channel` | sesame.v1.audio.AudioChannelAddRequest |
|
|
310
|
-
| `remove_audio_channel` | sesame.v1.audio.AudioChannelRemoveRequest |
|
|
311
|
-
| `update_source_transport` | sesame.v1.sources.SourceTransportCommand |
|
|
312
|
-
| `load_playlist` | sesame.v1.sources.LoadPlaylistRequest |
|
|
313
|
-
| `eject_playlist` | sesame.v1.sources.EjectPlaylistRequest |
|
|
314
|
-
| `callback` | sesame.v1.common.Callback |
|
|
315
|
-
| `set_source_metadata` | sesame.v1.sources.SourceMetadataSetRequest |
|
|
316
|
-
| `set_metadata_bindings` | SetMetadataBindingsRequest |
|
|
317
|
-
| `
|
|
318
|
-
| `
|
|
319
|
-
| `
|
|
343
|
+
| `time_offset_us` | int64 | Time offset in microseconds |
|
|
344
|
+
| `add_source` | sesame.v1.sources.SourceAddRequest | Source commands |
|
|
345
|
+
| `update_source` | sesame.v1.sources.SourceUpdateRequest | |
|
|
346
|
+
| `remove_source` | sesame.v1.sources.SourceRemoveRequest | |
|
|
347
|
+
| `add_output` | sesame.v1.outputs.OutputAddRequest | Output commands |
|
|
348
|
+
| `update_output` | sesame.v1.outputs.OutputUpdateRequest | |
|
|
349
|
+
| `remove_output` | sesame.v1.outputs.OutputRemoveRequest | |
|
|
350
|
+
| `add_compositor` | sesame.v1.compositor.CompositorAddRequest | Compositor commands |
|
|
351
|
+
| `remove_compositor` | sesame.v1.compositor.CompositorRemoveRequest | |
|
|
352
|
+
| `clear_compositor` | sesame.v1.compositor.CompositorClearRequest | |
|
|
353
|
+
| `add_node` | sesame.v1.compositor.NodeAddRequest | Node commands |
|
|
354
|
+
| `remove_node` | sesame.v1.compositor.NodeRemoveRequest | |
|
|
355
|
+
| `set_property` | sesame.v1.compositor.PropertySetRequest | Property commands |
|
|
356
|
+
| `animate_property` | sesame.v1.compositor.PropertyAnimateRequest | |
|
|
357
|
+
| `add_audio_mixer` | sesame.v1.audio.AudioMixerAddRequest | Audio mixer commands |
|
|
358
|
+
| `update_audio_mixer` | sesame.v1.audio.AudioMixerUpdateRequest | |
|
|
359
|
+
| `remove_audio_mixer` | sesame.v1.audio.AudioMixerRemoveRequest | |
|
|
360
|
+
| `add_audio_channel` | sesame.v1.audio.AudioChannelAddRequest | |
|
|
361
|
+
| `remove_audio_channel` | sesame.v1.audio.AudioChannelRemoveRequest | |
|
|
362
|
+
| `update_source_transport` | sesame.v1.sources.SourceTransportCommand | Source transport commands |
|
|
363
|
+
| `load_playlist` | sesame.v1.sources.LoadPlaylistRequest | Recorder playlist commands |
|
|
364
|
+
| `eject_playlist` | sesame.v1.sources.EjectPlaylistRequest | |
|
|
365
|
+
| `callback` | sesame.v1.common.Callback | Callback command |
|
|
366
|
+
| `set_source_metadata` | sesame.v1.sources.SourceMetadataSetRequest | Source metadata command |
|
|
367
|
+
| `set_metadata_bindings` | SetMetadataBindingsRequest | Metadata routing bindings (replaces the full binding table) |
|
|
368
|
+
| `add_encoder` | sesame.v1.outputs.EncoderAddRequest | Shared encoder commands |
|
|
369
|
+
| `update_encoder` | sesame.v1.outputs.EncoderUpdateRequest | |
|
|
370
|
+
| `remove_encoder` | sesame.v1.outputs.EncoderRemoveRequest | |
|
|
371
|
+
| `take_playlist` | sesame.v1.sources.TakePlaylistRequest | Recorder direct take commands |
|
|
372
|
+
| `transaction_id` | optional uint32 | Transaction ID for grouping |
|
|
373
|
+
| `transaction_deps` | repeated uint32 | Transaction dependencies |
|
|
320
374
|
|
|
321
375
|
|
|
322
376
|
### MetadataBinding
|
|
@@ -336,11 +390,11 @@ Exactly one route direction should be specified per binding:
|
|
|
336
390
|
|
|
337
391
|
| Field | Type | Description |
|
|
338
392
|
|-------|------|-------------|
|
|
339
|
-
| `source_id` | string |
|
|
340
|
-
| `metadata_id` | string |
|
|
341
|
-
| `output_id` | string |
|
|
342
|
-
| `track_name` | string |
|
|
343
|
-
| `target_id` | string |
|
|
393
|
+
| `source_id` | string | |
|
|
394
|
+
| `metadata_id` | string | |
|
|
395
|
+
| `output_id` | string | |
|
|
396
|
+
| `track_name` | string | |
|
|
397
|
+
| `target_id` | string | |
|
|
344
398
|
|
|
345
399
|
|
|
346
400
|
### SetMetadataBindingsRequest
|
|
@@ -351,7 +405,7 @@ Send once after all sources/outputs are configured.
|
|
|
351
405
|
|
|
352
406
|
| Field | Type | Description |
|
|
353
407
|
|-------|------|-------------|
|
|
354
|
-
| `bindings` | repeated MetadataBinding |
|
|
408
|
+
| `bindings` | repeated MetadataBinding | |
|
|
355
409
|
|
|
356
410
|
|
|
357
411
|
---
|
|
@@ -438,8 +492,8 @@ Used to trigger client-side callbacks when specific events occur.
|
|
|
438
492
|
|
|
439
493
|
| Field | Type | Description |
|
|
440
494
|
|-------|------|-------------|
|
|
441
|
-
| `event` | string |
|
|
442
|
-
| `data` | string |
|
|
495
|
+
| `event` | string | Event name/identifier |
|
|
496
|
+
| `data` | string | Event data (JSON or other format) |
|
|
443
497
|
|
|
444
498
|
|
|
445
499
|
### Empty
|
|
@@ -456,8 +510,8 @@ Used for transport metadata, custom properties, etc.
|
|
|
456
510
|
|
|
457
511
|
| Field | Type | Description |
|
|
458
512
|
|-------|------|-------------|
|
|
459
|
-
| `name` | string |
|
|
460
|
-
| `value` | PropValue |
|
|
513
|
+
| `name` | string | Key name |
|
|
514
|
+
| `value` | PropValue | Value as string |
|
|
461
515
|
|
|
462
516
|
|
|
463
517
|
### PropValue
|
|
@@ -469,11 +523,11 @@ Only one field should be set at a time.
|
|
|
469
523
|
|
|
470
524
|
| Field | Type | Description |
|
|
471
525
|
|-------|------|-------------|
|
|
472
|
-
| `float_value` | float |
|
|
473
|
-
| `vec4_value` | Vec4 |
|
|
474
|
-
| `string_value` | string |
|
|
475
|
-
| `bool_value` | bool |
|
|
476
|
-
| `int_value` | int64 |
|
|
526
|
+
| `float_value` | float | Floating point value (opacity, volume, etc.) |
|
|
527
|
+
| `vec4_value` | Vec4 | Vector value (color, position, etc.) |
|
|
528
|
+
| `string_value` | string | String value (text content, URLs, etc.) |
|
|
529
|
+
| `bool_value` | bool | Boolean value (enabled/disabled flags) |
|
|
530
|
+
| `int_value` | int64 | Integer value (indices, counts, seek positions, etc.) |
|
|
477
531
|
|
|
478
532
|
|
|
479
533
|
### PropertyDomain
|
|
@@ -484,10 +538,10 @@ Used for property set/animate operations across different domains.
|
|
|
484
538
|
|
|
485
539
|
| Field | Type | Description |
|
|
486
540
|
|-------|------|-------------|
|
|
487
|
-
| `compositor_id` | string |
|
|
488
|
-
| `audio_mixer_id` | string |
|
|
489
|
-
| `replay_id` | string |
|
|
490
|
-
| `source_id` | string |
|
|
541
|
+
| `compositor_id` | string | Compositor ID |
|
|
542
|
+
| `audio_mixer_id` | string | Audio mixer ID |
|
|
543
|
+
| `replay_id` | string | Replay ID |
|
|
544
|
+
| `source_id` | string | Source ID |
|
|
491
545
|
|
|
492
546
|
|
|
493
547
|
### TransportMetadata
|
|
@@ -498,7 +552,7 @@ Used for source and recorder metadata operations.
|
|
|
498
552
|
|
|
499
553
|
| Field | Type | Description |
|
|
500
554
|
|-------|------|-------------|
|
|
501
|
-
| `items` | repeated NameValue |
|
|
555
|
+
| `items` | repeated NameValue | Metadata items |
|
|
502
556
|
|
|
503
557
|
|
|
504
558
|
### Vec4
|
|
@@ -510,10 +564,10 @@ but can be arbitrary for positions and sizes.
|
|
|
510
564
|
|
|
511
565
|
| Field | Type | Description |
|
|
512
566
|
|-------|------|-------------|
|
|
513
|
-
| `x` | float |
|
|
514
|
-
| `y` | float |
|
|
515
|
-
| `z` | float |
|
|
516
|
-
| `w` | float |
|
|
567
|
+
| `x` | float | Red component for colors, X position for coordinates |
|
|
568
|
+
| `y` | float | Green component for colors, Y position for coordinates |
|
|
569
|
+
| `z` | float | Blue component for colors, Z position for coordinates |
|
|
570
|
+
| `w` | float | Alpha component for colors, W component for coordinates |
|
|
517
571
|
|
|
518
572
|
|
|
519
573
|
---
|
|
@@ -561,10 +615,10 @@ Request to add a new compositor.
|
|
|
561
615
|
|
|
562
616
|
| Field | Type | Description |
|
|
563
617
|
|-------|------|-------------|
|
|
564
|
-
| `id` | string |
|
|
565
|
-
| `multisample` | bool |
|
|
566
|
-
| `width` | uint32 |
|
|
567
|
-
| `height` | uint32 |
|
|
618
|
+
| `id` | string | Unique compositor ID |
|
|
619
|
+
| `multisample` | bool | Enable multisampling (anti-aliasing) |
|
|
620
|
+
| `width` | uint32 | Compositor width |
|
|
621
|
+
| `height` | uint32 | Compositor height |
|
|
568
622
|
|
|
569
623
|
|
|
570
624
|
### CompositorClearRequest
|
|
@@ -574,7 +628,7 @@ Request to clear a compositor (remove all nodes).
|
|
|
574
628
|
|
|
575
629
|
| Field | Type | Description |
|
|
576
630
|
|-------|------|-------------|
|
|
577
|
-
| `id` | string |
|
|
631
|
+
| `id` | string | Compositor ID to clear |
|
|
578
632
|
|
|
579
633
|
|
|
580
634
|
### CompositorRemoveRequest
|
|
@@ -584,7 +638,7 @@ Request to remove a compositor.
|
|
|
584
638
|
|
|
585
639
|
| Field | Type | Description |
|
|
586
640
|
|-------|------|-------------|
|
|
587
|
-
| `id` | string |
|
|
641
|
+
| `id` | string | Compositor ID to remove |
|
|
588
642
|
|
|
589
643
|
|
|
590
644
|
### KeyFrame
|
|
@@ -594,10 +648,10 @@ Animation keyframe.
|
|
|
594
648
|
|
|
595
649
|
| Field | Type | Description |
|
|
596
650
|
|-------|------|-------------|
|
|
597
|
-
| `time_us` | int64 |
|
|
598
|
-
| `value` | sesame.v1.common.PropValue |
|
|
599
|
-
| `easing_in` | string |
|
|
600
|
-
| `easing_out` | string |
|
|
651
|
+
| `time_us` | int64 | Keyframe time in microseconds |
|
|
652
|
+
| `value` | sesame.v1.common.PropValue | Keyframe value |
|
|
653
|
+
| `easing_in` | string | Easing function for incoming interpolation |
|
|
654
|
+
| `easing_out` | string | Easing function for outgoing interpolation |
|
|
601
655
|
|
|
602
656
|
|
|
603
657
|
### NodeAddRequest
|
|
@@ -607,10 +661,10 @@ Request to add a node to the scene graph.
|
|
|
607
661
|
|
|
608
662
|
| Field | Type | Description |
|
|
609
663
|
|-------|------|-------------|
|
|
610
|
-
| `compositor_id` | string |
|
|
611
|
-
| `parent_address` | string |
|
|
612
|
-
| `node_id` | string |
|
|
613
|
-
| `node_type` | NodeType |
|
|
664
|
+
| `compositor_id` | string | Compositor ID |
|
|
665
|
+
| `parent_address` | string | Parent node address (e.g., "root/layer1") |
|
|
666
|
+
| `node_id` | string | New node ID |
|
|
667
|
+
| `node_type` | NodeType | Node type |
|
|
614
668
|
|
|
615
669
|
|
|
616
670
|
### NodeRemoveRequest
|
|
@@ -620,8 +674,8 @@ Request to remove a node from the scene graph.
|
|
|
620
674
|
|
|
621
675
|
| Field | Type | Description |
|
|
622
676
|
|-------|------|-------------|
|
|
623
|
-
| `compositor_id` | string |
|
|
624
|
-
| `address` | string |
|
|
677
|
+
| `compositor_id` | string | Compositor ID |
|
|
678
|
+
| `address` | string | Node address to remove |
|
|
625
679
|
|
|
626
680
|
|
|
627
681
|
### PropertyAnimateRequest
|
|
@@ -631,12 +685,12 @@ Request to animate a property.
|
|
|
631
685
|
|
|
632
686
|
| Field | Type | Description |
|
|
633
687
|
|-------|------|-------------|
|
|
634
|
-
| `domain` | sesame.v1.common.PropertyDomain |
|
|
635
|
-
| `address` | string |
|
|
636
|
-
| `property` | string |
|
|
637
|
-
| `keyframes` | repeated KeyFrame |
|
|
638
|
-
| `before` | AnimationChannelEvaluationMode |
|
|
639
|
-
| `after` | AnimationChannelEvaluationMode |
|
|
688
|
+
| `domain` | sesame.v1.common.PropertyDomain | Property domain |
|
|
689
|
+
| `address` | string | Node address |
|
|
690
|
+
| `property` | string | Property name |
|
|
691
|
+
| `keyframes` | repeated KeyFrame | Animation keyframes |
|
|
692
|
+
| `before` | AnimationChannelEvaluationMode | Evaluation mode before first keyframe |
|
|
693
|
+
| `after` | AnimationChannelEvaluationMode | Evaluation mode after last keyframe |
|
|
640
694
|
|
|
641
695
|
|
|
642
696
|
### PropertySetRequest
|
|
@@ -646,10 +700,10 @@ Request to set a property value.
|
|
|
646
700
|
|
|
647
701
|
| Field | Type | Description |
|
|
648
702
|
|-------|------|-------------|
|
|
649
|
-
| `domain` | sesame.v1.common.PropertyDomain |
|
|
650
|
-
| `address` | string |
|
|
651
|
-
| `property` | string |
|
|
652
|
-
| `value` | sesame.v1.common.PropValue |
|
|
703
|
+
| `domain` | sesame.v1.common.PropertyDomain | Property domain |
|
|
704
|
+
| `address` | string | Node address |
|
|
705
|
+
| `property` | string | Property name |
|
|
706
|
+
| `value` | sesame.v1.common.PropValue | Property value |
|
|
653
707
|
|
|
654
708
|
|
|
655
709
|
---
|
|
@@ -719,30 +773,30 @@ Playlist export configuration.
|
|
|
719
773
|
|
|
720
774
|
| Field | Type | Description |
|
|
721
775
|
|-------|------|-------------|
|
|
722
|
-
| `filename` | string |
|
|
723
|
-
| `container` | ContainerFormat |
|
|
724
|
-
| `video_codec` | sesame.v1.common.CodecType |
|
|
725
|
-
| `width` | uint32 |
|
|
726
|
-
| `height` | uint32 |
|
|
727
|
-
| `fps_num` | uint32 |
|
|
728
|
-
| `fps_den` | uint32 |
|
|
729
|
-
| `rate_control` | RateControlMode |
|
|
730
|
-
| `video_bitrate_kbps` | uint32 |
|
|
731
|
-
| `max_video_bitrate_kbps` | uint32 |
|
|
732
|
-
| `gop_size` | uint32 |
|
|
733
|
-
| `max_b_frames` | uint32 |
|
|
734
|
-
| `profile` | string |
|
|
735
|
-
| `level` | string |
|
|
736
|
-
| `pixel_format` | string |
|
|
737
|
-
| `color_primaries` | string |
|
|
738
|
-
| `color_transfer` | string |
|
|
739
|
-
| `color_matrix` | string |
|
|
740
|
-
| `full_range` | bool |
|
|
741
|
-
| `audio_codec` | sesame.v1.common.CodecType |
|
|
742
|
-
| `audio_bitrate_kbps` | uint32 |
|
|
743
|
-
| `audio_sample_rate_hz` | uint32 |
|
|
744
|
-
| `audio_channels` | uint32 |
|
|
745
|
-
| `audio_routing` | repeated uint32 |
|
|
776
|
+
| `filename` | string | Output filename |
|
|
777
|
+
| `container` | ContainerFormat | Output container format |
|
|
778
|
+
| `video_codec` | sesame.v1.common.CodecType | Video codec |
|
|
779
|
+
| `width` | uint32 | Output width |
|
|
780
|
+
| `height` | uint32 | Output height |
|
|
781
|
+
| `fps_num` | uint32 | Frame rate numerator |
|
|
782
|
+
| `fps_den` | uint32 | Frame rate denominator |
|
|
783
|
+
| `rate_control` | RateControlMode | Video rate control mode |
|
|
784
|
+
| `video_bitrate_kbps` | uint32 | Target video bitrate (kbps) |
|
|
785
|
+
| `max_video_bitrate_kbps` | uint32 | Peak video bitrate cap (kbps) |
|
|
786
|
+
| `gop_size` | uint32 | GOP size in frames |
|
|
787
|
+
| `max_b_frames` | uint32 | Maximum B-frames |
|
|
788
|
+
| `profile` | string | Codec profile (e.g. main, high) |
|
|
789
|
+
| `level` | string | Codec level (e.g. 4.1, 5.1) |
|
|
790
|
+
| `pixel_format` | string | Pixel format (e.g. yuv420p) |
|
|
791
|
+
| `color_primaries` | string | Color primaries (e.g. bt709) |
|
|
792
|
+
| `color_transfer` | string | Transfer characteristics (e.g. bt709) |
|
|
793
|
+
| `color_matrix` | string | Matrix coefficients (e.g. bt709) |
|
|
794
|
+
| `full_range` | bool | Full range if true, limited if false |
|
|
795
|
+
| `audio_codec` | sesame.v1.common.CodecType | Audio codec |
|
|
796
|
+
| `audio_bitrate_kbps` | uint32 | Audio bitrate (kbps) |
|
|
797
|
+
| `audio_sample_rate_hz` | uint32 | Audio sample rate (Hz) |
|
|
798
|
+
| `audio_channels` | uint32 | Number of audio channels |
|
|
799
|
+
| `audio_routing` | repeated uint32 | Audio channel routing |
|
|
746
800
|
|
|
747
801
|
|
|
748
802
|
### ExportStartRequest
|
|
@@ -752,8 +806,8 @@ Request to start playlist export.
|
|
|
752
806
|
|
|
753
807
|
| Field | Type | Description |
|
|
754
808
|
|-------|------|-------------|
|
|
755
|
-
| `config` | ExportConfiguration |
|
|
756
|
-
| `items` | repeated sesame.v1.recorder.PlaylistItem |
|
|
809
|
+
| `config` | ExportConfiguration | Export configuration |
|
|
810
|
+
| `items` | repeated sesame.v1.recorder.PlaylistItem | Playlist items |
|
|
757
811
|
|
|
758
812
|
|
|
759
813
|
### ImportConfiguration
|
|
@@ -763,12 +817,12 @@ Clip import configuration.
|
|
|
763
817
|
|
|
764
818
|
| Field | Type | Description |
|
|
765
819
|
|-------|------|-------------|
|
|
766
|
-
| `src_filename` | string |
|
|
767
|
-
| `audio_routing` | repeated uint32 |
|
|
768
|
-
| `dst_recorder_id` | string |
|
|
769
|
-
| `dst_clip_id` | uint64 |
|
|
770
|
-
| `dst_clip_name` | string |
|
|
771
|
-
| `dst_clip_user_data` | string |
|
|
820
|
+
| `src_filename` | string | Source filename |
|
|
821
|
+
| `audio_routing` | repeated uint32 | Audio channel routing |
|
|
822
|
+
| `dst_recorder_id` | string | Destination recorder ID |
|
|
823
|
+
| `dst_clip_id` | uint64 | Destination clip ID |
|
|
824
|
+
| `dst_clip_name` | string | Destination clip name |
|
|
825
|
+
| `dst_clip_user_data` | string | Destination clip user data |
|
|
772
826
|
|
|
773
827
|
|
|
774
828
|
### ImportStartRequest
|
|
@@ -778,7 +832,7 @@ Request to start clip import.
|
|
|
778
832
|
|
|
779
833
|
| Field | Type | Description |
|
|
780
834
|
|-------|------|-------------|
|
|
781
|
-
| `config` | ImportConfiguration |
|
|
835
|
+
| `config` | ImportConfiguration | Import configuration |
|
|
782
836
|
|
|
783
837
|
|
|
784
838
|
### Job
|
|
@@ -788,15 +842,15 @@ A job. Used as RPC response, list item, and event payload.
|
|
|
788
842
|
|
|
789
843
|
| Field | Type | Description |
|
|
790
844
|
|-------|------|-------------|
|
|
791
|
-
| `id` | uint32 |
|
|
792
|
-
| `type` | JobType |
|
|
793
|
-
| `status` | JobStatus |
|
|
794
|
-
| `name` | string |
|
|
795
|
-
| `description` | string |
|
|
796
|
-
| `error` | optional string |
|
|
797
|
-
| `progress` | int64 |
|
|
798
|
-
| `total` | int64 |
|
|
799
|
-
| `timing_info` | optional TimingInfo |
|
|
845
|
+
| `id` | uint32 | Job ID |
|
|
846
|
+
| `type` | JobType | Job type |
|
|
847
|
+
| `status` | JobStatus | Current status |
|
|
848
|
+
| `name` | string | Job name (e.g. "Export playlist") |
|
|
849
|
+
| `description` | string | Job description (e.g. filename) |
|
|
850
|
+
| `error` | optional string | Error message (if status == ERROR) |
|
|
851
|
+
| `progress` | int64 | Current progress (us) |
|
|
852
|
+
| `total` | int64 | Total duration (us) |
|
|
853
|
+
| `timing_info` | optional TimingInfo | Timing info (set on completion for imports) |
|
|
800
854
|
|
|
801
855
|
|
|
802
856
|
### JobAbortRequest
|
|
@@ -806,7 +860,7 @@ Request to abort a job.
|
|
|
806
860
|
|
|
807
861
|
| Field | Type | Description |
|
|
808
862
|
|-------|------|-------------|
|
|
809
|
-
| `job_id` | uint32 |
|
|
863
|
+
| `job_id` | uint32 | Job ID to abort |
|
|
810
864
|
|
|
811
865
|
|
|
812
866
|
### JobList
|
|
@@ -816,7 +870,7 @@ List of jobs.
|
|
|
816
870
|
|
|
817
871
|
| Field | Type | Description |
|
|
818
872
|
|-------|------|-------------|
|
|
819
|
-
| `jobs` | repeated Job |
|
|
873
|
+
| `jobs` | repeated Job | |
|
|
820
874
|
|
|
821
875
|
|
|
822
876
|
### JobListRequest
|
|
@@ -831,8 +885,8 @@ Request to start a job.
|
|
|
831
885
|
|
|
832
886
|
| Field | Type | Description |
|
|
833
887
|
|-------|------|-------------|
|
|
834
|
-
| `export_request` | ExportStartRequest |
|
|
835
|
-
| `import_request` | ImportStartRequest |
|
|
888
|
+
| `export_request` | ExportStartRequest | Playlist export |
|
|
889
|
+
| `import_request` | ImportStartRequest | Clip import |
|
|
836
890
|
|
|
837
891
|
|
|
838
892
|
### JobStatusRequest
|
|
@@ -842,7 +896,7 @@ Request to get job status.
|
|
|
842
896
|
|
|
843
897
|
| Field | Type | Description |
|
|
844
898
|
|-------|------|-------------|
|
|
845
|
-
| `job_id` | uint32 |
|
|
899
|
+
| `job_id` | uint32 | Job ID |
|
|
846
900
|
|
|
847
901
|
|
|
848
902
|
### TimingInfo
|
|
@@ -852,8 +906,8 @@ Timing information for clips.
|
|
|
852
906
|
|
|
853
907
|
| Field | Type | Description |
|
|
854
908
|
|-------|------|-------------|
|
|
855
|
-
| `tc_in` | int64 |
|
|
856
|
-
| `tc_out` | int64 |
|
|
909
|
+
| `tc_in` | int64 | In timecode (us) |
|
|
910
|
+
| `tc_out` | int64 | Out timecode (us) |
|
|
857
911
|
|
|
858
912
|
|
|
859
913
|
---
|
|
@@ -878,7 +932,17 @@ Encoder preset.
|
|
|
878
932
|
| 3 | `ENCODER_PRESET_HIGH_QUALITY` | High-quality tune |
|
|
879
933
|
|
|
880
934
|
|
|
881
|
-
###
|
|
935
|
+
### EncoderType
|
|
936
|
+
|
|
937
|
+
Type of encoder resource.
|
|
938
|
+
|
|
939
|
+
| Value | Name | Description |
|
|
940
|
+
|-------|------|-------------|
|
|
941
|
+
| 0 | `ENCODER_TYPE_UNSPECIFIED` | Unspecified (invalid) |
|
|
942
|
+
| 1 | `ENCODER_TYPE_VIDEO` | Video encoder |
|
|
943
|
+
|
|
944
|
+
|
|
945
|
+
### OutputType
|
|
882
946
|
|
|
883
947
|
Type of output.
|
|
884
948
|
|
|
@@ -912,9 +976,9 @@ Decklink output configuration.
|
|
|
912
976
|
|
|
913
977
|
| Field | Type | Description |
|
|
914
978
|
|-------|------|-------------|
|
|
915
|
-
| `device_index` | uint32 |
|
|
916
|
-
| `video_format` | sesame.v1.common.VideoFormat |
|
|
917
|
-
| `key_and_fill` | bool |
|
|
979
|
+
| `device_index` | uint32 | Decklink device index |
|
|
980
|
+
| `video_format` | sesame.v1.common.VideoFormat | Video format |
|
|
981
|
+
| `key_and_fill` | bool | Key and fill mode |
|
|
918
982
|
|
|
919
983
|
|
|
920
984
|
### EncodedMoqOutputConfig
|
|
@@ -924,11 +988,11 @@ Decklink output configuration.
|
|
|
924
988
|
|
|
925
989
|
| Field | Type | Description |
|
|
926
990
|
|-------|------|-------------|
|
|
927
|
-
| `
|
|
928
|
-
| `url` | string |
|
|
929
|
-
| `broadcast` | string |
|
|
930
|
-
| `key` | string |
|
|
931
|
-
| `metadata_tracks` | repeated string |
|
|
991
|
+
| `encoder_id` | string | Shared encoder ID |
|
|
992
|
+
| `url` | string | MoQ URL |
|
|
993
|
+
| `broadcast` | string | Broadcast namespace |
|
|
994
|
+
| `key` | string | Authentication key |
|
|
995
|
+
| `metadata_tracks` | repeated string | Track names for outgoing JSON metadata frames (routing resolved via metadataBindings). |
|
|
932
996
|
|
|
933
997
|
|
|
934
998
|
### EncodedRecorderOutputConfig
|
|
@@ -938,11 +1002,11 @@ Decklink output configuration.
|
|
|
938
1002
|
|
|
939
1003
|
| Field | Type | Description |
|
|
940
1004
|
|-------|------|-------------|
|
|
941
|
-
| `
|
|
942
|
-
| `filename` | string |
|
|
943
|
-
| `size_gb` | uint32 |
|
|
944
|
-
| `group_id` | string |
|
|
945
|
-
| `recorder_type` | RecorderType |
|
|
1005
|
+
| `encoder_id` | string | Shared encoder ID |
|
|
1006
|
+
| `filename` | string | Base filename |
|
|
1007
|
+
| `size_gb` | uint32 | Maximum size in GB |
|
|
1008
|
+
| `group_id` | string | Group ID for organization |
|
|
1009
|
+
| `recorder_type` | RecorderType | Recorder type |
|
|
946
1010
|
|
|
947
1011
|
|
|
948
1012
|
### EncodedSrtOutputConfig
|
|
@@ -950,10 +1014,10 @@ Decklink output configuration.
|
|
|
950
1014
|
|
|
951
1015
|
|
|
952
1016
|
|
|
953
|
-
| Field | Type | Description |
|
|
954
|
-
|-------|------|-------------|
|
|
955
|
-
| `url` | string |
|
|
956
|
-
| `
|
|
1017
|
+
| Field | Type | Description |
|
|
1018
|
+
|-------|------|-------------|
|
|
1019
|
+
| `url` | string | SRT URL |
|
|
1020
|
+
| `encoder_id` | string | Shared encoder ID |
|
|
957
1021
|
|
|
958
1022
|
|
|
959
1023
|
### EncodedSuperSlowMoRecorderOutputConfig
|
|
@@ -963,13 +1027,13 @@ Decklink output configuration.
|
|
|
963
1027
|
|
|
964
1028
|
| Field | Type | Description |
|
|
965
1029
|
|-------|------|-------------|
|
|
966
|
-
| `encoder` | EncoderConfig |
|
|
967
|
-
| `filename` | string |
|
|
968
|
-
| `size_gb` | uint32 |
|
|
969
|
-
| `group_id` | string |
|
|
970
|
-
| `recorder_type` | RecorderType |
|
|
971
|
-
| `composition_ids` | repeated string |
|
|
972
|
-
| `source_ids` | repeated string |
|
|
1030
|
+
| `encoder` | EncoderConfig | Encoded transport settings |
|
|
1031
|
+
| `filename` | string | Base filename |
|
|
1032
|
+
| `size_gb` | uint32 | Maximum size in GB |
|
|
1033
|
+
| `group_id` | string | Group ID |
|
|
1034
|
+
| `recorder_type` | RecorderType | Recorder type |
|
|
1035
|
+
| `composition_ids` | repeated string | Compositor IDs to record |
|
|
1036
|
+
| `source_ids` | repeated string | Source IDs to record |
|
|
973
1037
|
|
|
974
1038
|
|
|
975
1039
|
### EncodedWebSocketOutputConfig
|
|
@@ -979,27 +1043,75 @@ Type-specific output payloads
|
|
|
979
1043
|
-----------------------------------------------------------------------------
|
|
980
1044
|
|
|
981
1045
|
|
|
982
|
-
| Field | Type | Description |
|
|
983
|
-
|-------|------|-------------|
|
|
984
|
-
| `channel` | string |
|
|
985
|
-
| `
|
|
986
|
-
| `metadata_tracks` | repeated string |
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
###
|
|
1046
|
+
| Field | Type | Description |
|
|
1047
|
+
|-------|------|-------------|
|
|
1048
|
+
| `channel` | string | WebSocket channel/topic |
|
|
1049
|
+
| `encoder_id` | string | Shared encoder ID |
|
|
1050
|
+
| `metadata_tracks` | repeated string | Track names for outgoing JSON metadata frames (routing resolved via metadataBindings). |
|
|
1051
|
+
|
|
1052
|
+
|
|
1053
|
+
### EncoderAddRequest
|
|
1054
|
+
|
|
1055
|
+
Request to add a shared encoder resource.
|
|
1056
|
+
|
|
1057
|
+
|
|
1058
|
+
| Field | Type | Description |
|
|
1059
|
+
|-------|------|-------------|
|
|
1060
|
+
| `id` | string | Unique encoder ID |
|
|
1061
|
+
| `composition_id` | string | Compositor ID to encode |
|
|
1062
|
+
| `encoder` | EncoderConfig | Encoder settings |
|
|
1063
|
+
|
|
1064
|
+
|
|
1065
|
+
### EncoderConfig
|
|
990
1066
|
|
|
991
1067
|
Encoded output configuration (WebSocket, SRT, MoQ).
|
|
992
1068
|
|
|
993
1069
|
|
|
994
1070
|
| Field | Type | Description |
|
|
995
1071
|
|-------|------|-------------|
|
|
996
|
-
| `codec` | sesame.v1.common.CodecType |
|
|
997
|
-
| `preset` | EncoderPreset |
|
|
998
|
-
| `bitrate_kbps` | uint32 |
|
|
999
|
-
| `keyframe_interval` | uint32 |
|
|
1000
|
-
| `width` | uint32 |
|
|
1001
|
-
| `height` | uint32 |
|
|
1002
|
-
| `fps` | float |
|
|
1072
|
+
| `codec` | sesame.v1.common.CodecType | Encoder codec |
|
|
1073
|
+
| `preset` | EncoderPreset | Encoder preset |
|
|
1074
|
+
| `bitrate_kbps` | uint32 | Bitrate in kbps |
|
|
1075
|
+
| `keyframe_interval` | uint32 | GOP length in frames (0 = codec/preset default) |
|
|
1076
|
+
| `width` | uint32 | Video width |
|
|
1077
|
+
| `height` | uint32 | Video height |
|
|
1078
|
+
| `fps` | float | Video framerate |
|
|
1079
|
+
|
|
1080
|
+
|
|
1081
|
+
### EncoderRemoveRequest
|
|
1082
|
+
|
|
1083
|
+
Request to remove a shared encoder resource.
|
|
1084
|
+
|
|
1085
|
+
|
|
1086
|
+
| Field | Type | Description |
|
|
1087
|
+
|-------|------|-------------|
|
|
1088
|
+
| `id` | string | Encoder ID to remove |
|
|
1089
|
+
|
|
1090
|
+
|
|
1091
|
+
### EncoderStatus
|
|
1092
|
+
|
|
1093
|
+
Encoder status information.
|
|
1094
|
+
|
|
1095
|
+
|
|
1096
|
+
| Field | Type | Description |
|
|
1097
|
+
|-------|------|-------------|
|
|
1098
|
+
| `id` | string | Encoder ID |
|
|
1099
|
+
| `type` | EncoderType | Encoder type |
|
|
1100
|
+
| `state` | sesame.v1.common.ConnectionState | Connection/lifecycle state |
|
|
1101
|
+
| `msg` | optional string | Error message (typically when state == ERROR) |
|
|
1102
|
+
| `composition_id` | string | Compositor ID being encoded |
|
|
1103
|
+
|
|
1104
|
+
|
|
1105
|
+
### EncoderUpdateRequest
|
|
1106
|
+
|
|
1107
|
+
Request to update an existing shared encoder resource.
|
|
1108
|
+
|
|
1109
|
+
|
|
1110
|
+
| Field | Type | Description |
|
|
1111
|
+
|-------|------|-------------|
|
|
1112
|
+
| `id` | string | Encoder ID to update |
|
|
1113
|
+
| `composition_id` | string | Compositor ID to encode |
|
|
1114
|
+
| `encoder` | EncoderConfig | Encoder settings |
|
|
1003
1115
|
|
|
1004
1116
|
|
|
1005
1117
|
### KeyframeRequest
|
|
@@ -1010,7 +1122,7 @@ Requests an immediate keyframe (IDR frame) from an encoder output.
|
|
|
1010
1122
|
|
|
1011
1123
|
| Field | Type | Description |
|
|
1012
1124
|
|-------|------|-------------|
|
|
1013
|
-
| `id` | string |
|
|
1125
|
+
| `id` | string | ID of the output to request keyframe from |
|
|
1014
1126
|
|
|
1015
1127
|
|
|
1016
1128
|
### OutputAddRequest
|
|
@@ -1020,17 +1132,17 @@ Request to add a new output.
|
|
|
1020
1132
|
|
|
1021
1133
|
| Field | Type | Description |
|
|
1022
1134
|
|-------|------|-------------|
|
|
1023
|
-
| `id` | string |
|
|
1024
|
-
| `composition_id` | string |
|
|
1025
|
-
| `audio_mix_ids` | repeated string |
|
|
1026
|
-
| `use_as_clock` | bool |
|
|
1027
|
-
| `websocket` | EncodedWebSocketOutputConfig |
|
|
1028
|
-
| `recorder` | EncodedRecorderOutputConfig |
|
|
1029
|
-
| `super_slowmo_recorder` | EncodedSuperSlowMoRecorderOutputConfig |
|
|
1030
|
-
| `srt` | EncodedSrtOutputConfig |
|
|
1031
|
-
| `moq` | EncodedMoqOutputConfig |
|
|
1032
|
-
| `decklink` | DecklinkOutputConfig |
|
|
1033
|
-
| `system_audio` | SystemAudioOutputConfig |
|
|
1135
|
+
| `id` | string | Unique output ID |
|
|
1136
|
+
| `composition_id` | string | Compositor ID to output |
|
|
1137
|
+
| `audio_mix_ids` | repeated string | Audio mixer IDs |
|
|
1138
|
+
| `use_as_clock` | bool | Use as master clock |
|
|
1139
|
+
| `websocket` | EncodedWebSocketOutputConfig | |
|
|
1140
|
+
| `recorder` | EncodedRecorderOutputConfig | |
|
|
1141
|
+
| `super_slowmo_recorder` | EncodedSuperSlowMoRecorderOutputConfig | |
|
|
1142
|
+
| `srt` | EncodedSrtOutputConfig | |
|
|
1143
|
+
| `moq` | EncodedMoqOutputConfig | |
|
|
1144
|
+
| `decklink` | DecklinkOutputConfig | |
|
|
1145
|
+
| `system_audio` | SystemAudioOutputConfig | |
|
|
1034
1146
|
|
|
1035
1147
|
|
|
1036
1148
|
### OutputRemoveRequest
|
|
@@ -1040,7 +1152,7 @@ Request to remove an output.
|
|
|
1040
1152
|
|
|
1041
1153
|
| Field | Type | Description |
|
|
1042
1154
|
|-------|------|-------------|
|
|
1043
|
-
| `id` | string |
|
|
1155
|
+
| `id` | string | Output ID to remove |
|
|
1044
1156
|
|
|
1045
1157
|
|
|
1046
1158
|
### OutputStatus
|
|
@@ -1050,13 +1162,14 @@ Output status information.
|
|
|
1050
1162
|
|
|
1051
1163
|
| Field | Type | Description |
|
|
1052
1164
|
|-------|------|-------------|
|
|
1053
|
-
| `id` | string |
|
|
1054
|
-
| `type` | OutputType |
|
|
1055
|
-
| `state` | sesame.v1.common.ConnectionState |
|
|
1056
|
-
| `msg` | optional string |
|
|
1057
|
-
| `url` | string |
|
|
1058
|
-
| `buffer_size` | uint32 |
|
|
1059
|
-
| `srt_stats` | optional sesame.v1.status.SRTSendStatistics |
|
|
1165
|
+
| `id` | string | Output ID |
|
|
1166
|
+
| `type` | OutputType | Output type |
|
|
1167
|
+
| `state` | sesame.v1.common.ConnectionState | Connection/lifecycle state |
|
|
1168
|
+
| `msg` | optional string | Error message (typically when state == ERROR) |
|
|
1169
|
+
| `url` | string | Output URL |
|
|
1170
|
+
| `buffer_size` | uint32 | Buffer size (frames) |
|
|
1171
|
+
| `srt_stats` | optional sesame.v1.status.SRTSendStatistics | SRT stats (if SRT output) |
|
|
1172
|
+
| `encoder_id` | string | Shared encoder ID used by this output, if any |
|
|
1060
1173
|
|
|
1061
1174
|
|
|
1062
1175
|
### OutputUpdateRequest
|
|
@@ -1066,17 +1179,17 @@ Request to update an existing output.
|
|
|
1066
1179
|
|
|
1067
1180
|
| Field | Type | Description |
|
|
1068
1181
|
|-------|------|-------------|
|
|
1069
|
-
| `id` | string |
|
|
1070
|
-
| `composition_id` | string |
|
|
1071
|
-
| `audio_mix_ids` | repeated string |
|
|
1072
|
-
| `use_as_clock` | bool |
|
|
1073
|
-
| `websocket` | EncodedWebSocketOutputConfig |
|
|
1074
|
-
| `recorder` | EncodedRecorderOutputConfig |
|
|
1075
|
-
| `super_slowmo_recorder` | EncodedSuperSlowMoRecorderOutputConfig |
|
|
1076
|
-
| `srt` | EncodedSrtOutputConfig |
|
|
1077
|
-
| `moq` | EncodedMoqOutputConfig |
|
|
1078
|
-
| `decklink` | DecklinkOutputConfig |
|
|
1079
|
-
| `system_audio` | SystemAudioOutputConfig |
|
|
1182
|
+
| `id` | string | Output ID to update |
|
|
1183
|
+
| `composition_id` | string | Compositor ID |
|
|
1184
|
+
| `audio_mix_ids` | repeated string | Audio mixer IDs |
|
|
1185
|
+
| `use_as_clock` | bool | Use as master clock |
|
|
1186
|
+
| `websocket` | EncodedWebSocketOutputConfig | |
|
|
1187
|
+
| `recorder` | EncodedRecorderOutputConfig | |
|
|
1188
|
+
| `super_slowmo_recorder` | EncodedSuperSlowMoRecorderOutputConfig | |
|
|
1189
|
+
| `srt` | EncodedSrtOutputConfig | |
|
|
1190
|
+
| `moq` | EncodedMoqOutputConfig | |
|
|
1191
|
+
| `decklink` | DecklinkOutputConfig | |
|
|
1192
|
+
| `system_audio` | SystemAudioOutputConfig | |
|
|
1080
1193
|
|
|
1081
1194
|
|
|
1082
1195
|
### SystemAudioOutputConfig
|
|
@@ -1086,7 +1199,7 @@ Request to update an existing output.
|
|
|
1086
1199
|
|
|
1087
1200
|
| Field | Type | Description |
|
|
1088
1201
|
|-------|------|-------------|
|
|
1089
|
-
| `device_name` | string |
|
|
1202
|
+
| `device_name` | string | System audio device settings |
|
|
1090
1203
|
|
|
1091
1204
|
|
|
1092
1205
|
---
|
|
@@ -1118,16 +1231,16 @@ Playlist item for recorder source playback.
|
|
|
1118
1231
|
|
|
1119
1232
|
| Field | Type | Description |
|
|
1120
1233
|
|-------|------|-------------|
|
|
1121
|
-
| `recorder_id` | string |
|
|
1122
|
-
| `id` | uint64 |
|
|
1123
|
-
| `transition_time_us` | int64 |
|
|
1124
|
-
| `transition_type` | TransitionType |
|
|
1125
|
-
| `transition_fade_color` | sesame.v1.common.Vec4 |
|
|
1126
|
-
| `speed` | float |
|
|
1127
|
-
| `audio_routing` | repeated uint32 |
|
|
1128
|
-
| `start_time_us` | optional int64 |
|
|
1129
|
-
| `end_time_us` | optional int64 |
|
|
1130
|
-
| `audio_levels` | repeated float |
|
|
1234
|
+
| `recorder_id` | string | Recorder ID |
|
|
1235
|
+
| `id` | uint64 | Clip ID |
|
|
1236
|
+
| `transition_time_us` | int64 | Transition duration (us) |
|
|
1237
|
+
| `transition_type` | TransitionType | Transition type |
|
|
1238
|
+
| `transition_fade_color` | sesame.v1.common.Vec4 | Fade color |
|
|
1239
|
+
| `speed` | float | Playback speed |
|
|
1240
|
+
| `audio_routing` | repeated uint32 | Audio routing |
|
|
1241
|
+
| `start_time_us` | optional int64 | Start time (us) |
|
|
1242
|
+
| `end_time_us` | optional int64 | End time (us) |
|
|
1243
|
+
| `audio_levels` | repeated float | Audio levels per channel (0.0-1.0) |
|
|
1131
1244
|
|
|
1132
1245
|
|
|
1133
1246
|
### RecorderClip
|
|
@@ -1137,15 +1250,15 @@ Recorder clip information.
|
|
|
1137
1250
|
|
|
1138
1251
|
| Field | Type | Description |
|
|
1139
1252
|
|-------|------|-------------|
|
|
1140
|
-
| `id` | uint64 |
|
|
1141
|
-
| `name` | string |
|
|
1142
|
-
| `user_data` | string |
|
|
1143
|
-
| `flags` | uint64 |
|
|
1144
|
-
| `start_time_us` | int64 |
|
|
1145
|
-
| `end_time_us` | int64 |
|
|
1146
|
-
| `locked_start_us` | int64 |
|
|
1147
|
-
| `locked_end_us` | int64 |
|
|
1148
|
-
| `user_time_us` | int64 |
|
|
1253
|
+
| `id` | uint64 | Clip ID |
|
|
1254
|
+
| `name` | string | Clip name |
|
|
1255
|
+
| `user_data` | string | User-defined data |
|
|
1256
|
+
| `flags` | uint64 | Clip flags (bitfield) |
|
|
1257
|
+
| `start_time_us` | int64 | Start time (us) |
|
|
1258
|
+
| `end_time_us` | int64 | End time (us) |
|
|
1259
|
+
| `locked_start_us` | int64 | Locked start time (us) |
|
|
1260
|
+
| `locked_end_us` | int64 | Locked end time (us) |
|
|
1261
|
+
| `user_time_us` | int64 | User-defined timecode (us) |
|
|
1149
1262
|
|
|
1150
1263
|
|
|
1151
1264
|
### RecorderClipAddRequest
|
|
@@ -1155,7 +1268,7 @@ Request to add a clip to a recorder.
|
|
|
1155
1268
|
|
|
1156
1269
|
| Field | Type | Description |
|
|
1157
1270
|
|-------|------|-------------|
|
|
1158
|
-
| `clip` | RecorderClip |
|
|
1271
|
+
| `clip` | RecorderClip | Clip to add |
|
|
1159
1272
|
|
|
1160
1273
|
|
|
1161
1274
|
### RecorderClipCopyRequest
|
|
@@ -1165,8 +1278,8 @@ Request to copy a clip.
|
|
|
1165
1278
|
|
|
1166
1279
|
| Field | Type | Description |
|
|
1167
1280
|
|-------|------|-------------|
|
|
1168
|
-
| `clip_id` | uint64 |
|
|
1169
|
-
| `new_clip_id` | uint64 |
|
|
1281
|
+
| `clip_id` | uint64 | Source clip ID |
|
|
1282
|
+
| `new_clip_id` | uint64 | Destination clip ID |
|
|
1170
1283
|
|
|
1171
1284
|
|
|
1172
1285
|
### RecorderClipFlagSetRequest
|
|
@@ -1176,9 +1289,9 @@ Request to set a clip flag.
|
|
|
1176
1289
|
|
|
1177
1290
|
| Field | Type | Description |
|
|
1178
1291
|
|-------|------|-------------|
|
|
1179
|
-
| `clip_id` | uint64 |
|
|
1180
|
-
| `flag` | uint64 |
|
|
1181
|
-
| `value` | bool |
|
|
1292
|
+
| `clip_id` | uint64 | Clip ID |
|
|
1293
|
+
| `flag` | uint64 | Flag to set/clear |
|
|
1294
|
+
| `value` | bool | Flag value |
|
|
1182
1295
|
|
|
1183
1296
|
|
|
1184
1297
|
### RecorderClipRange
|
|
@@ -1188,8 +1301,8 @@ Clip id range.
|
|
|
1188
1301
|
|
|
1189
1302
|
| Field | Type | Description |
|
|
1190
1303
|
|-------|------|-------------|
|
|
1191
|
-
| `low` | uint64 |
|
|
1192
|
-
| `high` | uint64 |
|
|
1304
|
+
| `low` | uint64 | Low clip ID |
|
|
1305
|
+
| `high` | uint64 | High clip ID |
|
|
1193
1306
|
|
|
1194
1307
|
|
|
1195
1308
|
### RecorderClipRemoveRequest
|
|
@@ -1199,7 +1312,7 @@ Request to remove a clip.
|
|
|
1199
1312
|
|
|
1200
1313
|
| Field | Type | Description |
|
|
1201
1314
|
|-------|------|-------------|
|
|
1202
|
-
| `clip_id` | uint64 |
|
|
1315
|
+
| `clip_id` | uint64 | Clip ID to remove |
|
|
1203
1316
|
|
|
1204
1317
|
|
|
1205
1318
|
### RecorderClipsClearRequest
|
|
@@ -1209,9 +1322,9 @@ Request to clear clips with filters.
|
|
|
1209
1322
|
|
|
1210
1323
|
| Field | Type | Description |
|
|
1211
1324
|
|-------|------|-------------|
|
|
1212
|
-
| `protected_ranges` | repeated RecorderClipRange |
|
|
1213
|
-
| `must_have_flags` | uint64 |
|
|
1214
|
-
| `must_not_have_flags` | uint64 |
|
|
1325
|
+
| `protected_ranges` | repeated RecorderClipRange | Protected time ranges |
|
|
1326
|
+
| `must_have_flags` | uint64 | Clips must have these flags |
|
|
1327
|
+
| `must_not_have_flags` | uint64 | Clips must not have these flags |
|
|
1215
1328
|
|
|
1216
1329
|
|
|
1217
1330
|
### RecorderClipsGetRequest
|
|
@@ -1228,7 +1341,7 @@ Response with recorder clips.
|
|
|
1228
1341
|
|
|
1229
1342
|
| Field | Type | Description |
|
|
1230
1343
|
|-------|------|-------------|
|
|
1231
|
-
| `clips` | repeated RecorderClip |
|
|
1344
|
+
| `clips` | repeated RecorderClip | List of clips |
|
|
1232
1345
|
|
|
1233
1346
|
|
|
1234
1347
|
### RecorderClipsVerifyRequest
|
|
@@ -1245,7 +1358,7 @@ Response with verification errors.
|
|
|
1245
1358
|
|
|
1246
1359
|
| Field | Type | Description |
|
|
1247
1360
|
|-------|------|-------------|
|
|
1248
|
-
| `errors` | repeated string |
|
|
1361
|
+
| `errors` | repeated string | List of errors |
|
|
1249
1362
|
|
|
1250
1363
|
|
|
1251
1364
|
### RecorderEvent
|
|
@@ -1255,9 +1368,9 @@ Recorder event notification.
|
|
|
1255
1368
|
|
|
1256
1369
|
| Field | Type | Description |
|
|
1257
1370
|
|-------|------|-------------|
|
|
1258
|
-
| `id` | string |
|
|
1259
|
-
| `online` | bool |
|
|
1260
|
-
| `message` | optional string |
|
|
1371
|
+
| `id` | string | Recorder ID |
|
|
1372
|
+
| `online` | bool | Is recorder online |
|
|
1373
|
+
| `message` | optional string | Event message |
|
|
1261
1374
|
|
|
1262
1375
|
|
|
1263
1376
|
### RecorderLockedDurationSetRequest
|
|
@@ -1267,7 +1380,7 @@ Request to set locked duration.
|
|
|
1267
1380
|
|
|
1268
1381
|
| Field | Type | Description |
|
|
1269
1382
|
|-------|------|-------------|
|
|
1270
|
-
| `frames` | uint32 |
|
|
1383
|
+
| `frames` | uint32 | Locked duration in frames |
|
|
1271
1384
|
|
|
1272
1385
|
|
|
1273
1386
|
### RecorderMetadataSetRequest
|
|
@@ -1277,7 +1390,7 @@ Request to set recorder metadata.
|
|
|
1277
1390
|
|
|
1278
1391
|
| Field | Type | Description |
|
|
1279
1392
|
|-------|------|-------------|
|
|
1280
|
-
| `metadata` | sesame.v1.common.TransportMetadata |
|
|
1393
|
+
| `metadata` | sesame.v1.common.TransportMetadata | Metadata to set |
|
|
1281
1394
|
|
|
1282
1395
|
|
|
1283
1396
|
### RecorderOkResponse
|
|
@@ -1294,16 +1407,16 @@ Recorder request wrapper.
|
|
|
1294
1407
|
|
|
1295
1408
|
| Field | Type | Description |
|
|
1296
1409
|
|-------|------|-------------|
|
|
1297
|
-
| `recorder_id` | string |
|
|
1298
|
-
| `get_clips` | RecorderClipsGetRequest |
|
|
1299
|
-
| `add_clip` | RecorderClipAddRequest |
|
|
1300
|
-
| `remove_clip` | RecorderClipRemoveRequest |
|
|
1301
|
-
| `clear_clips` | RecorderClipsClearRequest |
|
|
1302
|
-
| `set_metadata` | RecorderMetadataSetRequest |
|
|
1303
|
-
| `verify_clips` | RecorderClipsVerifyRequest |
|
|
1304
|
-
| `set_clip_flag` | RecorderClipFlagSetRequest |
|
|
1305
|
-
| `copy_clip` | RecorderClipCopyRequest |
|
|
1306
|
-
| `set_locked_duration` | RecorderLockedDurationSetRequest |
|
|
1410
|
+
| `recorder_id` | string | Recorder ID |
|
|
1411
|
+
| `get_clips` | RecorderClipsGetRequest | |
|
|
1412
|
+
| `add_clip` | RecorderClipAddRequest | |
|
|
1413
|
+
| `remove_clip` | RecorderClipRemoveRequest | |
|
|
1414
|
+
| `clear_clips` | RecorderClipsClearRequest | |
|
|
1415
|
+
| `set_metadata` | RecorderMetadataSetRequest | |
|
|
1416
|
+
| `verify_clips` | RecorderClipsVerifyRequest | |
|
|
1417
|
+
| `set_clip_flag` | RecorderClipFlagSetRequest | |
|
|
1418
|
+
| `copy_clip` | RecorderClipCopyRequest | |
|
|
1419
|
+
| `set_locked_duration` | RecorderLockedDurationSetRequest | |
|
|
1307
1420
|
|
|
1308
1421
|
|
|
1309
1422
|
### RecorderResponse
|
|
@@ -1313,9 +1426,9 @@ Recorder response wrapper.
|
|
|
1313
1426
|
|
|
1314
1427
|
| Field | Type | Description |
|
|
1315
1428
|
|-------|------|-------------|
|
|
1316
|
-
| `get_clips_response` | RecorderClipsGetResponse |
|
|
1317
|
-
| `ok_response` | RecorderOkResponse |
|
|
1318
|
-
| `verify_clips_response` | RecorderClipsVerifyResponse |
|
|
1429
|
+
| `get_clips_response` | RecorderClipsGetResponse | |
|
|
1430
|
+
| `ok_response` | RecorderOkResponse | |
|
|
1431
|
+
| `verify_clips_response` | RecorderClipsVerifyResponse | |
|
|
1319
1432
|
|
|
1320
1433
|
|
|
1321
1434
|
### RecorderStatus
|
|
@@ -1325,7 +1438,7 @@ Recorder status.
|
|
|
1325
1438
|
|
|
1326
1439
|
| Field | Type | Description |
|
|
1327
1440
|
|-------|------|-------------|
|
|
1328
|
-
| `id` | string |
|
|
1441
|
+
| `id` | string | Recorder ID |
|
|
1329
1442
|
|
|
1330
1443
|
|
|
1331
1444
|
---
|
|
@@ -1345,8 +1458,8 @@ Server event notification.
|
|
|
1345
1458
|
|
|
1346
1459
|
| Field | Type | Description |
|
|
1347
1460
|
|-------|------|-------------|
|
|
1348
|
-
| `topic` | sesame.v1.common.EventTopic |
|
|
1349
|
-
| `payload` | bytes |
|
|
1461
|
+
| `topic` | sesame.v1.common.EventTopic | Event topic (typed) |
|
|
1462
|
+
| `payload` | bytes | Serialized event payload |
|
|
1350
1463
|
|
|
1351
1464
|
|
|
1352
1465
|
### Message
|
|
@@ -1358,9 +1471,9 @@ Exactly one payload field will be set, determining the message type.
|
|
|
1358
1471
|
|
|
1359
1472
|
| Field | Type | Description |
|
|
1360
1473
|
|-------|------|-------------|
|
|
1361
|
-
| `request` | Request |
|
|
1362
|
-
| `response` | Response |
|
|
1363
|
-
| `event` | Event |
|
|
1474
|
+
| `request` | Request | Client request |
|
|
1475
|
+
| `response` | Response | Server response |
|
|
1476
|
+
| `event` | Event | Server event |
|
|
1364
1477
|
|
|
1365
1478
|
|
|
1366
1479
|
### Request
|
|
@@ -1370,9 +1483,9 @@ RPC request from client to server.
|
|
|
1370
1483
|
|
|
1371
1484
|
| Field | Type | Description |
|
|
1372
1485
|
|-------|------|-------------|
|
|
1373
|
-
| `method` | string |
|
|
1374
|
-
| `seq` | uint32 |
|
|
1375
|
-
| `payload` | bytes |
|
|
1486
|
+
| `method` | string | RPC method name |
|
|
1487
|
+
| `seq` | uint32 | Sequence number for matching responses |
|
|
1488
|
+
| `payload` | bytes | Serialized request payload |
|
|
1376
1489
|
|
|
1377
1490
|
|
|
1378
1491
|
### Response
|
|
@@ -1389,10 +1502,10 @@ Error handling:
|
|
|
1389
1502
|
|
|
1390
1503
|
| Field | Type | Description |
|
|
1391
1504
|
|-------|------|-------------|
|
|
1392
|
-
| `seq` | uint32 |
|
|
1393
|
-
| `ok` | bool |
|
|
1394
|
-
| `payload` | bytes |
|
|
1395
|
-
| `error` | string |
|
|
1505
|
+
| `seq` | uint32 | Sequence number matching request |
|
|
1506
|
+
| `ok` | bool | Success flag |
|
|
1507
|
+
| `payload` | bytes | Serialized response payload |
|
|
1508
|
+
| `error` | string | Error message (if ok == false) |
|
|
1396
1509
|
|
|
1397
1510
|
|
|
1398
1511
|
---
|
|
@@ -1413,10 +1526,10 @@ that have a binding from this node+metadataId.
|
|
|
1413
1526
|
|
|
1414
1527
|
| Field | Type | Description |
|
|
1415
1528
|
|-------|------|-------------|
|
|
1416
|
-
| `node_id` | string |
|
|
1417
|
-
| `metadata_id` | string |
|
|
1418
|
-
| `payload` | bytes |
|
|
1419
|
-
| `data_type` | sesame.v1.wire.DataType |
|
|
1529
|
+
| `node_id` | string | Emitting node ID (e.g. "snigel1") |
|
|
1530
|
+
| `metadata_id` | string | MetadataDef.id of the capability (e.g. "snigel.state.v1") |
|
|
1531
|
+
| `payload` | bytes | Payload bytes (JSON or binary depending on data_type) |
|
|
1532
|
+
| `data_type` | sesame.v1.wire.DataType | Wire data type (default DATA_TYPE_JSON for backward compat) |
|
|
1420
1533
|
|
|
1421
1534
|
|
|
1422
1535
|
### SesameAPIService
|
|
@@ -1474,6 +1587,30 @@ Video preprocessing step type.
|
|
|
1474
1587
|
| 3 | `PREPROCESS_STEP_BLUR` | Blur effect |
|
|
1475
1588
|
|
|
1476
1589
|
|
|
1590
|
+
### SignalGeneratorAudioMode
|
|
1591
|
+
|
|
1592
|
+
Signal generator audio program.
|
|
1593
|
+
|
|
1594
|
+
| Value | Name | Description |
|
|
1595
|
+
|-------|------|-------------|
|
|
1596
|
+
| 0 | `SIGNAL_GENERATOR_AUDIO_MODE_SYNC` | Silence with a sync burst aligned to the lip-sync overlay |
|
|
1597
|
+
| 1 | `SIGNAL_GENERATOR_AUDIO_MODE_CHANNEL_IDENT` | Spoken ident ("Channel one", ...) cycling through the channels, 1 kHz tone between idents |
|
|
1598
|
+
| 2 | `SIGNAL_GENERATOR_AUDIO_MODE_TONE` | Continuous 1 kHz tone on all channels |
|
|
1599
|
+
| 3 | `SIGNAL_GENERATOR_AUDIO_MODE_SILENCE` | Silence |
|
|
1600
|
+
|
|
1601
|
+
|
|
1602
|
+
### SignalGeneratorVideoPattern
|
|
1603
|
+
|
|
1604
|
+
Signal generator video test pattern.
|
|
1605
|
+
|
|
1606
|
+
| Value | Name | Description |
|
|
1607
|
+
|-------|------|-------------|
|
|
1608
|
+
| 0 | `SIGNAL_GENERATOR_VIDEO_PATTERN_BARS` | EBU 75% color bars with moving lip-sync overlay |
|
|
1609
|
+
| 1 | `SIGNAL_GENERATOR_VIDEO_PATTERN_RAMP` | Horizontal R/G/B/luma ramps and a 16-step staircase |
|
|
1610
|
+
| 2 | `SIGNAL_GENERATOR_VIDEO_PATTERN_GRID` | Crosshatch grid with border, center marker and circle |
|
|
1611
|
+
| 3 | `SIGNAL_GENERATOR_VIDEO_PATTERN_FILL_KEY` | Fill/key sync + alpha ramp: alpha ramp/staircase, sweep bar and frame counter drawn in both fill and key |
|
|
1612
|
+
|
|
1613
|
+
|
|
1477
1614
|
### SourceTextureSize
|
|
1478
1615
|
|
|
1479
1616
|
Source texture size for GPU upload.
|
|
@@ -1504,10 +1641,10 @@ Source transport command type.
|
|
|
1504
1641
|
| 10 | `SOURCE_TRANSPORT_CMD_POST_ROLL` | Post-roll |
|
|
1505
1642
|
| 11 | `SOURCE_TRANSPORT_CMD_PRE_ROLL` | Pre-roll |
|
|
1506
1643
|
| 12 | `SOURCE_TRANSPORT_CMD_NEXT` | Next item |
|
|
1507
|
-
| 13 | `SOURCE_TRANSPORT_CMD_SKIP_NEXT` | Skip to next |
|
|
1508
|
-
| 14 | `SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED` | Disable transitions |
|
|
1509
|
-
| 15 | `SOURCE_TRANSPORT_CMD_SET_SCRUBBING` | Set scrubbing mode |
|
|
1510
|
-
| 16 | `SOURCE_TRANSPORT_CMD_SET_END_NOTIFICATION` | Set near-end callback
|
|
1644
|
+
| 13 | `SOURCE_TRANSPORT_CMD_SKIP_NEXT` | Skip to next |
|
|
1645
|
+
| 14 | `SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED` | Disable transitions |
|
|
1646
|
+
| 15 | `SOURCE_TRANSPORT_CMD_SET_SCRUBBING` | Set scrubbing mode |
|
|
1647
|
+
| 16 | `SOURCE_TRANSPORT_CMD_SET_END_NOTIFICATION` | Set near-end callback offset (int64 µs before end; 0 = disabled) |
|
|
1511
1648
|
|
|
1512
1649
|
|
|
1513
1650
|
### SourceTransportState
|
|
@@ -1549,9 +1686,9 @@ Type of video/audio source.
|
|
|
1549
1686
|
|
|
1550
1687
|
| Field | Type | Description |
|
|
1551
1688
|
|-------|------|-------------|
|
|
1552
|
-
| `url` | string |
|
|
1553
|
-
| `width` | uint32 |
|
|
1554
|
-
| `height` | uint32 |
|
|
1689
|
+
| `url` | string | Initial page URL |
|
|
1690
|
+
| `width` | uint32 | Optional browser width hint |
|
|
1691
|
+
| `height` | uint32 | Optional browser height hint |
|
|
1555
1692
|
|
|
1556
1693
|
|
|
1557
1694
|
### DecklinkSourceConfig
|
|
@@ -1561,9 +1698,9 @@ Decklink source configuration.
|
|
|
1561
1698
|
|
|
1562
1699
|
| Field | Type | Description |
|
|
1563
1700
|
|-------|------|-------------|
|
|
1564
|
-
| `device_index` | uint32 |
|
|
1565
|
-
| `video_format` | sesame.v1.common.VideoFormat |
|
|
1566
|
-
| `sync_group` | optional uint32 |
|
|
1701
|
+
| `device_index` | uint32 | Decklink device index |
|
|
1702
|
+
| `video_format` | sesame.v1.common.VideoFormat | Video format |
|
|
1703
|
+
| `sync_group` | optional uint32 | Sync group for genlock |
|
|
1567
1704
|
|
|
1568
1705
|
|
|
1569
1706
|
### EjectPlaylistRequest
|
|
@@ -1573,7 +1710,7 @@ Request to eject playlist from recorder source.
|
|
|
1573
1710
|
|
|
1574
1711
|
| Field | Type | Description |
|
|
1575
1712
|
|-------|------|-------------|
|
|
1576
|
-
| `source_id` | string |
|
|
1713
|
+
| `source_id` | string | Source ID |
|
|
1577
1714
|
|
|
1578
1715
|
|
|
1579
1716
|
### FileSourceConfig
|
|
@@ -1583,7 +1720,7 @@ Type-specific source payloads.
|
|
|
1583
1720
|
|
|
1584
1721
|
| Field | Type | Description |
|
|
1585
1722
|
|-------|------|-------------|
|
|
1586
|
-
| `url` | string |
|
|
1723
|
+
| `url` | string | File URL/path |
|
|
1587
1724
|
|
|
1588
1725
|
|
|
1589
1726
|
### LoadPlaylistRequest
|
|
@@ -1593,12 +1730,12 @@ Request to load a playlist into a recorder source.
|
|
|
1593
1730
|
|
|
1594
1731
|
| Field | Type | Description |
|
|
1595
1732
|
|-------|------|-------------|
|
|
1596
|
-
| `source_id` | string |
|
|
1597
|
-
| `user_playlist_id` | string |
|
|
1598
|
-
| `items` | repeated sesame.v1.recorder.PlaylistItem |
|
|
1599
|
-
| `start_time_us` | optional int64 |
|
|
1600
|
-
| `start_index` | optional int64 |
|
|
1601
|
-
| `material_pos_us` | optional int64 |
|
|
1733
|
+
| `source_id` | string | Source ID |
|
|
1734
|
+
| `user_playlist_id` | string | User playlist ID |
|
|
1735
|
+
| `items` | repeated sesame.v1.recorder.PlaylistItem | Playlist items |
|
|
1736
|
+
| `start_time_us` | optional int64 | Start time (us) |
|
|
1737
|
+
| `start_index` | optional int64 | Start item index |
|
|
1738
|
+
| `material_pos_us` | optional int64 | Material position (us) |
|
|
1602
1739
|
|
|
1603
1740
|
|
|
1604
1741
|
### MoqSourceConfig
|
|
@@ -1608,11 +1745,11 @@ Request to load a playlist into a recorder source.
|
|
|
1608
1745
|
|
|
1609
1746
|
| Field | Type | Description |
|
|
1610
1747
|
|-------|------|-------------|
|
|
1611
|
-
| `url` | string |
|
|
1612
|
-
| `broadcast` | string |
|
|
1613
|
-
| `key` | string |
|
|
1614
|
-
| `decode_buffer_frames` | uint32 |
|
|
1615
|
-
| `incoming_metadata_tracks` | repeated string |
|
|
1748
|
+
| `url` | string | MoQ relay URL |
|
|
1749
|
+
| `broadcast` | string | Broadcast namespace |
|
|
1750
|
+
| `key` | string | Authentication key |
|
|
1751
|
+
| `decode_buffer_frames` | uint32 | Live buffer size in frames (0 = use default) |
|
|
1752
|
+
| `incoming_metadata_tracks` | repeated string | Track names for incoming JSON metadata frames (routing resolved via metadataBindings). |
|
|
1616
1753
|
|
|
1617
1754
|
|
|
1618
1755
|
### RTTSourceConfig
|
|
@@ -1622,9 +1759,9 @@ RTT (Render-to-Texture) source configuration.
|
|
|
1622
1759
|
|
|
1623
1760
|
| Field | Type | Description |
|
|
1624
1761
|
|-------|------|-------------|
|
|
1625
|
-
| `rtt_id` | string |
|
|
1626
|
-
| `audio_mixes` | repeated string |
|
|
1627
|
-
| `delay_frames` | uint32 |
|
|
1762
|
+
| `rtt_id` | string | ID of the RTT render target to display |
|
|
1763
|
+
| `audio_mixes` | repeated string | Audio mixer IDs to include |
|
|
1764
|
+
| `delay_frames` | uint32 | Delay in frames |
|
|
1628
1765
|
|
|
1629
1766
|
|
|
1630
1767
|
### RecorderSourceConfig
|
|
@@ -1634,14 +1771,21 @@ RTT (Render-to-Texture) source configuration.
|
|
|
1634
1771
|
|
|
1635
1772
|
| Field | Type | Description |
|
|
1636
1773
|
|-------|------|-------------|
|
|
1637
|
-
| `recorder_id` | string |
|
|
1638
|
-
| `codec` | sesame.v1.common.CodecType |
|
|
1774
|
+
| `recorder_id` | string | Recorder ID |
|
|
1775
|
+
| `codec` | sesame.v1.common.CodecType | Preferred hardware decoder codec |
|
|
1639
1776
|
|
|
1640
1777
|
|
|
1641
1778
|
### SignalGeneratorSourceConfig
|
|
1642
1779
|
|
|
1780
|
+
Signal generator source configuration.
|
|
1643
1781
|
|
|
1644
1782
|
|
|
1783
|
+
| Field | Type | Description |
|
|
1784
|
+
|-------|------|-------------|
|
|
1785
|
+
| `freeze` | bool | Freeze the moving lip-sync overlay at its sync point (static test pattern) |
|
|
1786
|
+
| `video_pattern` | SignalGeneratorVideoPattern | Video test pattern |
|
|
1787
|
+
| `audio_mode` | SignalGeneratorAudioMode | Audio program |
|
|
1788
|
+
|
|
1645
1789
|
|
|
1646
1790
|
### SourceAddRequest
|
|
1647
1791
|
|
|
@@ -1650,8 +1794,8 @@ Request to add a new source.
|
|
|
1650
1794
|
|
|
1651
1795
|
| Field | Type | Description |
|
|
1652
1796
|
|-------|------|-------------|
|
|
1653
|
-
| `id` | string |
|
|
1654
|
-
| `config` | SourceConfig |
|
|
1797
|
+
| `id` | string | Unique source ID |
|
|
1798
|
+
| `config` | SourceConfig | Source configuration |
|
|
1655
1799
|
|
|
1656
1800
|
|
|
1657
1801
|
### SourceCommonConfig
|
|
@@ -1661,16 +1805,16 @@ Shared fields for all source kinds.
|
|
|
1661
1805
|
|
|
1662
1806
|
| Field | Type | Description |
|
|
1663
1807
|
|-------|------|-------------|
|
|
1664
|
-
| `user_id` | string |
|
|
1665
|
-
| `use_as_clock` | bool |
|
|
1666
|
-
| `audio_only` | bool |
|
|
1667
|
-
| `audio_channels` | uint32 |
|
|
1668
|
-
| `loop` | bool |
|
|
1669
|
-
| `play_state` | SourceTransportState |
|
|
1670
|
-
| `mip_map` | bool |
|
|
1671
|
-
| `texture_size` | SourceTextureSize |
|
|
1672
|
-
| `deinterlace` | DeinterlaceType |
|
|
1673
|
-
| `video_processors` | repeated VideoProcessor |
|
|
1808
|
+
| `user_id` | string | User-defined ID |
|
|
1809
|
+
| `use_as_clock` | bool | Use as master clock |
|
|
1810
|
+
| `audio_only` | bool | Audio-only mode |
|
|
1811
|
+
| `audio_channels` | uint32 | Requested/expected audio channel count |
|
|
1812
|
+
| `loop` | bool | Loop playback (if applicable) |
|
|
1813
|
+
| `play_state` | SourceTransportState | Initial playback state |
|
|
1814
|
+
| `mip_map` | bool | Generate mipmaps |
|
|
1815
|
+
| `texture_size` | SourceTextureSize | Texture size for GPU upload |
|
|
1816
|
+
| `deinterlace` | DeinterlaceType | Deinterlace mode |
|
|
1817
|
+
| `video_processors` | repeated VideoProcessor | Video processors |
|
|
1674
1818
|
|
|
1675
1819
|
|
|
1676
1820
|
### SourceConfig
|
|
@@ -1681,17 +1825,17 @@ Defines how a source is created and configured.
|
|
|
1681
1825
|
|
|
1682
1826
|
| Field | Type | Description |
|
|
1683
1827
|
|-------|------|-------------|
|
|
1684
|
-
| `common` | SourceCommonConfig |
|
|
1685
|
-
| `file` | FileSourceConfig |
|
|
1686
|
-
| `recorder` | RecorderSourceConfig |
|
|
1687
|
-
| `browser` | BrowserSourceConfig |
|
|
1688
|
-
| `rtt` | RTTSourceConfig |
|
|
1689
|
-
| `decklink` | DecklinkSourceConfig |
|
|
1690
|
-
| `signal_generator` | SignalGeneratorSourceConfig |
|
|
1691
|
-
| `system_audio` | SystemAudioSourceConfig |
|
|
1692
|
-
| `srt_stream` | SrtSourceConfig |
|
|
1693
|
-
| `websocket` | WebsocketSourceConfig |
|
|
1694
|
-
| `moq` | MoqSourceConfig |
|
|
1828
|
+
| `common` | SourceCommonConfig | Shared source settings |
|
|
1829
|
+
| `file` | FileSourceConfig | SOURCE_TYPE_FILE |
|
|
1830
|
+
| `recorder` | RecorderSourceConfig | SOURCE_TYPE_RECORDER |
|
|
1831
|
+
| `browser` | BrowserSourceConfig | SOURCE_TYPE_BROWSER |
|
|
1832
|
+
| `rtt` | RTTSourceConfig | SOURCE_TYPE_RTT |
|
|
1833
|
+
| `decklink` | DecklinkSourceConfig | SOURCE_TYPE_DECKLINK |
|
|
1834
|
+
| `signal_generator` | SignalGeneratorSourceConfig | SOURCE_TYPE_SIGNAL_GENERATOR |
|
|
1835
|
+
| `system_audio` | SystemAudioSourceConfig | SOURCE_TYPE_SYSTEM_AUDIO |
|
|
1836
|
+
| `srt_stream` | SrtSourceConfig | SOURCE_TYPE_SRT_STREAM |
|
|
1837
|
+
| `websocket` | WebsocketSourceConfig | SOURCE_TYPE_WEBSOCKET |
|
|
1838
|
+
| `moq` | MoqSourceConfig | SOURCE_TYPE_MOQ |
|
|
1695
1839
|
|
|
1696
1840
|
|
|
1697
1841
|
### SourceMetadataEvent
|
|
@@ -1701,8 +1845,8 @@ Source metadata transport event notification.
|
|
|
1701
1845
|
|
|
1702
1846
|
| Field | Type | Description |
|
|
1703
1847
|
|-------|------|-------------|
|
|
1704
|
-
| `source_id` | string |
|
|
1705
|
-
| `metadata` | sesame.v1.common.TransportMetadata |
|
|
1848
|
+
| `source_id` | string | Source ID |
|
|
1849
|
+
| `metadata` | sesame.v1.common.TransportMetadata | Event metadata |
|
|
1706
1850
|
|
|
1707
1851
|
|
|
1708
1852
|
### SourceMetadataSetRequest
|
|
@@ -1712,8 +1856,8 @@ Request to set source metadata.
|
|
|
1712
1856
|
|
|
1713
1857
|
| Field | Type | Description |
|
|
1714
1858
|
|-------|------|-------------|
|
|
1715
|
-
| `source_id` | string |
|
|
1716
|
-
| `metadata` | sesame.v1.common.TransportMetadata |
|
|
1859
|
+
| `source_id` | string | Source ID |
|
|
1860
|
+
| `metadata` | sesame.v1.common.TransportMetadata | Metadata to set |
|
|
1717
1861
|
|
|
1718
1862
|
|
|
1719
1863
|
### SourceRemoveRequest
|
|
@@ -1723,7 +1867,7 @@ Request to remove a source.
|
|
|
1723
1867
|
|
|
1724
1868
|
| Field | Type | Description |
|
|
1725
1869
|
|-------|------|-------------|
|
|
1726
|
-
| `id` | string |
|
|
1870
|
+
| `id` | string | Source ID to remove |
|
|
1727
1871
|
|
|
1728
1872
|
|
|
1729
1873
|
### SourceStatus
|
|
@@ -1733,27 +1877,27 @@ Source status information.
|
|
|
1733
1877
|
|
|
1734
1878
|
| Field | Type | Description |
|
|
1735
1879
|
|-------|------|-------------|
|
|
1736
|
-
| `id` | string |
|
|
1737
|
-
| `type` | SourceType |
|
|
1738
|
-
| `user_id` | string |
|
|
1739
|
-
| `state` | sesame.v1.common.ConnectionState |
|
|
1740
|
-
| `transport_state` | SourceTransportState |
|
|
1741
|
-
| `msg` | optional string |
|
|
1742
|
-
| `url` | string |
|
|
1743
|
-
| `width` | uint32 |
|
|
1744
|
-
| `height` | uint32 |
|
|
1745
|
-
| `fps` | float |
|
|
1746
|
-
| `duration_us` | int64 |
|
|
1747
|
-
| `play_position_us` | int64 |
|
|
1748
|
-
| `video_buf` | int32 |
|
|
1749
|
-
| `audio_buf` | int32 |
|
|
1750
|
-
| `gpu_buf` | int32 |
|
|
1751
|
-
| `audio_channels` | uint32 |
|
|
1752
|
-
| `audio_level` | float |
|
|
1753
|
-
| `lip_sync_offset_us` | int64 |
|
|
1754
|
-
| `decode_timing` | sesame.v1.status.FrameTiming |
|
|
1755
|
-
| `video_buf_avg` | double |
|
|
1756
|
-
| `srt_stats` | optional sesame.v1.status.SRTReceiveStatistics |
|
|
1880
|
+
| `id` | string | Source ID |
|
|
1881
|
+
| `type` | SourceType | Source type |
|
|
1882
|
+
| `user_id` | string | User-defined ID |
|
|
1883
|
+
| `state` | sesame.v1.common.ConnectionState | Connection/lifecycle state |
|
|
1884
|
+
| `transport_state` | SourceTransportState | Transport state |
|
|
1885
|
+
| `msg` | optional string | Error message (typically when state == ERROR) |
|
|
1886
|
+
| `url` | string | Current URL |
|
|
1887
|
+
| `width` | uint32 | Video width |
|
|
1888
|
+
| `height` | uint32 | Video height |
|
|
1889
|
+
| `fps` | float | Video framerate |
|
|
1890
|
+
| `duration_us` | int64 | Duration (us) |
|
|
1891
|
+
| `play_position_us` | int64 | Playback position (us) |
|
|
1892
|
+
| `video_buf` | int32 | Video buffer level (frames) |
|
|
1893
|
+
| `audio_buf` | int32 | Audio buffer level (frames) |
|
|
1894
|
+
| `gpu_buf` | int32 | GPU buffer level (frames) |
|
|
1895
|
+
| `audio_channels` | uint32 | Active audio channels |
|
|
1896
|
+
| `audio_level` | float | Audio level (0.0-1.0) |
|
|
1897
|
+
| `lip_sync_offset_us` | int64 | Lip sync offset (us) |
|
|
1898
|
+
| `decode_timing` | sesame.v1.status.FrameTiming | Decode timing stats |
|
|
1899
|
+
| `video_buf_avg` | double | Average video buffer level |
|
|
1900
|
+
| `srt_stats` | optional sesame.v1.status.SRTReceiveStatistics | SRT stats (if SRT source) |
|
|
1757
1901
|
|
|
1758
1902
|
|
|
1759
1903
|
### SourceTransportCommand
|
|
@@ -1763,9 +1907,9 @@ Source transport command.
|
|
|
1763
1907
|
|
|
1764
1908
|
| Field | Type | Description |
|
|
1765
1909
|
|-------|------|-------------|
|
|
1766
|
-
| `source_id` | string |
|
|
1767
|
-
| `cmd_type` | SourceTransportCommandType |
|
|
1768
|
-
| `value` | sesame.v1.common.PropValue |
|
|
1910
|
+
| `source_id` | string | Source ID |
|
|
1911
|
+
| `cmd_type` | SourceTransportCommandType | Command type |
|
|
1912
|
+
| `value` | sesame.v1.common.PropValue | Command value |
|
|
1769
1913
|
|
|
1770
1914
|
|
|
1771
1915
|
### SourceUpdateRequest
|
|
@@ -1775,8 +1919,8 @@ Request to update an existing source.
|
|
|
1775
1919
|
|
|
1776
1920
|
| Field | Type | Description |
|
|
1777
1921
|
|-------|------|-------------|
|
|
1778
|
-
| `id` | string |
|
|
1779
|
-
| `config` | SourceConfig |
|
|
1922
|
+
| `id` | string | Source ID to update |
|
|
1923
|
+
| `config` | SourceConfig | New configuration |
|
|
1780
1924
|
|
|
1781
1925
|
|
|
1782
1926
|
### SrtSourceConfig
|
|
@@ -1786,8 +1930,8 @@ Request to update an existing source.
|
|
|
1786
1930
|
|
|
1787
1931
|
| Field | Type | Description |
|
|
1788
1932
|
|-------|------|-------------|
|
|
1789
|
-
| `url` | string |
|
|
1790
|
-
| `decode_buffer_frames` | uint32 |
|
|
1933
|
+
| `url` | string | SRT URL |
|
|
1934
|
+
| `decode_buffer_frames` | uint32 | Live buffer size in frames (0 = use default) |
|
|
1791
1935
|
|
|
1792
1936
|
|
|
1793
1937
|
### SystemAudioSourceConfig
|
|
@@ -1797,7 +1941,7 @@ Request to update an existing source.
|
|
|
1797
1941
|
|
|
1798
1942
|
| Field | Type | Description |
|
|
1799
1943
|
|-------|------|-------------|
|
|
1800
|
-
| `device_name` | string |
|
|
1944
|
+
| `device_name` | string | System input/output device name, empty for default |
|
|
1801
1945
|
|
|
1802
1946
|
|
|
1803
1947
|
### TakePlaylistRequest
|
|
@@ -1811,14 +1955,14 @@ between items inside the playlist.
|
|
|
1811
1955
|
|
|
1812
1956
|
| Field | Type | Description |
|
|
1813
1957
|
|-------|------|-------------|
|
|
1814
|
-
| `source_id` | string |
|
|
1815
|
-
| `user_playlist_id` | string |
|
|
1816
|
-
| `items` | repeated sesame.v1.recorder.PlaylistItem |
|
|
1817
|
-
| `start_time_us` | optional int64 |
|
|
1818
|
-
| `start_index` | optional int64 |
|
|
1819
|
-
| `material_pos_us` | optional int64 |
|
|
1820
|
-
| `transition_time_us` | optional int64 |
|
|
1821
|
-
| `playback_speed` | optional float |
|
|
1958
|
+
| `source_id` | string | Destination recorder source ID |
|
|
1959
|
+
| `user_playlist_id` | string | User playlist ID |
|
|
1960
|
+
| `items` | repeated sesame.v1.recorder.PlaylistItem | Playlist items |
|
|
1961
|
+
| `start_time_us` | optional int64 | Start time (us) |
|
|
1962
|
+
| `start_index` | optional int64 | Start item index |
|
|
1963
|
+
| `material_pos_us` | optional int64 | Material position (us) |
|
|
1964
|
+
| `transition_time_us` | optional int64 | Outer take transition duration (us) |
|
|
1965
|
+
| `playback_speed` | optional float | Global playback speed for the take |
|
|
1822
1966
|
|
|
1823
1967
|
|
|
1824
1968
|
### TransportControlRequest
|
|
@@ -1834,8 +1978,8 @@ to the source the track is bound to; it cannot control arbitrary sources.
|
|
|
1834
1978
|
|
|
1835
1979
|
| Field | Type | Description |
|
|
1836
1980
|
|-------|------|-------------|
|
|
1837
|
-
| `cmd_type` | SourceTransportCommandType |
|
|
1838
|
-
| `value` | sesame.v1.common.PropValue |
|
|
1981
|
+
| `cmd_type` | SourceTransportCommandType | |
|
|
1982
|
+
| `value` | sesame.v1.common.PropValue | Optional; semantics depend on cmd_type |
|
|
1839
1983
|
|
|
1840
1984
|
|
|
1841
1985
|
### VideoProcessor
|
|
@@ -1845,9 +1989,9 @@ Video processor instance configuration.
|
|
|
1845
1989
|
|
|
1846
1990
|
| Field | Type | Description |
|
|
1847
1991
|
|-------|------|-------------|
|
|
1848
|
-
| `id` | string |
|
|
1849
|
-
| `type` | PreprocessStep |
|
|
1850
|
-
| `params` | repeated VideoProcessorParam |
|
|
1992
|
+
| `id` | string | Unique instance ID |
|
|
1993
|
+
| `type` | PreprocessStep | Processor type |
|
|
1994
|
+
| `params` | repeated VideoProcessorParam | Processor parameters |
|
|
1851
1995
|
|
|
1852
1996
|
|
|
1853
1997
|
### VideoProcessorParam
|
|
@@ -1857,8 +2001,8 @@ Video processor parameter (mirrors AudioPluginParam).
|
|
|
1857
2001
|
|
|
1858
2002
|
| Field | Type | Description |
|
|
1859
2003
|
|-------|------|-------------|
|
|
1860
|
-
| `id` | uint32 |
|
|
1861
|
-
| `float_value` | float |
|
|
2004
|
+
| `id` | uint32 | Parameter ID |
|
|
2005
|
+
| `float_value` | float | Parameter value |
|
|
1862
2006
|
|
|
1863
2007
|
|
|
1864
2008
|
### WebsocketSourceConfig
|
|
@@ -1868,9 +2012,9 @@ Video processor parameter (mirrors AudioPluginParam).
|
|
|
1868
2012
|
|
|
1869
2013
|
| Field | Type | Description |
|
|
1870
2014
|
|-------|------|-------------|
|
|
1871
|
-
| `channel` | string |
|
|
1872
|
-
| `decode_buffer_frames` | uint32 |
|
|
1873
|
-
| `incoming_metadata_tracks` | repeated string |
|
|
2015
|
+
| `channel` | string | WebSocket channel/topic |
|
|
2016
|
+
| `decode_buffer_frames` | uint32 | Live buffer size in frames (0 = use default) |
|
|
2017
|
+
| `incoming_metadata_tracks` | repeated string | Track names for incoming JSON metadata frames (routing resolved via metadataBindings). |
|
|
1874
2018
|
|
|
1875
2019
|
|
|
1876
2020
|
---
|
|
@@ -1892,10 +2036,10 @@ All times are in microseconds (us).
|
|
|
1892
2036
|
|
|
1893
2037
|
| Field | Type | Description |
|
|
1894
2038
|
|-------|------|-------------|
|
|
1895
|
-
| `frame_time` | int32 |
|
|
1896
|
-
| `frame_time_avg` | int32 |
|
|
1897
|
-
| `frame_time_min` | int32 |
|
|
1898
|
-
| `frame_time_max` | int32 |
|
|
2039
|
+
| `frame_time` | int32 | Current frame time (us) |
|
|
2040
|
+
| `frame_time_avg` | int32 | Average frame time (us) |
|
|
2041
|
+
| `frame_time_min` | int32 | Minimum frame time (us) |
|
|
2042
|
+
| `frame_time_max` | int32 | Maximum frame time (us) |
|
|
1899
2043
|
|
|
1900
2044
|
|
|
1901
2045
|
### MemoryDomainStats
|
|
@@ -1906,9 +2050,9 @@ Tracks memory usage for different allocation domains.
|
|
|
1906
2050
|
|
|
1907
2051
|
| Field | Type | Description |
|
|
1908
2052
|
|-------|------|-------------|
|
|
1909
|
-
| `current_bytes` | uint64 |
|
|
1910
|
-
| `peak_bytes` | uint64 |
|
|
1911
|
-
| `budget_bytes` | uint64 |
|
|
2053
|
+
| `current_bytes` | uint64 | Current allocated bytes |
|
|
2054
|
+
| `peak_bytes` | uint64 | Peak allocated bytes |
|
|
2055
|
+
| `budget_bytes` | uint64 | Budget/limit in bytes |
|
|
1912
2056
|
|
|
1913
2057
|
|
|
1914
2058
|
### SRTReceiveStatistics
|
|
@@ -1920,16 +2064,16 @@ Used for monitoring stream health and diagnosing issues.
|
|
|
1920
2064
|
|
|
1921
2065
|
| Field | Type | Description |
|
|
1922
2066
|
|-------|------|-------------|
|
|
1923
|
-
| `packets_received` | int64 |
|
|
1924
|
-
| `packets_received_lost` | int32 |
|
|
1925
|
-
| `packet_ack_sent` | int32 |
|
|
1926
|
-
| `packet_nack_sent` | int32 |
|
|
1927
|
-
| `bytes_received` | int64 |
|
|
1928
|
-
| `bytes_received_lost` | int64 |
|
|
1929
|
-
| `receive_rate_mbps` | double |
|
|
1930
|
-
| `tsbpd_delay` | int32 |
|
|
1931
|
-
| `bandwidth_mbps` | double |
|
|
1932
|
-
| `rtt_ms` | double |
|
|
2067
|
+
| `packets_received` | int64 | Total packets received |
|
|
2068
|
+
| `packets_received_lost` | int32 | Packets lost during reception |
|
|
2069
|
+
| `packet_ack_sent` | int32 | ACK packets sent |
|
|
2070
|
+
| `packet_nack_sent` | int32 | NACK packets sent (retransmission requests) |
|
|
2071
|
+
| `bytes_received` | int64 | Total bytes received |
|
|
2072
|
+
| `bytes_received_lost` | int64 | Bytes lost during reception |
|
|
2073
|
+
| `receive_rate_mbps` | double | Current receive rate (Mbps) |
|
|
2074
|
+
| `tsbpd_delay` | int32 | Timestamp-based packet delivery delay (ms) |
|
|
2075
|
+
| `bandwidth_mbps` | double | Available bandwidth (Mbps) |
|
|
2076
|
+
| `rtt_ms` | double | Round-trip time (ms) |
|
|
1933
2077
|
|
|
1934
2078
|
|
|
1935
2079
|
### SRTSendStatistics
|
|
@@ -1940,17 +2084,17 @@ Provides detailed metrics for SRT stream transmission.
|
|
|
1940
2084
|
|
|
1941
2085
|
| Field | Type | Description |
|
|
1942
2086
|
|-------|------|-------------|
|
|
1943
|
-
| `packets_sent` | int64 |
|
|
1944
|
-
| `packets_sent_lost` | int32 |
|
|
1945
|
-
| `packets_sent_dropped` | int32 |
|
|
1946
|
-
| `packets_retransmitted` | int32 |
|
|
1947
|
-
| `packet_ack_received` | int32 |
|
|
1948
|
-
| `packet_nack_received` | int32 |
|
|
1949
|
-
| `bytes_sent` | int64 |
|
|
1950
|
-
| `bytes_sent_dropped` | int64 |
|
|
1951
|
-
| `send_rate_mbps` | double |
|
|
1952
|
-
| `bandwidth_mbps` | double |
|
|
1953
|
-
| `rtt_ms` | double |
|
|
2087
|
+
| `packets_sent` | int64 | Total packets sent |
|
|
2088
|
+
| `packets_sent_lost` | int32 | Packets lost during transmission |
|
|
2089
|
+
| `packets_sent_dropped` | int32 | Packets dropped (buffer full, etc.) |
|
|
2090
|
+
| `packets_retransmitted` | int32 | Packets retransmitted |
|
|
2091
|
+
| `packet_ack_received` | int32 | ACK packets received |
|
|
2092
|
+
| `packet_nack_received` | int32 | NACK packets received |
|
|
2093
|
+
| `bytes_sent` | int64 | Total bytes sent |
|
|
2094
|
+
| `bytes_sent_dropped` | int64 | Bytes dropped |
|
|
2095
|
+
| `send_rate_mbps` | double | Current send rate (Mbps) |
|
|
2096
|
+
| `bandwidth_mbps` | double | Available bandwidth (Mbps) |
|
|
2097
|
+
| `rtt_ms` | double | Round-trip time (ms) |
|
|
1954
2098
|
|
|
1955
2099
|
|
|
1956
2100
|
### SystemStatus
|
|
@@ -1961,23 +2105,23 @@ Provides overall system health and performance metrics.
|
|
|
1961
2105
|
|
|
1962
2106
|
| Field | Type | Description |
|
|
1963
2107
|
|-------|------|-------------|
|
|
1964
|
-
| `uptime` | uint64 |
|
|
1965
|
-
| `framedrops` | uint32 |
|
|
1966
|
-
| `framerate` | float |
|
|
1967
|
-
| `gpu_mem` | uint64 |
|
|
1968
|
-
| `cpu_mem` | uint64 |
|
|
1969
|
-
| `mem_gpu_pool` | MemoryDomainStats |
|
|
1970
|
-
| `mem_cpu_pool` | MemoryDomainStats |
|
|
1971
|
-
| `mem_gpu_adhoc` | MemoryDomainStats |
|
|
1972
|
-
| `mem_gpu_pinned` | MemoryDomainStats |
|
|
1973
|
-
| `gpu_mem_total` | uint64 |
|
|
1974
|
-
| `gpu_mem_used` | uint64 |
|
|
1975
|
-
| `gpu_utilization` | uint32 |
|
|
1976
|
-
| `gpu_mem_utilization` | uint32 |
|
|
1977
|
-
| `gpu_encoder_utilization` | uint32 |
|
|
1978
|
-
| `gpu_decoder_utilization` | uint32 |
|
|
1979
|
-
| `gpu_name` | string |
|
|
1980
|
-
| `vma_bytes` | uint64 |
|
|
2108
|
+
| `uptime` | uint64 | System uptime in seconds |
|
|
2109
|
+
| `framedrops` | uint32 | Total frames dropped |
|
|
2110
|
+
| `framerate` | float | Current framerate (fps) |
|
|
2111
|
+
| `gpu_mem` | uint64 | GPU memory used (bytes) - deprecated, use gpu_mem_used |
|
|
2112
|
+
| `cpu_mem` | uint64 | CPU memory used (bytes) |
|
|
2113
|
+
| `mem_gpu_pool` | MemoryDomainStats | GPU pool memory stats |
|
|
2114
|
+
| `mem_cpu_pool` | MemoryDomainStats | CPU pool memory stats |
|
|
2115
|
+
| `mem_gpu_adhoc` | MemoryDomainStats | GPU ad-hoc allocation stats |
|
|
2116
|
+
| `mem_gpu_pinned` | MemoryDomainStats | GPU pinned memory stats |
|
|
2117
|
+
| `gpu_mem_total` | uint64 | GPU hardware metrics (via NVML) Total GPU memory (bytes) |
|
|
2118
|
+
| `gpu_mem_used` | uint64 | Used GPU memory (bytes) |
|
|
2119
|
+
| `gpu_utilization` | uint32 | SM/compute utilization (0-100%) |
|
|
2120
|
+
| `gpu_mem_utilization` | uint32 | Memory controller utilization (0-100%) |
|
|
2121
|
+
| `gpu_encoder_utilization` | uint32 | NVENC utilization (0-100%) |
|
|
2122
|
+
| `gpu_decoder_utilization` | uint32 | NVDEC utilization (0-100%) |
|
|
2123
|
+
| `gpu_name` | string | GPU model name |
|
|
2124
|
+
| `vma_bytes` | uint64 | Vulkan Memory Allocator total bytes |
|
|
1981
2125
|
|
|
1982
2126
|
|
|
1983
2127
|
---
|
|
@@ -2010,7 +2154,7 @@ Compositor status.
|
|
|
2010
2154
|
|
|
2011
2155
|
| Field | Type | Description |
|
|
2012
2156
|
|-------|------|-------------|
|
|
2013
|
-
| `id` | string |
|
|
2157
|
+
| `id` | string | Compositor ID |
|
|
2014
2158
|
|
|
2015
2159
|
|
|
2016
2160
|
### ErrorEvent
|
|
@@ -2020,7 +2164,7 @@ Error event.
|
|
|
2020
2164
|
|
|
2021
2165
|
| Field | Type | Description |
|
|
2022
2166
|
|-------|------|-------------|
|
|
2023
|
-
| `msg` | string |
|
|
2167
|
+
| `msg` | string | Error message |
|
|
2024
2168
|
|
|
2025
2169
|
|
|
2026
2170
|
### Event
|
|
@@ -2030,12 +2174,12 @@ Event message wrapper.
|
|
|
2030
2174
|
|
|
2031
2175
|
| Field | Type | Description |
|
|
2032
2176
|
|-------|------|-------------|
|
|
2033
|
-
| `error_event` | ErrorEvent |
|
|
2034
|
-
| `transport_event` | TransportEvent |
|
|
2035
|
-
| `callback_event` | sesame.v1.common.Callback |
|
|
2036
|
-
| `job_event` | sesame.v1.jobs.Job |
|
|
2037
|
-
| `metadata_event` | MetadataEvent |
|
|
2038
|
-
| `recorder_event` | sesame.v1.recorder.RecorderEvent |
|
|
2177
|
+
| `error_event` | ErrorEvent | Error event |
|
|
2178
|
+
| `transport_event` | TransportEvent | Transport event |
|
|
2179
|
+
| `callback_event` | sesame.v1.common.Callback | Callback event |
|
|
2180
|
+
| `job_event` | sesame.v1.jobs.Job | Job event (per-job state change) |
|
|
2181
|
+
| `metadata_event` | MetadataEvent | Metadata track event |
|
|
2182
|
+
| `recorder_event` | sesame.v1.recorder.RecorderEvent | Recorder event |
|
|
2039
2183
|
|
|
2040
2184
|
|
|
2041
2185
|
### IODeviceItem
|
|
@@ -2045,9 +2189,9 @@ I/O device item.
|
|
|
2045
2189
|
|
|
2046
2190
|
| Field | Type | Description |
|
|
2047
2191
|
|-------|------|-------------|
|
|
2048
|
-
| `id` | string |
|
|
2049
|
-
| `name` | string |
|
|
2050
|
-
| `type` | IODeviceType |
|
|
2192
|
+
| `id` | string | Device ID |
|
|
2193
|
+
| `name` | string | Device name |
|
|
2194
|
+
| `type` | IODeviceType | Device type |
|
|
2051
2195
|
|
|
2052
2196
|
|
|
2053
2197
|
### IODeviceListResponse
|
|
@@ -2057,7 +2201,7 @@ I/O device list response.
|
|
|
2057
2201
|
|
|
2058
2202
|
| Field | Type | Description |
|
|
2059
2203
|
|-------|------|-------------|
|
|
2060
|
-
| `devices` | repeated IODeviceItem |
|
|
2204
|
+
| `devices` | repeated IODeviceItem | List of devices |
|
|
2061
2205
|
|
|
2062
2206
|
|
|
2063
2207
|
### MetadataEvent
|
|
@@ -2068,11 +2212,11 @@ routed to an app consumer via the metadata binding table.
|
|
|
2068
2212
|
|
|
2069
2213
|
| Field | Type | Description |
|
|
2070
2214
|
|-------|------|-------------|
|
|
2071
|
-
| `source_node_id` | string |
|
|
2072
|
-
| `track_name` | string |
|
|
2073
|
-
| `target_node_id` | string |
|
|
2074
|
-
| `metadata_id` | string |
|
|
2075
|
-
| `payload` | bytes |
|
|
2215
|
+
| `source_node_id` | string | Source node ID (MoQ/WebSocket input) |
|
|
2216
|
+
| `track_name` | string | Track name as it appears in the stream |
|
|
2217
|
+
| `target_node_id` | string | Target node ID (e.g. "snigel1") |
|
|
2218
|
+
| `metadata_id` | string | MetadataDef.id on the target node (e.g. "snigel.control.v1") |
|
|
2219
|
+
| `payload` | bytes | Raw payload bytes for the routed DataType (JSON UTF-8 or binary/control payload) |
|
|
2076
2220
|
|
|
2077
2221
|
|
|
2078
2222
|
### Status
|
|
@@ -2082,14 +2226,15 @@ Overall system status.
|
|
|
2082
2226
|
|
|
2083
2227
|
| Field | Type | Description |
|
|
2084
2228
|
|-------|------|-------------|
|
|
2085
|
-
| `system_status` | SystemStatus |
|
|
2086
|
-
| `render_status_gpu` | FrameTiming |
|
|
2087
|
-
| `render_status_cpu` | FrameTiming |
|
|
2088
|
-
| `sources` | repeated sesame.v1.sources.SourceStatus |
|
|
2089
|
-
| `compositions` | repeated CompositorStatus |
|
|
2090
|
-
| `audio_mixes` | repeated sesame.v1.audio.AudioMixerStatus |
|
|
2091
|
-
| `outputs` | repeated sesame.v1.outputs.OutputStatus |
|
|
2092
|
-
| `recorders` | repeated sesame.v1.recorder.RecorderStatus |
|
|
2229
|
+
| `system_status` | SystemStatus | System status |
|
|
2230
|
+
| `render_status_gpu` | FrameTiming | GPU render timing |
|
|
2231
|
+
| `render_status_cpu` | FrameTiming | CPU render timing |
|
|
2232
|
+
| `sources` | repeated sesame.v1.sources.SourceStatus | Source status |
|
|
2233
|
+
| `compositions` | repeated CompositorStatus | Compositor status |
|
|
2234
|
+
| `audio_mixes` | repeated sesame.v1.audio.AudioMixerStatus | Audio mixer status |
|
|
2235
|
+
| `outputs` | repeated sesame.v1.outputs.OutputStatus | Output status |
|
|
2236
|
+
| `recorders` | repeated sesame.v1.recorder.RecorderStatus | Recorder status |
|
|
2237
|
+
| `encoders` | repeated sesame.v1.outputs.EncoderStatus | Shared encoder status |
|
|
2093
2238
|
|
|
2094
2239
|
|
|
2095
2240
|
### SubscriptionRequest
|
|
@@ -2099,8 +2244,8 @@ Subscription request.
|
|
|
2099
2244
|
|
|
2100
2245
|
| Field | Type | Description |
|
|
2101
2246
|
|-------|------|-------------|
|
|
2102
|
-
| `event_topics` | repeated sesame.v1.common.EventTopic |
|
|
2103
|
-
| `channels` | repeated string |
|
|
2247
|
+
| `event_topics` | repeated sesame.v1.common.EventTopic | Typed event topics to subscribe to |
|
|
2248
|
+
| `channels` | repeated string | Dynamic channel subscriptions (e.g. video/audio channels) |
|
|
2104
2249
|
|
|
2105
2250
|
|
|
2106
2251
|
### TransportEvent
|
|
@@ -2110,25 +2255,25 @@ Transport event (source playback state change).
|
|
|
2110
2255
|
|
|
2111
2256
|
| Field | Type | Description |
|
|
2112
2257
|
|-------|------|-------------|
|
|
2113
|
-
| `source_id` | string |
|
|
2114
|
-
| `user_id` | string |
|
|
2115
|
-
| `uri` | string |
|
|
2116
|
-
| `state` | sesame.v1.sources.SourceTransportState |
|
|
2117
|
-
| `duration_us` | int64 |
|
|
2118
|
-
| `position_us` | int64 |
|
|
2119
|
-
| `material_position_us` | int64 |
|
|
2120
|
-
| `user_time_us` | int64 |
|
|
2121
|
-
| `speed` | float |
|
|
2122
|
-
| `user_playlist_id` | string |
|
|
2123
|
-
| `playlist_index` | uint32 |
|
|
2124
|
-
| `playlist_length` | uint32 |
|
|
2125
|
-
| `clip_id` | uint64 |
|
|
2126
|
-
| `clip_position_us` | int64 |
|
|
2127
|
-
| `clip_duration_us` | int64 |
|
|
2128
|
-
| `preroll` | uint32 |
|
|
2129
|
-
| `postroll` | uint32 |
|
|
2130
|
-
| `metadata` | sesame.v1.common.TransportMetadata |
|
|
2131
|
-
| `near_end` | bool | True in the single event fired when
|
|
2258
|
+
| `source_id` | string | Source ID |
|
|
2259
|
+
| `user_id` | string | User ID |
|
|
2260
|
+
| `uri` | string | Source URI |
|
|
2261
|
+
| `state` | sesame.v1.sources.SourceTransportState | Transport state |
|
|
2262
|
+
| `duration_us` | int64 | Duration (us) |
|
|
2263
|
+
| `position_us` | int64 | Playback position (us) |
|
|
2264
|
+
| `material_position_us` | int64 | Material position (us) |
|
|
2265
|
+
| `user_time_us` | int64 | User time (us) |
|
|
2266
|
+
| `speed` | float | Playback speed |
|
|
2267
|
+
| `user_playlist_id` | string | User playlist ID |
|
|
2268
|
+
| `playlist_index` | uint32 | Playlist item index |
|
|
2269
|
+
| `playlist_length` | uint32 | Playlist length |
|
|
2270
|
+
| `clip_id` | uint64 | Clip ID (if playing from recorder) |
|
|
2271
|
+
| `clip_position_us` | int64 | Position within clip (us) |
|
|
2272
|
+
| `clip_duration_us` | int64 | Duration of clip (us) |
|
|
2273
|
+
| `preroll` | uint32 | |
|
|
2274
|
+
| `postroll` | uint32 | |
|
|
2275
|
+
| `metadata` | sesame.v1.common.TransportMetadata | Transport metadata |
|
|
2276
|
+
| `near_end` | bool | True in the single event fired when end_notification threshold is crossed |
|
|
2132
2277
|
|
|
2133
2278
|
|
|
2134
2279
|
---
|
|
@@ -2180,8 +2325,8 @@ Header data for FRAME_TYPE_DATA frames.
|
|
|
2180
2325
|
|
|
2181
2326
|
| Field | Type | Description |
|
|
2182
2327
|
|-------|------|-------------|
|
|
2183
|
-
| `data_type` | DataType |
|
|
2184
|
-
| `track_name` | string |
|
|
2328
|
+
| `data_type` | DataType | |
|
|
2329
|
+
| `track_name` | string | Matches the trackName in the output config |
|
|
2185
2330
|
|
|
2186
2331
|
|
|
2187
2332
|
### FrameHeader
|
|
@@ -2192,10 +2337,10 @@ Serialized with a 4-byte little-endian size prefix on the wire.
|
|
|
2192
2337
|
|
|
2193
2338
|
| Field | Type | Description |
|
|
2194
2339
|
|-------|------|-------------|
|
|
2195
|
-
| `type` | FrameType |
|
|
2196
|
-
| `routing_metadata` | string |
|
|
2197
|
-
| `media` | MediaFrameData |
|
|
2198
|
-
| `data` | DataFrameData |
|
|
2340
|
+
| `type` | FrameType | |
|
|
2341
|
+
| `routing_metadata` | string | Source routing (inbound only) |
|
|
2342
|
+
| `media` | MediaFrameData | Present for VIDEO, AUDIO, MUXED, DECODER_DATA |
|
|
2343
|
+
| `data` | DataFrameData | Present for FRAME_TYPE_DATA |
|
|
2199
2344
|
|
|
2200
2345
|
|
|
2201
2346
|
### MediaCodecData
|
|
@@ -2205,16 +2350,16 @@ Codec parameters for a media stream.
|
|
|
2205
2350
|
|
|
2206
2351
|
| Field | Type | Description |
|
|
2207
2352
|
|-------|------|-------------|
|
|
2208
|
-
| `codec_type` | sesame.v1.common.CodecType |
|
|
2209
|
-
| `sample_rate` | uint32 |
|
|
2210
|
-
| `timebase_num` | uint32 |
|
|
2211
|
-
| `timebase_den` | uint32 |
|
|
2212
|
-
| `codec_profile` | uint32 |
|
|
2213
|
-
| `codec_level` | uint32 |
|
|
2214
|
-
| `width` | uint32 |
|
|
2215
|
-
| `height` | uint32 |
|
|
2216
|
-
| `channels` | uint32 |
|
|
2217
|
-
| `bit_depth` | uint32 |
|
|
2353
|
+
| `codec_type` | sesame.v1.common.CodecType | |
|
|
2354
|
+
| `sample_rate` | uint32 | |
|
|
2355
|
+
| `timebase_num` | uint32 | |
|
|
2356
|
+
| `timebase_den` | uint32 | |
|
|
2357
|
+
| `codec_profile` | uint32 | |
|
|
2358
|
+
| `codec_level` | uint32 | |
|
|
2359
|
+
| `width` | uint32 | |
|
|
2360
|
+
| `height` | uint32 | |
|
|
2361
|
+
| `channels` | uint32 | |
|
|
2362
|
+
| `bit_depth` | uint32 | |
|
|
2218
2363
|
|
|
2219
2364
|
|
|
2220
2365
|
### MediaFrameData
|
|
@@ -2224,9 +2369,9 @@ Media-specific fields for VIDEO, AUDIO, MUXED, and DECODER_DATA frames.
|
|
|
2224
2369
|
|
|
2225
2370
|
| Field | Type | Description |
|
|
2226
2371
|
|-------|------|-------------|
|
|
2227
|
-
| `pts` | uint64 |
|
|
2228
|
-
| `keyframe` | bool |
|
|
2229
|
-
| `codec_data` | MediaCodecData |
|
|
2372
|
+
| `pts` | uint64 | Presentation timestamp in codec_data timebase units |
|
|
2373
|
+
| `keyframe` | bool | True for video key frames |
|
|
2374
|
+
| `codec_data` | MediaCodecData | Codec parameters (may be present on first frame or key frames) |
|
|
2230
2375
|
|
|
2231
2376
|
|
|
2232
2377
|
---
|
|
@@ -2346,14 +2491,19 @@ Properties are set via `PropertySetRequest` or animated via `PropertyAnimateRequ
|
|
|
2346
2491
|
|
|
2347
2492
|
The server disambiguates these two cases by whether `address` contains the `::` delimiter: if it does, the address is split into channel ID and plugin ID, and `property` is parsed as a numeric param ID; otherwise the full `address` string is used as the channel ID for a named channel property.
|
|
2348
2493
|
|
|
2349
|
-
| Property | Type | Description |
|
|
2350
|
-
|----------|------|-------------|
|
|
2351
|
-
| `
|
|
2352
|
-
| `
|
|
2353
|
-
| `
|
|
2354
|
-
| `
|
|
2355
|
-
| `
|
|
2356
|
-
|
|
|
2494
|
+
| Property | Type | Description |
|
|
2495
|
+
|----------|------|-------------|
|
|
2496
|
+
| `master_level` | float | Manual mixer master level (0-1); use empty address or `master` address |
|
|
2497
|
+
| `master_automation_level` | float | Automation mixer master gain multiplier (0-1); use empty address or `master` address |
|
|
2498
|
+
| `master_effective_level` | float | Effective mixer master level; use empty address or `master` address |
|
|
2499
|
+
| `level` | float | Manual channel level (0-1) |
|
|
2500
|
+
| `pan` | float | Pan position (-1 to 1) |
|
|
2501
|
+
| `mute` | bool | Manual mute |
|
|
2502
|
+
| `automation_level` | float | Automation gain multiplier (0-1) |
|
|
2503
|
+
| `automation_mute` | bool | Automation mute |
|
|
2504
|
+
| `source_channels` | vec4 | Source channel routing |
|
|
2505
|
+
| `source_id` | string | Source ID |
|
|
2506
|
+
| `<param_id>` | float | Plugin parameter — `address` must be `channel_id::plugin_id` or `master::plugin_id`, `property` is the numeric param ID |
|
|
2357
2507
|
|
|
2358
2508
|
**Level animation:** use `propertyAnimate` with `ANIM_MODE_STATE_FROM` to fade from the current level. For an instant cut (no transition), `propertySet` is preferred — a zero-duration `propertyAnimate` is clamped to 1 ms by the server rather than producing an instant cut.
|
|
2359
2509
|
|
|
@@ -2379,11 +2529,11 @@ client.addSubscription(sesame.v1.common.EventTopic.EVENT_TOPIC_TRANSPORT, callba
|
|
|
2379
2529
|
client.addSubscription(sesame.v1.common.EventTopic.EVENT_TOPIC_JOB, callback);
|
|
2380
2530
|
```
|
|
2381
2531
|
|
|
2382
|
-
| Topic | Event type | When fired |
|
|
2383
|
-
|-------|-----------|------------|
|
|
2384
|
-
| `EVENT_TOPIC_ERROR` | ErrorEvent | Engine error |
|
|
2385
|
-
| `EVENT_TOPIC_TRANSPORT` | TransportEvent | Source playback state change
|
|
2386
|
-
| `EVENT_TOPIC_CALLBACK` | Callback | Client callback command echoed |
|
|
2532
|
+
| Topic | Event type | When fired |
|
|
2533
|
+
|-------|-----------|------------|
|
|
2534
|
+
| `EVENT_TOPIC_ERROR` | ErrorEvent | Engine error |
|
|
2535
|
+
| `EVENT_TOPIC_TRANSPORT` | TransportEvent | Source playback state change |
|
|
2536
|
+
| `EVENT_TOPIC_CALLBACK` | Callback | Client callback command echoed |
|
|
2387
2537
|
| `EVENT_TOPIC_JOB` | Job | Job lifecycle change + progress (~2 Hz) |
|
|
2388
2538
|
| `EVENT_TOPIC_RECORDER` | RecorderEvent | Recorder online/offline |
|
|
2389
2539
|
|