@stinkycomputing/sesame-api-client 1.5.8 → 1.5.9
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 +7 -7
- package/dist/index.browser.mjs +355 -1
- package/dist/index.browser.mjs.map +2 -2
- package/dist/index.cjs +355 -1
- package/dist/index.cjs.map +2 -2
- package/dist/index.mjs +355 -1
- package/dist/index.mjs.map +2 -2
- package/dist/proto/api.d.ts +146 -1
- package/dist/proto/api.js +520 -2
- package/docs/protocol-reference.md +98 -76
- package/package.json +1 -1
|
@@ -70,9 +70,9 @@ Per-channel property updates. Absent optional fields are left unchanged.
|
|
|
70
70
|
| Field | Type | Description |
|
|
71
71
|
|-------|------|-------------|
|
|
72
72
|
| `channel_id` | string | |
|
|
73
|
-
| `level` | optional float | |
|
|
74
|
-
| `pan` | optional float | |
|
|
75
|
-
| `plugins` | repeated AudioPluginControlRequest | |
|
|
73
|
+
| `level` | optional float | |
|
|
74
|
+
| `pan` | optional float | |
|
|
75
|
+
| `plugins` | repeated AudioPluginControlRequest | |
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
### AudioChannelPluginStatus
|
|
@@ -110,9 +110,9 @@ Audio channel status.
|
|
|
110
110
|
| `level` | float | |
|
|
111
111
|
| `pan` | float | |
|
|
112
112
|
| `vu` | repeated float | |
|
|
113
|
-
| `has_data` | bool | |
|
|
114
|
-
| `read_errors` | uint32 | |
|
|
115
|
-
| `plugins` | repeated AudioChannelPluginStatus | |
|
|
113
|
+
| `has_data` | bool | |
|
|
114
|
+
| `read_errors` | uint32 | |
|
|
115
|
+
| `plugins` | repeated AudioChannelPluginStatus | |
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
### AudioControlRequest
|
|
@@ -121,15 +121,15 @@ Payload for DATA_TYPE_AUDIO_CONTROL frames (transport → server).
|
|
|
121
121
|
|
|
122
122
|
The target mixer ID is NOT included here — it is resolved server-side from
|
|
123
123
|
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).
|
|
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).
|
|
128
128
|
|
|
129
129
|
|
|
130
|
-
| Field | Type | Description |
|
|
131
|
-
|-------|------|-------------|
|
|
132
|
-
| `channels` | repeated AudioChannelControlRequest | |
|
|
130
|
+
| Field | Type | Description |
|
|
131
|
+
|-------|------|-------------|
|
|
132
|
+
| `channels` | repeated AudioChannelControlRequest | |
|
|
133
133
|
|
|
134
134
|
|
|
135
135
|
### AudioMixerAddRequest
|
|
@@ -154,9 +154,9 @@ Audio mixer channel configuration.
|
|
|
154
154
|
| `source_id` | string | |
|
|
155
155
|
| `channel_type` | AudioMixerChannelType | |
|
|
156
156
|
| `source_channels` | repeated uint32 | |
|
|
157
|
-
| `level` | float | |
|
|
158
|
-
| `pan` | float | |
|
|
159
|
-
| `plugins` | repeated AudioPlugin | |
|
|
157
|
+
| `level` | float | |
|
|
158
|
+
| `pan` | float | |
|
|
159
|
+
| `plugins` | repeated AudioPlugin | |
|
|
160
160
|
|
|
161
161
|
|
|
162
162
|
### AudioMixerConfig
|
|
@@ -166,9 +166,9 @@ Audio mixer configuration.
|
|
|
166
166
|
|
|
167
167
|
| Field | Type | Description |
|
|
168
168
|
|-------|------|-------------|
|
|
169
|
-
| `channels` | repeated AudioMixerChannel | |
|
|
170
|
-
| `output_type` | AudioMixerChannelType | |
|
|
171
|
-
| `order` | uint32 | |
|
|
169
|
+
| `channels` | repeated AudioMixerChannel | |
|
|
170
|
+
| `output_type` | AudioMixerChannelType | |
|
|
171
|
+
| `order` | uint32 | |
|
|
172
172
|
|
|
173
173
|
|
|
174
174
|
### AudioMixerRemoveRequest
|
|
@@ -189,9 +189,9 @@ Audio mixer status.
|
|
|
189
189
|
| Field | Type | Description |
|
|
190
190
|
|-------|------|-------------|
|
|
191
191
|
| `id` | string | |
|
|
192
|
-
| `output_type` | AudioMixerChannelType | |
|
|
193
|
-
| `vu` | repeated float | |
|
|
194
|
-
| `channels` | repeated AudioChannelStatus | |
|
|
192
|
+
| `output_type` | AudioMixerChannelType | |
|
|
193
|
+
| `vu` | repeated float | |
|
|
194
|
+
| `channels` | repeated AudioChannelStatus | |
|
|
195
195
|
|
|
196
196
|
|
|
197
197
|
### AudioMixerUpdateRequest
|
|
@@ -311,11 +311,12 @@ Each item represents a single command to execute at a specific time offset.
|
|
|
311
311
|
| `update_source_transport` | sesame.v1.sources.SourceTransportCommand | |
|
|
312
312
|
| `load_playlist` | sesame.v1.sources.LoadPlaylistRequest | |
|
|
313
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
|
-
| `
|
|
314
|
+
| `callback` | sesame.v1.common.Callback | |
|
|
315
|
+
| `set_source_metadata` | sesame.v1.sources.SourceMetadataSetRequest | |
|
|
316
|
+
| `set_metadata_bindings` | SetMetadataBindingsRequest | |
|
|
317
|
+
| `take_playlist` | sesame.v1.sources.TakePlaylistRequest | |
|
|
318
|
+
| `transaction_id` | optional uint32 | |
|
|
319
|
+
| `transaction_deps` | repeated uint32 | |
|
|
319
320
|
|
|
320
321
|
|
|
321
322
|
### MetadataBinding
|
|
@@ -877,7 +878,7 @@ Encoder preset.
|
|
|
877
878
|
| 3 | `ENCODER_PRESET_HIGH_QUALITY` | High-quality tune |
|
|
878
879
|
|
|
879
880
|
|
|
880
|
-
### OutputType
|
|
881
|
+
### OutputType
|
|
881
882
|
|
|
882
883
|
Type of output.
|
|
883
884
|
|
|
@@ -923,10 +924,10 @@ Decklink output configuration.
|
|
|
923
924
|
|
|
924
925
|
| Field | Type | Description |
|
|
925
926
|
|-------|------|-------------|
|
|
926
|
-
| `encoder` | EncoderConfig | |
|
|
927
|
-
| `url` | string | |
|
|
928
|
-
| `broadcast` | string | |
|
|
929
|
-
| `key` | string | |
|
|
927
|
+
| `encoder` | EncoderConfig | |
|
|
928
|
+
| `url` | string | |
|
|
929
|
+
| `broadcast` | string | |
|
|
930
|
+
| `key` | string | |
|
|
930
931
|
| `metadata_tracks` | repeated string | |
|
|
931
932
|
|
|
932
933
|
|
|
@@ -937,10 +938,10 @@ Decklink output configuration.
|
|
|
937
938
|
|
|
938
939
|
| Field | Type | Description |
|
|
939
940
|
|-------|------|-------------|
|
|
940
|
-
| `encoder` | EncoderConfig | |
|
|
941
|
-
| `filename` | string | |
|
|
942
|
-
| `size_gb` | uint32 | |
|
|
943
|
-
| `group_id` | string | |
|
|
941
|
+
| `encoder` | EncoderConfig | |
|
|
942
|
+
| `filename` | string | |
|
|
943
|
+
| `size_gb` | uint32 | |
|
|
944
|
+
| `group_id` | string | |
|
|
944
945
|
| `recorder_type` | RecorderType | |
|
|
945
946
|
|
|
946
947
|
|
|
@@ -949,10 +950,10 @@ Decklink output configuration.
|
|
|
949
950
|
|
|
950
951
|
|
|
951
952
|
|
|
952
|
-
| Field | Type | Description |
|
|
953
|
-
|-------|------|-------------|
|
|
954
|
-
| `url` | string | |
|
|
955
|
-
| `encoder` | EncoderConfig | |
|
|
953
|
+
| Field | Type | Description |
|
|
954
|
+
|-------|------|-------------|
|
|
955
|
+
| `url` | string | |
|
|
956
|
+
| `encoder` | EncoderConfig | |
|
|
956
957
|
|
|
957
958
|
|
|
958
959
|
### EncodedSuperSlowMoRecorderOutputConfig
|
|
@@ -978,14 +979,14 @@ Type-specific output payloads
|
|
|
978
979
|
-----------------------------------------------------------------------------
|
|
979
980
|
|
|
980
981
|
|
|
981
|
-
| Field | Type | Description |
|
|
982
|
-
|-------|------|-------------|
|
|
983
|
-
| `channel` | string | |
|
|
984
|
-
| `encoder` | EncoderConfig | |
|
|
985
|
-
| `metadata_tracks` | repeated string | |
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
### EncoderConfig
|
|
982
|
+
| Field | Type | Description |
|
|
983
|
+
|-------|------|-------------|
|
|
984
|
+
| `channel` | string | |
|
|
985
|
+
| `encoder` | EncoderConfig | |
|
|
986
|
+
| `metadata_tracks` | repeated string | |
|
|
987
|
+
|
|
988
|
+
|
|
989
|
+
### EncoderConfig
|
|
989
990
|
|
|
990
991
|
Encoded output configuration (WebSocket, SRT, MoQ).
|
|
991
992
|
|
|
@@ -998,7 +999,7 @@ Encoded output configuration (WebSocket, SRT, MoQ).
|
|
|
998
999
|
| `keyframe_interval` | uint32 | |
|
|
999
1000
|
| `width` | uint32 | |
|
|
1000
1001
|
| `height` | uint32 | |
|
|
1001
|
-
| `fps` | float | |
|
|
1002
|
+
| `fps` | float | |
|
|
1002
1003
|
|
|
1003
1004
|
|
|
1004
1005
|
### KeyframeRequest
|
|
@@ -1053,9 +1054,9 @@ Output status information.
|
|
|
1053
1054
|
| `type` | OutputType | |
|
|
1054
1055
|
| `state` | sesame.v1.common.ConnectionState | |
|
|
1055
1056
|
| `msg` | optional string | |
|
|
1056
|
-
| `url` | string | |
|
|
1057
|
-
| `buffer_size` | uint32 | |
|
|
1058
|
-
| `srt_stats` | optional sesame.v1.status.SRTSendStatistics | |
|
|
1057
|
+
| `url` | string | |
|
|
1058
|
+
| `buffer_size` | uint32 | |
|
|
1059
|
+
| `srt_stats` | optional sesame.v1.status.SRTSendStatistics | |
|
|
1059
1060
|
|
|
1060
1061
|
|
|
1061
1062
|
### OutputUpdateRequest
|
|
@@ -1503,10 +1504,10 @@ Source transport command type.
|
|
|
1503
1504
|
| 10 | `SOURCE_TRANSPORT_CMD_POST_ROLL` | Post-roll |
|
|
1504
1505
|
| 11 | `SOURCE_TRANSPORT_CMD_PRE_ROLL` | Pre-roll |
|
|
1505
1506
|
| 12 | `SOURCE_TRANSPORT_CMD_NEXT` | Next item |
|
|
1506
|
-
| 13 | `SOURCE_TRANSPORT_CMD_SKIP_NEXT` | Skip to next |
|
|
1507
|
-
| 14 | `SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED` | Disable transitions |
|
|
1508
|
-
| 15 | `SOURCE_TRANSPORT_CMD_SET_SCRUBBING` | Set scrubbing mode |
|
|
1509
|
-
| 16 | `SOURCE_TRANSPORT_CMD_SET_END_NOTIFICATION` | Set near-end callback threshold (int64 µs before end; 0 = disabled) |
|
|
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 threshold (int64 µs before end; 0 = disabled) |
|
|
1510
1511
|
|
|
1511
1512
|
|
|
1512
1513
|
### SourceTransportState
|
|
@@ -1799,6 +1800,27 @@ Request to update an existing source.
|
|
|
1799
1800
|
| `device_name` | string | |
|
|
1800
1801
|
|
|
1801
1802
|
|
|
1803
|
+
### TakePlaylistRequest
|
|
1804
|
+
|
|
1805
|
+
Request to take directly to a recorder playlist.
|
|
1806
|
+
A single clip is represented as a playlist with one item. The request-level
|
|
1807
|
+
transition_time_us is the outer transition from the current source state into
|
|
1808
|
+
this playlist; each PlaylistItem.transition_time_us remains the transition
|
|
1809
|
+
between items inside the playlist.
|
|
1810
|
+
|
|
1811
|
+
|
|
1812
|
+
| Field | Type | Description |
|
|
1813
|
+
|-------|------|-------------|
|
|
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 | |
|
|
1822
|
+
|
|
1823
|
+
|
|
1802
1824
|
### TransportControlRequest
|
|
1803
1825
|
|
|
1804
1826
|
Payload for DATA_TYPE_TRANSPORT_CONTROL frames (transport → server).
|
|
@@ -2065,9 +2087,9 @@ Overall system status.
|
|
|
2065
2087
|
| `render_status_cpu` | FrameTiming | |
|
|
2066
2088
|
| `sources` | repeated sesame.v1.sources.SourceStatus | |
|
|
2067
2089
|
| `compositions` | repeated CompositorStatus | |
|
|
2068
|
-
| `audio_mixes` | repeated sesame.v1.audio.AudioMixerStatus | |
|
|
2069
|
-
| `outputs` | repeated sesame.v1.outputs.OutputStatus | |
|
|
2070
|
-
| `recorders` | repeated sesame.v1.recorder.RecorderStatus | |
|
|
2090
|
+
| `audio_mixes` | repeated sesame.v1.audio.AudioMixerStatus | |
|
|
2091
|
+
| `outputs` | repeated sesame.v1.outputs.OutputStatus | |
|
|
2092
|
+
| `recorders` | repeated sesame.v1.recorder.RecorderStatus | |
|
|
2071
2093
|
|
|
2072
2094
|
|
|
2073
2095
|
### SubscriptionRequest
|
|
@@ -2103,10 +2125,10 @@ Transport event (source playback state change).
|
|
|
2103
2125
|
| `clip_id` | uint64 | |
|
|
2104
2126
|
| `clip_position_us` | int64 | |
|
|
2105
2127
|
| `clip_duration_us` | int64 | |
|
|
2106
|
-
| `preroll` | uint32 | |
|
|
2107
|
-
| `postroll` | uint32 | |
|
|
2108
|
-
| `metadata` | sesame.v1.common.TransportMetadata | |
|
|
2109
|
-
| `near_end` | bool | True in the single event fired when the end-notification threshold is crossed |
|
|
2128
|
+
| `preroll` | uint32 | |
|
|
2129
|
+
| `postroll` | uint32 | |
|
|
2130
|
+
| `metadata` | sesame.v1.common.TransportMetadata | |
|
|
2131
|
+
| `near_end` | bool | True in the single event fired when the end-notification threshold is crossed |
|
|
2110
2132
|
|
|
2111
2133
|
|
|
2112
2134
|
---
|
|
@@ -2324,14 +2346,14 @@ Properties are set via `PropertySetRequest` or animated via `PropertyAnimateRequ
|
|
|
2324
2346
|
|
|
2325
2347
|
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.
|
|
2326
2348
|
|
|
2327
|
-
| Property | Type | Description |
|
|
2328
|
-
|----------|------|-------------|
|
|
2329
|
-
| `level` | float | Channel level (0-1) |
|
|
2330
|
-
| `pan` | float | Pan position (-1 to 1) |
|
|
2331
|
-
| `mute` | bool | Mute channel |
|
|
2332
|
-
| `source_channels` | vec4 | Source channel routing |
|
|
2333
|
-
| `source_id` | string | Source ID |
|
|
2334
|
-
| `<param_id>` | float | Plugin parameter — `address` must be `channel_id::plugin_id`, `property` is the numeric param ID |
|
|
2349
|
+
| Property | Type | Description |
|
|
2350
|
+
|----------|------|-------------|
|
|
2351
|
+
| `level` | float | Channel level (0-1) |
|
|
2352
|
+
| `pan` | float | Pan position (-1 to 1) |
|
|
2353
|
+
| `mute` | bool | Mute channel |
|
|
2354
|
+
| `source_channels` | vec4 | Source channel routing |
|
|
2355
|
+
| `source_id` | string | Source ID |
|
|
2356
|
+
| `<param_id>` | float | Plugin parameter — `address` must be `channel_id::plugin_id`, `property` is the numeric param ID |
|
|
2335
2357
|
|
|
2336
2358
|
**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.
|
|
2337
2359
|
|
|
@@ -2357,11 +2379,11 @@ client.addSubscription(sesame.v1.common.EventTopic.EVENT_TOPIC_TRANSPORT, callba
|
|
|
2357
2379
|
client.addSubscription(sesame.v1.common.EventTopic.EVENT_TOPIC_JOB, callback);
|
|
2358
2380
|
```
|
|
2359
2381
|
|
|
2360
|
-
| Topic | Event type | When fired |
|
|
2361
|
-
|-------|-----------|------------|
|
|
2362
|
-
| `EVENT_TOPIC_ERROR` | ErrorEvent | Engine error |
|
|
2363
|
-
| `EVENT_TOPIC_TRANSPORT` | TransportEvent | Source playback state change; also fired once per playback run with `near_end=true` when the end-notification threshold is crossed |
|
|
2364
|
-
| `EVENT_TOPIC_CALLBACK` | Callback | Client callback command echoed |
|
|
2382
|
+
| Topic | Event type | When fired |
|
|
2383
|
+
|-------|-----------|------------|
|
|
2384
|
+
| `EVENT_TOPIC_ERROR` | ErrorEvent | Engine error |
|
|
2385
|
+
| `EVENT_TOPIC_TRANSPORT` | TransportEvent | Source playback state change; also fired once per playback run with `near_end=true` when the end-notification threshold is crossed |
|
|
2386
|
+
| `EVENT_TOPIC_CALLBACK` | Callback | Client callback command echoed |
|
|
2365
2387
|
| `EVENT_TOPIC_JOB` | Job | Job lifecycle change + progress (~2 Hz) |
|
|
2366
2388
|
| `EVENT_TOPIC_RECORDER` | RecorderEvent | Recorder online/offline |
|
|
2367
2389
|
|
package/package.json
CHANGED