12
12
// See the License for the specific language governing permissions and
13
13
// limitations under the License.
14
14
15
- syntax = "proto3 " ;
15
+ syntax = "proto2 " ;
16
16
17
17
package livekit.proto ;
18
18
option csharp_namespace = "LiveKit.Proto" ;
@@ -23,106 +23,109 @@ import "track.proto";
23
23
// Create a new AudioStream
24
24
// AudioStream is used to receive audio frames from a track
25
25
message NewAudioStreamRequest {
26
- uint64 track_handle = 1 ;
27
- AudioStreamType type = 2 ;
28
- uint32 sample_rate = 3 ;
29
- uint32 num_channels = 4 ;
26
+ required uint64 track_handle = 1 ;
27
+ required AudioStreamType type = 2 ;
28
+ required uint32 sample_rate = 3 ;
29
+ required uint32 num_channels = 4 ;
30
30
}
31
- message NewAudioStreamResponse { OwnedAudioStream stream = 1 ; }
31
+ message NewAudioStreamResponse { required OwnedAudioStream stream = 1 ; }
32
32
33
33
message AudioStreamFromParticipantRequest {
34
- uint64 participant_handle = 1 ;
35
- AudioStreamType type = 2 ;
34
+ required uint64 participant_handle = 1 ;
35
+ required AudioStreamType type = 2 ;
36
36
optional TrackSource track_source = 3 ;
37
- uint32 sample_rate = 5 ;
38
- uint32 num_channels = 6 ;
37
+ required uint32 sample_rate = 5 ;
38
+ required uint32 num_channels = 6 ;
39
39
}
40
40
41
- message AudioStreamFromParticipantResponse { OwnedAudioStream stream = 1 ; }
41
+ message AudioStreamFromParticipantResponse { required OwnedAudioStream stream = 1 ; }
42
42
43
43
// Create a new AudioSource
44
44
message NewAudioSourceRequest {
45
- AudioSourceType type = 1 ;
45
+ required AudioSourceType type = 1 ;
46
46
optional AudioSourceOptions options = 2 ;
47
- uint32 sample_rate = 3 ;
48
- uint32 num_channels = 4 ;
49
- uint32 queue_size_ms = 5 ;
47
+ required uint32 sample_rate = 3 ;
48
+ required uint32 num_channels = 4 ;
49
+ required uint32 queue_size_ms = 5 ;
50
50
}
51
- message NewAudioSourceResponse { OwnedAudioSource source = 1 ; }
51
+ message NewAudioSourceResponse { required OwnedAudioSource source = 1 ; }
52
52
53
53
// Push a frame to an AudioSource
54
54
// The data provided must be available as long as the client receive the callback.
55
55
message CaptureAudioFrameRequest {
56
- uint64 source_handle = 1 ;
57
- AudioFrameBufferInfo buffer = 2 ;
56
+ required uint64 source_handle = 1 ;
57
+ required AudioFrameBufferInfo buffer = 2 ;
58
58
}
59
59
message CaptureAudioFrameResponse {
60
- uint64 async_id = 1 ;
60
+ required uint64 async_id = 1 ;
61
61
}
62
62
message CaptureAudioFrameCallback {
63
- uint64 async_id = 1 ;
63
+ required uint64 async_id = 1 ;
64
64
optional string error = 2 ;
65
65
}
66
66
67
67
message ClearAudioBufferRequest {
68
- uint64 source_handle = 1 ;
68
+ required uint64 source_handle = 1 ;
69
69
}
70
70
message ClearAudioBufferResponse {}
71
71
72
72
// Create a new AudioResampler
73
73
message NewAudioResamplerRequest {}
74
74
message NewAudioResamplerResponse {
75
- OwnedAudioResampler resampler = 1 ;
75
+ required OwnedAudioResampler resampler = 1 ;
76
76
}
77
77
78
78
// Remix and resample an audio frame
79
79
message RemixAndResampleRequest {
80
- uint64 resampler_handle = 1 ;
81
- AudioFrameBufferInfo buffer = 2 ;
82
- uint32 num_channels = 3 ;
83
- uint32 sample_rate = 4 ;
80
+ required uint64 resampler_handle = 1 ;
81
+ required AudioFrameBufferInfo buffer = 2 ;
82
+ required uint32 num_channels = 3 ;
83
+ required uint32 sample_rate = 4 ;
84
84
}
85
85
86
86
message RemixAndResampleResponse {
87
- OwnedAudioFrameBuffer buffer = 1 ;
87
+ required OwnedAudioFrameBuffer buffer = 1 ;
88
88
}
89
89
90
90
91
91
// New resampler using SoX (much better quality)
92
92
93
93
message NewSoxResamplerRequest {
94
- double input_rate = 1 ;
95
- double output_rate = 2 ;
96
- uint32 num_channels = 3 ;
97
- SoxResamplerDataType input_data_type = 4 ;
98
- SoxResamplerDataType output_data_type = 5 ;
99
- SoxQualityRecipe quality_recipe = 6 ;
100
- uint32 flags = 7 ;
94
+ required double input_rate = 1 ;
95
+ required double output_rate = 2 ;
96
+ required uint32 num_channels = 3 ;
97
+ required SoxResamplerDataType input_data_type = 4 ;
98
+ required SoxResamplerDataType output_data_type = 5 ;
99
+ required SoxQualityRecipe quality_recipe = 6 ;
100
+ required uint32 flags = 7 ;
101
101
}
102
102
message NewSoxResamplerResponse {
103
- OwnedSoxResampler resampler = 1 ;
104
- optional string error = 2 ;
103
+ oneof message {
104
+ OwnedSoxResampler resampler = 1 ;
105
+ string error = 2 ;
106
+ }
107
+
105
108
}
106
109
107
110
message PushSoxResamplerRequest {
108
- uint64 resampler_handle = 1 ;
109
- uint64 data_ptr = 2 ; // *const i16
110
- uint32 size = 3 ; // in bytes
111
+ required uint64 resampler_handle = 1 ;
112
+ required uint64 data_ptr = 2 ; // *const i16
113
+ required uint32 size = 3 ; // in bytes
111
114
}
112
115
113
116
message PushSoxResamplerResponse {
114
- uint64 output_ptr = 1 ; // *const i16 (could be null)
115
- uint32 size = 2 ; // in bytes
117
+ required uint64 output_ptr = 1 ; // *const i16 (could be null)
118
+ required uint32 size = 2 ; // in bytes
116
119
optional string error = 3 ;
117
120
}
118
121
119
122
message FlushSoxResamplerRequest {
120
- uint64 resampler_handle = 1 ;
123
+ required uint64 resampler_handle = 1 ;
121
124
}
122
125
123
126
message FlushSoxResamplerResponse {
124
- uint64 output_ptr = 1 ; // *const i16 (could be null)
125
- uint32 size = 2 ; // in bytes
127
+ required uint64 output_ptr = 1 ; // *const i16 (could be null)
128
+ required uint32 size = 2 ; // in bytes
126
129
optional string error = 3 ;
127
130
}
128
131
@@ -156,15 +159,15 @@ enum SoxFlagBits {
156
159
//
157
160
158
161
message AudioFrameBufferInfo {
159
- uint64 data_ptr = 1 ; // *const i16
160
- uint32 num_channels = 2 ;
161
- uint32 sample_rate = 3 ;
162
- uint32 samples_per_channel = 4 ;
162
+ required uint64 data_ptr = 1 ; // *const i16
163
+ required uint32 num_channels = 2 ;
164
+ required uint32 sample_rate = 3 ;
165
+ required uint32 samples_per_channel = 4 ;
163
166
}
164
167
165
168
message OwnedAudioFrameBuffer {
166
- FfiOwnedHandle handle = 1 ;
167
- AudioFrameBufferInfo info = 2 ;
169
+ required FfiOwnedHandle handle = 1 ;
170
+ required AudioFrameBufferInfo info = 2 ;
168
171
}
169
172
170
173
//
@@ -177,24 +180,24 @@ enum AudioStreamType {
177
180
}
178
181
179
182
message AudioStreamInfo {
180
- AudioStreamType type = 1 ;
183
+ required AudioStreamType type = 1 ;
181
184
}
182
185
183
186
message OwnedAudioStream {
184
- FfiOwnedHandle handle = 1 ;
185
- AudioStreamInfo info = 2 ;
187
+ required FfiOwnedHandle handle = 1 ;
188
+ required AudioStreamInfo info = 2 ;
186
189
}
187
190
188
191
message AudioStreamEvent {
189
- uint64 stream_handle = 1 ;
192
+ required uint64 stream_handle = 1 ;
190
193
oneof message {
191
194
AudioFrameReceived frame_received = 2 ;
192
195
AudioStreamEOS eos = 3 ;
193
196
}
194
197
}
195
198
196
199
message AudioFrameReceived {
197
- OwnedAudioFrameBuffer frame = 1 ;
200
+ required OwnedAudioFrameBuffer frame = 1 ;
198
201
}
199
202
200
203
message AudioStreamEOS {}
@@ -204,22 +207,22 @@ message AudioStreamEOS {}
204
207
//
205
208
206
209
message AudioSourceOptions {
207
- bool echo_cancellation = 1 ;
208
- bool noise_suppression = 2 ;
209
- bool auto_gain_control = 3 ;
210
+ required bool echo_cancellation = 1 ;
211
+ required bool noise_suppression = 2 ;
212
+ required bool auto_gain_control = 3 ;
210
213
}
211
214
212
215
enum AudioSourceType {
213
216
AUDIO_SOURCE_NATIVE = 0 ;
214
217
}
215
218
216
219
message AudioSourceInfo {
217
- AudioSourceType type = 2 ;
220
+ required AudioSourceType type = 2 ;
218
221
}
219
222
220
223
message OwnedAudioSource {
221
- FfiOwnedHandle handle = 1 ;
222
- AudioSourceInfo info = 2 ;
224
+ required FfiOwnedHandle handle = 1 ;
225
+ required AudioSourceInfo info = 2 ;
223
226
}
224
227
225
228
//
@@ -229,8 +232,8 @@ message OwnedAudioSource {
229
232
message AudioResamplerInfo { }
230
233
231
234
message OwnedAudioResampler {
232
- FfiOwnedHandle handle = 1 ;
233
- AudioResamplerInfo info = 2 ;
235
+ required FfiOwnedHandle handle = 1 ;
236
+ required AudioResamplerInfo info = 2 ;
234
237
}
235
238
236
239
@@ -243,6 +246,6 @@ message OwnedAudioResampler {
243
246
message SoxResamplerInfo {}
244
247
245
248
message OwnedSoxResampler {
246
- FfiOwnedHandle handle = 1 ;
247
- SoxResamplerInfo info = 2 ;
249
+ required FfiOwnedHandle handle = 1 ;
250
+ required SoxResamplerInfo info = 2 ;
248
251
}
0 commit comments