livekit-server-sdk 0.5.5 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aeefcd6261651616958b5ce4bcae8b16a90d655684786d64f8c0d5f0b1c77550
4
- data.tar.gz: 4aaa7825155508e4595d96051df098124401d16f7a2e36e0a1812b93e9f9b1c8
3
+ metadata.gz: 51137f678f50ef3652432c99668b6527dfb093dde25c27c8ba4fc04fdc8fdad3
4
+ data.tar.gz: 392a2871432328d709db03111b85ca86a02f1bb6ad07838f15a98ccc1949bfd3
5
5
  SHA512:
6
- metadata.gz: 398a4cb7de533fe4585d1b3ca8ee087261170c9b90d5822e8b70c7261d20d93ac1998118b5a559057b7eaa00cf44bbf935c6d64cb416f09bf2ee111b6177760b
7
- data.tar.gz: f591ff5488228ca9b68c1da4277b3eb356f549f6005afa027a5f4fd0522f3298d528879d71f24e3cc369b0cca270a6ef16e99fa964a4d433d0015632161230b4
6
+ metadata.gz: 56df6fa9c838c106d5a1629845c4da83895604f7f47364af042433cbc76604a4fb0a5fdca724601f4075eae82f1fe1cb1dec77edac6e0c928b2239f53aee7ec5
7
+ data.tar.gz: 0ef597a3f6bddd58b7ae5daefd502f201b6cdc058791d730c8f94d1e5643d3f8681b74ed0289c7ffbde1e0f875c565ece8e51d7c9e6ad69a8d3c2e3e2e1ebc09
Binary file
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- livekit-server-sdk (0.5.3)
4
+ livekit-server-sdk (0.6.0)
5
5
  google-protobuf (>= 3.21.0, < 4.0)
6
6
  jwt (>= 2.2.3, < 3.0)
7
7
  rack (>= 2.2.3, < 3.0)
data/README.md CHANGED
@@ -135,7 +135,7 @@ The gem is available as open source under the terms of Apache 2.0 License.
135
135
  <br/><table>
136
136
  <thead><tr><th colspan="2">LiveKit Ecosystem</th></tr></thead>
137
137
  <tbody>
138
- <tr><td>Client SDKs</td><td><a href="https://github.com/livekit/components-js">Components</a> · <a href="https://github.com/livekit/client-sdk-js">JavaScript</a> · <a href="https://github.com/livekit/client-sdk-rust">Rust</a> · <a href="https://github.com/livekit/client-sdk-swift">iOS/macOS</a> · <a href="https://github.com/livekit/client-sdk-android">Android</a> · <a href="https://github.com/livekit/client-sdk-flutter">Flutter</a> · <a href="https://github.com/livekit/client-sdk-unity-web">Unity (web)</a> · <a href="https://github.com/livekit/client-sdk-react-native">React Native (beta)</a></td></tr><tr></tr>
138
+ <tr><td>Client SDKs</td><td><a href="https://github.com/livekit/components-js">Components</a> · <a href="https://github.com/livekit/client-sdk-js">JavaScript</a> · <a href="https://github.com/livekit/client-sdk-swift">iOS/macOS</a> · <a href="https://github.com/livekit/client-sdk-android">Android</a> · <a href="https://github.com/livekit/client-sdk-flutter">Flutter</a> · <a href="https://github.com/livekit/client-sdk-react-native">React Native</a> · <a href="https://github.com/livekit/client-sdk-rust">Rust</a> · <a href="https://github.com/livekit/client-sdk-python">Python</a> · <a href="https://github.com/livekit/client-sdk-unity-web">Unity (web)</a> · <a href="https://github.com/livekit/client-sdk-unity">Unity (beta)</a></td></tr><tr></tr>
139
139
  <tr><td>Server SDKs</td><td><a href="https://github.com/livekit/server-sdk-js">Node.js</a> · <a href="https://github.com/livekit/server-sdk-go">Golang</a> · <b>Ruby</b> · <a href="https://github.com/livekit/server-sdk-kotlin">Java/Kotlin</a> · <a href="https://github.com/agence104/livekit-server-sdk-php">PHP (community)</a> · <a href="https://github.com/tradablebits/livekit-server-sdk-python">Python (community)</a></td></tr><tr></tr>
140
140
  <tr><td>Services</td><td><a href="https://github.com/livekit/livekit">Livekit server</a> · <a href="https://github.com/livekit/egress">Egress</a> · <a href="https://github.com/livekit/ingress">Ingress</a></td></tr><tr></tr>
141
141
  <tr><td>Resources</td><td><a href="https://docs.livekit.io">Docs</a> · <a href="https://github.com/livekit-examples">Example apps</a> · <a href="https://livekit.io/cloud">Cloud</a> · <a href="https://docs.livekit.io/oss/deployment">Self-hosting</a> · <a href="https://github.com/livekit/livekit-cli">CLI</a></td></tr>
@@ -47,6 +47,33 @@ module LiveKit
47
47
  )
48
48
  end
49
49
 
50
+ def start_participant_egress(
51
+ room_name,
52
+ identity,
53
+ # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each
54
+ output,
55
+ # true to record the participant's screenshare and screenshare_audio track
56
+ screen_share: false,
57
+ # EncodingOptionsPreset, only one of preset or advanced could be set
58
+ preset: nil,
59
+ # EncodingOptions, only one of preset or advanced could be set
60
+ advanced: nil
61
+ )
62
+ request = Proto::ParticipantEgressRequest.new(
63
+ room_name: room_name,
64
+ identity: identity,
65
+ screen_share: screen_share,
66
+ preset: preset,
67
+ advanced: advanced,
68
+ )
69
+ self.set_output(request, output)
70
+ self.rpc(
71
+ :StartParticipantEgress,
72
+ request,
73
+ headers: auth_header(roomRecord: true),
74
+ )
75
+ end
76
+
50
77
  def start_track_composite_egress(
51
78
  room_name,
52
79
  # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each
@@ -157,11 +184,16 @@ module LiveKit
157
184
  # list all egress or only egress for a room
158
185
  def list_egress(
159
186
  room_name: nil,
187
+ egress_id: nil,
160
188
  active: false
161
189
  )
162
190
  self.rpc(
163
191
  :ListEgress,
164
- Proto::ListEgressRequest.new(room_name: room_name, active: active),
192
+ Proto::ListEgressRequest.new(
193
+ room_name: room_name,
194
+ active: active,
195
+ egress_id: egress_id,
196
+ ),
165
197
  headers: auth_header(roomRecord: true),
166
198
  )
167
199
  end
@@ -28,7 +28,9 @@ module LiveKit
28
28
  # optional, LiveKit::Proto::IngressVideoOptions
29
29
  video: nil,
30
30
  # optional, whether to forward input media unprocessed, for WHIP only
31
- bypass_transcoding: nil
31
+ bypass_transcoding: nil,
32
+ # optional, needed for ingresses of type URL, provides the URL to fetch media from
33
+ url: nil
32
34
  )
33
35
  request = Proto::CreateIngressRequest.new(
34
36
  input_type: input_type,
@@ -39,6 +41,7 @@ module LiveKit
39
41
  audio: audio,
40
42
  video: video,
41
43
  bypass_transcoding: bypass_transcoding,
44
+ url: url,
42
45
  )
43
46
  self.rpc(
44
47
  :CreateIngress,
@@ -81,9 +84,15 @@ module LiveKit
81
84
  )
82
85
  end
83
86
 
84
- def list_ingress(room_name: nil)
87
+ def list_ingress(
88
+ # optional, filter by room name
89
+ room_name: nil,
90
+ # optional, list by ingress id
91
+ ingress_id: nil
92
+ )
85
93
  request = Proto::ListIngressRequest.new(
86
94
  room_name: room_name,
95
+ ingress_id: ingress_id,
87
96
  )
88
97
  self.rpc(
89
98
  :ListIngress,
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: livekit_egress.proto
3
4
 
@@ -5,280 +6,44 @@ require 'google/protobuf'
5
6
 
6
7
  require 'livekit_models_pb'
7
8
 
8
- Google::Protobuf::DescriptorPool.generated_pool.build do
9
- add_file("livekit_egress.proto", :syntax => :proto3) do
10
- add_message "livekit.RoomCompositeEgressRequest" do
11
- optional :room_name, :string, 1
12
- optional :layout, :string, 2
13
- optional :audio_only, :bool, 3
14
- optional :video_only, :bool, 4
15
- optional :custom_base_url, :string, 5
16
- repeated :file_outputs, :message, 11, "livekit.EncodedFileOutput"
17
- repeated :stream_outputs, :message, 12, "livekit.StreamOutput"
18
- repeated :segment_outputs, :message, 13, "livekit.SegmentedFileOutput"
19
- oneof :output do
20
- optional :file, :message, 6, "livekit.EncodedFileOutput"
21
- optional :stream, :message, 7, "livekit.StreamOutput"
22
- optional :segments, :message, 10, "livekit.SegmentedFileOutput"
23
- end
24
- oneof :options do
25
- optional :preset, :enum, 8, "livekit.EncodingOptionsPreset"
26
- optional :advanced, :message, 9, "livekit.EncodingOptions"
27
- end
28
- end
29
- add_message "livekit.WebEgressRequest" do
30
- optional :url, :string, 1
31
- optional :audio_only, :bool, 2
32
- optional :video_only, :bool, 3
33
- optional :await_start_signal, :bool, 12
34
- repeated :file_outputs, :message, 9, "livekit.EncodedFileOutput"
35
- repeated :stream_outputs, :message, 10, "livekit.StreamOutput"
36
- repeated :segment_outputs, :message, 11, "livekit.SegmentedFileOutput"
37
- oneof :output do
38
- optional :file, :message, 4, "livekit.EncodedFileOutput"
39
- optional :stream, :message, 5, "livekit.StreamOutput"
40
- optional :segments, :message, 6, "livekit.SegmentedFileOutput"
41
- end
42
- oneof :options do
43
- optional :preset, :enum, 7, "livekit.EncodingOptionsPreset"
44
- optional :advanced, :message, 8, "livekit.EncodingOptions"
45
- end
46
- end
47
- add_message "livekit.TrackCompositeEgressRequest" do
48
- optional :room_name, :string, 1
49
- optional :audio_track_id, :string, 2
50
- optional :video_track_id, :string, 3
51
- repeated :file_outputs, :message, 11, "livekit.EncodedFileOutput"
52
- repeated :stream_outputs, :message, 12, "livekit.StreamOutput"
53
- repeated :segment_outputs, :message, 13, "livekit.SegmentedFileOutput"
54
- oneof :output do
55
- optional :file, :message, 4, "livekit.EncodedFileOutput"
56
- optional :stream, :message, 5, "livekit.StreamOutput"
57
- optional :segments, :message, 8, "livekit.SegmentedFileOutput"
58
- end
59
- oneof :options do
60
- optional :preset, :enum, 6, "livekit.EncodingOptionsPreset"
61
- optional :advanced, :message, 7, "livekit.EncodingOptions"
62
- end
63
- end
64
- add_message "livekit.TrackEgressRequest" do
65
- optional :room_name, :string, 1
66
- optional :track_id, :string, 2
67
- oneof :output do
68
- optional :file, :message, 3, "livekit.DirectFileOutput"
69
- optional :websocket_url, :string, 4
70
- end
71
- end
72
- add_message "livekit.EncodedFileOutput" do
73
- optional :file_type, :enum, 1, "livekit.EncodedFileType"
74
- optional :filepath, :string, 2
75
- optional :disable_manifest, :bool, 6
76
- oneof :output do
77
- optional :s3, :message, 3, "livekit.S3Upload"
78
- optional :gcp, :message, 4, "livekit.GCPUpload"
79
- optional :azure, :message, 5, "livekit.AzureBlobUpload"
80
- optional :aliOSS, :message, 7, "livekit.AliOSSUpload"
81
- end
82
- end
83
- add_message "livekit.SegmentedFileOutput" do
84
- optional :protocol, :enum, 1, "livekit.SegmentedFileProtocol"
85
- optional :filename_prefix, :string, 2
86
- optional :playlist_name, :string, 3
87
- optional :segment_duration, :uint32, 4
88
- optional :filename_suffix, :enum, 10, "livekit.SegmentedFileSuffix"
89
- optional :disable_manifest, :bool, 8
90
- oneof :output do
91
- optional :s3, :message, 5, "livekit.S3Upload"
92
- optional :gcp, :message, 6, "livekit.GCPUpload"
93
- optional :azure, :message, 7, "livekit.AzureBlobUpload"
94
- optional :aliOSS, :message, 9, "livekit.AliOSSUpload"
95
- end
96
- end
97
- add_message "livekit.DirectFileOutput" do
98
- optional :filepath, :string, 1
99
- optional :disable_manifest, :bool, 5
100
- oneof :output do
101
- optional :s3, :message, 2, "livekit.S3Upload"
102
- optional :gcp, :message, 3, "livekit.GCPUpload"
103
- optional :azure, :message, 4, "livekit.AzureBlobUpload"
104
- optional :aliOSS, :message, 6, "livekit.AliOSSUpload"
105
- end
106
- end
107
- add_message "livekit.S3Upload" do
108
- optional :access_key, :string, 1
109
- optional :secret, :string, 2
110
- optional :region, :string, 3
111
- optional :endpoint, :string, 4
112
- optional :bucket, :string, 5
113
- optional :force_path_style, :bool, 6
114
- map :metadata, :string, :string, 7
115
- optional :tagging, :string, 8
116
- end
117
- add_message "livekit.GCPUpload" do
118
- optional :credentials, :string, 1
119
- optional :bucket, :string, 2
120
- end
121
- add_message "livekit.AzureBlobUpload" do
122
- optional :account_name, :string, 1
123
- optional :account_key, :string, 2
124
- optional :container_name, :string, 3
125
- end
126
- add_message "livekit.AliOSSUpload" do
127
- optional :access_key, :string, 1
128
- optional :secret, :string, 2
129
- optional :region, :string, 3
130
- optional :endpoint, :string, 4
131
- optional :bucket, :string, 5
132
- end
133
- add_message "livekit.StreamOutput" do
134
- optional :protocol, :enum, 1, "livekit.StreamProtocol"
135
- repeated :urls, :string, 2
136
- end
137
- add_message "livekit.EncodingOptions" do
138
- optional :width, :int32, 1
139
- optional :height, :int32, 2
140
- optional :depth, :int32, 3
141
- optional :framerate, :int32, 4
142
- optional :audio_codec, :enum, 5, "livekit.AudioCodec"
143
- optional :audio_bitrate, :int32, 6
144
- optional :audio_frequency, :int32, 7
145
- optional :video_codec, :enum, 8, "livekit.VideoCodec"
146
- optional :video_bitrate, :int32, 9
147
- optional :key_frame_interval, :double, 10
148
- end
149
- add_message "livekit.UpdateLayoutRequest" do
150
- optional :egress_id, :string, 1
151
- optional :layout, :string, 2
152
- end
153
- add_message "livekit.UpdateStreamRequest" do
154
- optional :egress_id, :string, 1
155
- repeated :add_output_urls, :string, 2
156
- repeated :remove_output_urls, :string, 3
157
- end
158
- add_message "livekit.ListEgressRequest" do
159
- optional :room_name, :string, 1
160
- optional :egress_id, :string, 2
161
- optional :active, :bool, 3
162
- end
163
- add_message "livekit.ListEgressResponse" do
164
- repeated :items, :message, 1, "livekit.EgressInfo"
165
- end
166
- add_message "livekit.StopEgressRequest" do
167
- optional :egress_id, :string, 1
168
- end
169
- add_message "livekit.EgressInfo" do
170
- optional :egress_id, :string, 1
171
- optional :room_id, :string, 2
172
- optional :room_name, :string, 13
173
- optional :status, :enum, 3, "livekit.EgressStatus"
174
- optional :started_at, :int64, 10
175
- optional :ended_at, :int64, 11
176
- optional :error, :string, 9
177
- repeated :stream_results, :message, 15, "livekit.StreamInfo"
178
- repeated :file_results, :message, 16, "livekit.FileInfo"
179
- repeated :segment_results, :message, 17, "livekit.SegmentsInfo"
180
- oneof :request do
181
- optional :room_composite, :message, 4, "livekit.RoomCompositeEgressRequest"
182
- optional :track_composite, :message, 5, "livekit.TrackCompositeEgressRequest"
183
- optional :track, :message, 6, "livekit.TrackEgressRequest"
184
- optional :web, :message, 14, "livekit.WebEgressRequest"
185
- end
186
- oneof :result do
187
- optional :stream, :message, 7, "livekit.StreamInfoList"
188
- optional :file, :message, 8, "livekit.FileInfo"
189
- optional :segments, :message, 12, "livekit.SegmentsInfo"
190
- end
191
- end
192
- add_message "livekit.StreamInfoList" do
193
- repeated :info, :message, 1, "livekit.StreamInfo"
194
- end
195
- add_message "livekit.StreamInfo" do
196
- optional :url, :string, 1
197
- optional :started_at, :int64, 2
198
- optional :ended_at, :int64, 3
199
- optional :duration, :int64, 4
200
- optional :status, :enum, 5, "livekit.StreamInfo.Status"
201
- optional :error, :string, 6
202
- end
203
- add_enum "livekit.StreamInfo.Status" do
204
- value :ACTIVE, 0
205
- value :FINISHED, 1
206
- value :FAILED, 2
207
- end
208
- add_message "livekit.FileInfo" do
209
- optional :filename, :string, 1
210
- optional :started_at, :int64, 2
211
- optional :ended_at, :int64, 3
212
- optional :duration, :int64, 6
213
- optional :size, :int64, 4
214
- optional :location, :string, 5
215
- end
216
- add_message "livekit.SegmentsInfo" do
217
- optional :playlist_name, :string, 1
218
- optional :duration, :int64, 2
219
- optional :size, :int64, 3
220
- optional :playlist_location, :string, 4
221
- optional :segment_count, :int64, 5
222
- optional :started_at, :int64, 6
223
- optional :ended_at, :int64, 7
224
- end
225
- add_message "livekit.AutoTrackEgress" do
226
- optional :filepath, :string, 1
227
- optional :disable_manifest, :bool, 5
228
- oneof :output do
229
- optional :s3, :message, 2, "livekit.S3Upload"
230
- optional :gcp, :message, 3, "livekit.GCPUpload"
231
- optional :azure, :message, 4, "livekit.AzureBlobUpload"
232
- end
233
- end
234
- add_enum "livekit.EncodedFileType" do
235
- value :DEFAULT_FILETYPE, 0
236
- value :MP4, 1
237
- value :OGG, 2
238
- end
239
- add_enum "livekit.SegmentedFileProtocol" do
240
- value :DEFAULT_SEGMENTED_FILE_PROTOCOL, 0
241
- value :HLS_PROTOCOL, 1
242
- end
243
- add_enum "livekit.SegmentedFileSuffix" do
244
- value :INDEX, 0
245
- value :TIMESTAMP, 1
246
- end
247
- add_enum "livekit.StreamProtocol" do
248
- value :DEFAULT_PROTOCOL, 0
249
- value :RTMP, 1
250
- end
251
- add_enum "livekit.EncodingOptionsPreset" do
252
- value :H264_720P_30, 0
253
- value :H264_720P_60, 1
254
- value :H264_1080P_30, 2
255
- value :H264_1080P_60, 3
256
- value :PORTRAIT_H264_720P_30, 4
257
- value :PORTRAIT_H264_720P_60, 5
258
- value :PORTRAIT_H264_1080P_30, 6
259
- value :PORTRAIT_H264_1080P_60, 7
260
- end
261
- add_enum "livekit.EgressStatus" do
262
- value :EGRESS_STARTING, 0
263
- value :EGRESS_ACTIVE, 1
264
- value :EGRESS_ENDING, 2
265
- value :EGRESS_COMPLETE, 3
266
- value :EGRESS_FAILED, 4
267
- value :EGRESS_ABORTED, 5
268
- value :EGRESS_LIMIT_REACHED, 6
9
+
10
+ descriptor_data = "\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\"\xcd\x04\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutputB\x08\n\x06outputB\t\n\x07options\"\xb0\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutputB\x08\n\x06outputB\t\n\x07options\"\x85\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutputB\t\n\x07options\"\xad\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61udio_track_id\x18\x02 \x01(\t\x12\x16\n\x0evideo_track_id\x18\x03 \x01(\t\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutputB\x08\n\x06outputB\t\n\x07options\"\x87\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08track_id\x18\x02 \x01(\t\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x42\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xef\x01\n\x08S3Upload\x12\x12\n\naccess_key\x18\x01 \x01(\t\x12\x0e\n\x06secret\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x31\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntry\x12\x0f\n\x07tagging\x18\x08 \x01(\t\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\tGCPUpload\x12\x13\n\x0b\x63redentials\x18\x01 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\"T\n\x0f\x41zureBlobUpload\x12\x14\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"d\n\x0c\x41liOSSUpload\x12\x12\n\naccess_key\x18\x01 \x01(\t\x12\x0e\n\x06secret\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\"G\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\"\x89\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\"8\n\x13UpdateLayoutRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\"]\n\x13UpdateStreamRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\"\x8e\x01\n\x14UpdateOutputsRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12/\n\x11\x61\x64\x64_image_outputs\x18\x02 \x03(\x0b\x32\x14.livekit.ImageOutput\x12\x32\n\x14remove_image_outputs\x18\x03 \x03(\x0b\x32\x14.livekit.ImageOutput\"I\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x11\n\tegress_id\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"8\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\"&\n\x11StopEgressRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\"\x91\x06\n\nEgressInfo\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x0f\n\x07room_id\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\r \x01(\t\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12\r\n\x05\x65rror\x18\t \x01(\t\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfoB\t\n\x07requestB\x08\n\x06result\"7\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo:\x02\x18\x01\"\xbc\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"G\n\nImagesInfo\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xb6\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x42\x08\n\x06output*9\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02*N\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*E\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01*0\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01*\xcf\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06\x32\xe1\x05\n\x06\x45gress\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x43\n\rUpdateOutputs\x12\x1d.livekit.UpdateOutputsRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+
14
+ begin
15
+ pool.add_serialized_file(descriptor_data)
16
+ rescue TypeError => e
17
+ # Compatibility code: will be removed in the next major version.
18
+ require 'google/protobuf/descriptor_pb'
19
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
+ parsed.clear_dependency
21
+ serialized = parsed.class.encode(parsed)
22
+ file = pool.add_serialized_file(serialized)
23
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
+ imports = [
25
+ ]
26
+ imports.each do |type_name, expected_filename|
27
+ import_file = pool.lookup(type_name).file_descriptor
28
+ if import_file.name != expected_filename
29
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
269
30
  end
270
31
  end
32
+ warn "Each proto file must use a consistent fully-qualified name."
33
+ warn "This will become an error in the next major version."
271
34
  end
272
35
 
273
36
  module LiveKit
274
37
  module Proto
275
38
  RoomCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomCompositeEgressRequest").msgclass
276
39
  WebEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.WebEgressRequest").msgclass
40
+ ParticipantEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantEgressRequest").msgclass
277
41
  TrackCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackCompositeEgressRequest").msgclass
278
42
  TrackEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackEgressRequest").msgclass
279
43
  EncodedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileOutput").msgclass
280
44
  SegmentedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileOutput").msgclass
281
45
  DirectFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DirectFileOutput").msgclass
46
+ ImageOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageOutput").msgclass
282
47
  S3Upload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.S3Upload").msgclass
283
48
  GCPUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GCPUpload").msgclass
284
49
  AzureBlobUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AzureBlobUpload").msgclass
@@ -287,6 +52,7 @@ module LiveKit
287
52
  EncodingOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptions").msgclass
288
53
  UpdateLayoutRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateLayoutRequest").msgclass
289
54
  UpdateStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateStreamRequest").msgclass
55
+ UpdateOutputsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateOutputsRequest").msgclass
290
56
  ListEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressRequest").msgclass
291
57
  ListEgressResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressResponse").msgclass
292
58
  StopEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StopEgressRequest").msgclass
@@ -296,10 +62,13 @@ module LiveKit
296
62
  StreamInfo::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfo.Status").enummodule
297
63
  FileInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.FileInfo").msgclass
298
64
  SegmentsInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentsInfo").msgclass
65
+ ImagesInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImagesInfo").msgclass
66
+ AutoParticipantEgress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AutoParticipantEgress").msgclass
299
67
  AutoTrackEgress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AutoTrackEgress").msgclass
300
68
  EncodedFileType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileType").enummodule
301
69
  SegmentedFileProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileProtocol").enummodule
302
70
  SegmentedFileSuffix = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileSuffix").enummodule
71
+ ImageFileSuffix = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageFileSuffix").enummodule
303
72
  StreamProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamProtocol").enummodule
304
73
  EncodingOptionsPreset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptionsPreset").enummodule
305
74
  EgressStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressStatus").enummodule
@@ -8,11 +8,13 @@ module LiveKit
8
8
  package 'livekit'
9
9
  service 'Egress'
10
10
  rpc :StartRoomCompositeEgress, RoomCompositeEgressRequest, EgressInfo, :ruby_method => :start_room_composite_egress
11
+ rpc :StartWebEgress, WebEgressRequest, EgressInfo, :ruby_method => :start_web_egress
12
+ rpc :StartParticipantEgress, ParticipantEgressRequest, EgressInfo, :ruby_method => :start_participant_egress
11
13
  rpc :StartTrackCompositeEgress, TrackCompositeEgressRequest, EgressInfo, :ruby_method => :start_track_composite_egress
12
14
  rpc :StartTrackEgress, TrackEgressRequest, EgressInfo, :ruby_method => :start_track_egress
13
- rpc :StartWebEgress, WebEgressRequest, EgressInfo, :ruby_method => :start_web_egress
14
15
  rpc :UpdateLayout, UpdateLayoutRequest, EgressInfo, :ruby_method => :update_layout
15
16
  rpc :UpdateStream, UpdateStreamRequest, EgressInfo, :ruby_method => :update_stream
17
+ rpc :UpdateOutputs, UpdateOutputsRequest, EgressInfo, :ruby_method => :update_outputs
16
18
  rpc :ListEgress, ListEgressRequest, ListEgressResponse, :ruby_method => :list_egress
17
19
  rpc :StopEgress, StopEgressRequest, EgressInfo, :ruby_method => :stop_egress
18
20
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: livekit_ingress.proto
3
4
 
@@ -5,122 +6,32 @@ require 'google/protobuf'
5
6
 
6
7
  require 'livekit_models_pb'
7
8
 
8
- Google::Protobuf::DescriptorPool.generated_pool.build do
9
- add_file("livekit_ingress.proto", :syntax => :proto3) do
10
- add_message "livekit.CreateIngressRequest" do
11
- optional :input_type, :enum, 1, "livekit.IngressInput"
12
- optional :name, :string, 2
13
- optional :room_name, :string, 3
14
- optional :participant_identity, :string, 4
15
- optional :participant_name, :string, 5
16
- optional :bypass_transcoding, :bool, 8
17
- optional :audio, :message, 6, "livekit.IngressAudioOptions"
18
- optional :video, :message, 7, "livekit.IngressVideoOptions"
19
- end
20
- add_message "livekit.IngressAudioOptions" do
21
- optional :name, :string, 1
22
- optional :source, :enum, 2, "livekit.TrackSource"
23
- oneof :encoding_options do
24
- optional :preset, :enum, 3, "livekit.IngressAudioEncodingPreset"
25
- optional :options, :message, 4, "livekit.IngressAudioEncodingOptions"
26
- end
27
- end
28
- add_message "livekit.IngressVideoOptions" do
29
- optional :name, :string, 1
30
- optional :source, :enum, 2, "livekit.TrackSource"
31
- oneof :encoding_options do
32
- optional :preset, :enum, 3, "livekit.IngressVideoEncodingPreset"
33
- optional :options, :message, 4, "livekit.IngressVideoEncodingOptions"
34
- end
35
- end
36
- add_message "livekit.IngressAudioEncodingOptions" do
37
- optional :audio_codec, :enum, 1, "livekit.AudioCodec"
38
- optional :bitrate, :uint32, 2
39
- optional :disable_dtx, :bool, 3
40
- optional :channels, :uint32, 4
41
- end
42
- add_message "livekit.IngressVideoEncodingOptions" do
43
- optional :video_codec, :enum, 1, "livekit.VideoCodec"
44
- optional :frame_rate, :double, 2
45
- repeated :layers, :message, 3, "livekit.VideoLayer"
46
- end
47
- add_message "livekit.IngressInfo" do
48
- optional :ingress_id, :string, 1
49
- optional :name, :string, 2
50
- optional :stream_key, :string, 3
51
- optional :url, :string, 4
52
- optional :input_type, :enum, 5, "livekit.IngressInput"
53
- optional :bypass_transcoding, :bool, 13
54
- optional :audio, :message, 6, "livekit.IngressAudioOptions"
55
- optional :video, :message, 7, "livekit.IngressVideoOptions"
56
- optional :room_name, :string, 8
57
- optional :participant_identity, :string, 9
58
- optional :participant_name, :string, 10
59
- optional :reusable, :bool, 11
60
- optional :state, :message, 12, "livekit.IngressState"
61
- end
62
- add_message "livekit.IngressState" do
63
- optional :status, :enum, 1, "livekit.IngressState.Status"
64
- optional :error, :string, 2
65
- optional :video, :message, 3, "livekit.InputVideoState"
66
- optional :audio, :message, 4, "livekit.InputAudioState"
67
- optional :room_id, :string, 5
68
- optional :started_at, :int64, 7
69
- optional :ended_at, :int64, 8
70
- repeated :tracks, :message, 6, "livekit.TrackInfo"
71
- end
72
- add_enum "livekit.IngressState.Status" do
73
- value :ENDPOINT_INACTIVE, 0
74
- value :ENDPOINT_BUFFERING, 1
75
- value :ENDPOINT_PUBLISHING, 2
76
- value :ENDPOINT_ERROR, 3
77
- end
78
- add_message "livekit.InputVideoState" do
79
- optional :mime_type, :string, 1
80
- optional :width, :uint32, 3
81
- optional :height, :uint32, 4
82
- optional :framerate, :uint32, 5
83
- end
84
- add_message "livekit.InputAudioState" do
85
- optional :mime_type, :string, 1
86
- optional :channels, :uint32, 3
87
- optional :sample_rate, :uint32, 4
88
- end
89
- add_message "livekit.UpdateIngressRequest" do
90
- optional :ingress_id, :string, 1
91
- optional :name, :string, 2
92
- optional :room_name, :string, 3
93
- optional :participant_identity, :string, 4
94
- optional :participant_name, :string, 5
95
- proto3_optional :bypass_transcoding, :bool, 8
96
- optional :audio, :message, 6, "livekit.IngressAudioOptions"
97
- optional :video, :message, 7, "livekit.IngressVideoOptions"
98
- end
99
- add_message "livekit.ListIngressRequest" do
100
- optional :room_name, :string, 1
101
- end
102
- add_message "livekit.ListIngressResponse" do
103
- repeated :items, :message, 1, "livekit.IngressInfo"
104
- end
105
- add_message "livekit.DeleteIngressRequest" do
106
- optional :ingress_id, :string, 1
107
- end
108
- add_enum "livekit.IngressInput" do
109
- value :RTMP_INPUT, 0
110
- value :WHIP_INPUT, 1
111
- end
112
- add_enum "livekit.IngressAudioEncodingPreset" do
113
- value :OPUS_STEREO_96KBPS, 0
114
- value :OPUS_MONO_64KBS, 1
115
- end
116
- add_enum "livekit.IngressVideoEncodingPreset" do
117
- value :H264_720P_30FPS_3_LAYERS, 0
118
- value :H264_1080P_30FPS_3_LAYERS, 1
119
- value :H264_540P_25FPS_2_LAYERS, 2
120
- value :H264_720P_30FPS_1_LAYER, 3
121
- value :H264_1080P_30FPS_1_LAYER, 4
9
+
10
+ descriptor_data = "\n\x15livekit_ingress.proto\x12\x07livekit\x1a\x14livekit_models.proto\"\x9d\x02\n\x14\x43reateIngressRequest\x12)\n\ninput_type\x18\x01 \x01(\x0e\x32\x15.livekit.IngressInput\x12\x0b\n\x03url\x18\t \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x18\n\x10participant_name\x18\x05 \x01(\t\x12\x1a\n\x12\x62ypass_transcoding\x18\x08 \x01(\x08\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\"\xcd\x01\n\x13IngressAudioOptions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x06source\x18\x02 \x01(\x0e\x32\x14.livekit.TrackSource\x12\x35\n\x06preset\x18\x03 \x01(\x0e\x32#.livekit.IngressAudioEncodingPresetH\x00\x12\x37\n\x07options\x18\x04 \x01(\x0b\x32$.livekit.IngressAudioEncodingOptionsH\x00\x42\x12\n\x10\x65ncoding_options\"\xcd\x01\n\x13IngressVideoOptions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x06source\x18\x02 \x01(\x0e\x32\x14.livekit.TrackSource\x12\x35\n\x06preset\x18\x03 \x01(\x0e\x32#.livekit.IngressVideoEncodingPresetH\x00\x12\x37\n\x07options\x18\x04 \x01(\x0b\x32$.livekit.IngressVideoEncodingOptionsH\x00\x42\x12\n\x10\x65ncoding_options\"\x7f\n\x1bIngressAudioEncodingOptions\x12(\n\x0b\x61udio_codec\x18\x01 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x0f\n\x07\x62itrate\x18\x02 \x01(\r\x12\x13\n\x0b\x64isable_dtx\x18\x03 \x01(\x08\x12\x10\n\x08\x63hannels\x18\x04 \x01(\r\"\x80\x01\n\x1bIngressVideoEncodingOptions\x12(\n\x0bvideo_codec\x18\x01 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x12\n\nframe_rate\x18\x02 \x01(\x01\x12#\n\x06layers\x18\x03 \x03(\x0b\x32\x13.livekit.VideoLayer\"\xf4\x02\n\x0bIngressInfo\x12\x12\n\ningress_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nstream_key\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12)\n\ninput_type\x18\x05 \x01(\x0e\x32\x15.livekit.IngressInput\x12\x1a\n\x12\x62ypass_transcoding\x18\r \x01(\x08\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\x12\x11\n\troom_name\x18\x08 \x01(\t\x12\x1c\n\x14participant_identity\x18\t \x01(\t\x12\x18\n\x10participant_name\x18\n \x01(\t\x12\x10\n\x08reusable\x18\x0b \x01(\x08\x12$\n\x05state\x18\x0c \x01(\x0b\x32\x15.livekit.IngressState\"\x8a\x03\n\x0cIngressState\x12,\n\x06status\x18\x01 \x01(\x0e\x32\x1c.livekit.IngressState.Status\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\'\n\x05video\x18\x03 \x01(\x0b\x32\x18.livekit.InputVideoState\x12\'\n\x05\x61udio\x18\x04 \x01(\x0b\x32\x18.livekit.InputAudioState\x12\x0f\n\x07room_id\x18\x05 \x01(\t\x12\x12\n\nstarted_at\x18\x07 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x08 \x01(\x03\x12\x13\n\x0bresource_id\x18\t \x01(\t\x12\"\n\x06tracks\x18\x06 \x03(\x0b\x32\x12.livekit.TrackInfo\"{\n\x06Status\x12\x15\n\x11\x45NDPOINT_INACTIVE\x10\x00\x12\x16\n\x12\x45NDPOINT_BUFFERING\x10\x01\x12\x17\n\x13\x45NDPOINT_PUBLISHING\x10\x02\x12\x12\n\x0e\x45NDPOINT_ERROR\x10\x03\x12\x15\n\x11\x45NDPOINT_COMPLETE\x10\x04\"o\n\x0fInputVideoState\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x17\n\x0f\x61verage_bitrate\x18\x02 \x01(\r\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0e\n\x06height\x18\x04 \x01(\r\x12\x11\n\tframerate\x18\x05 \x01(\x01\"d\n\x0fInputAudioState\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x17\n\x0f\x61verage_bitrate\x18\x02 \x01(\r\x12\x10\n\x08\x63hannels\x18\x03 \x01(\r\x12\x13\n\x0bsample_rate\x18\x04 \x01(\r\"\x95\x02\n\x14UpdateIngressRequest\x12\x12\n\ningress_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x18\n\x10participant_name\x18\x05 \x01(\t\x12\x1f\n\x12\x62ypass_transcoding\x18\x08 \x01(\x08H\x00\x88\x01\x01\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptionsB\x15\n\x13_bypass_transcoding\";\n\x12ListIngressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x12\n\ningress_id\x18\x02 \x01(\t\":\n\x13ListIngressResponse\x12#\n\x05items\x18\x01 \x03(\x0b\x32\x14.livekit.IngressInfo\"*\n\x14\x44\x65leteIngressRequest\x12\x12\n\ningress_id\x18\x01 \x01(\t*=\n\x0cIngressInput\x12\x0e\n\nRTMP_INPUT\x10\x00\x12\x0e\n\nWHIP_INPUT\x10\x01\x12\r\n\tURL_INPUT\x10\x02*I\n\x1aIngressAudioEncodingPreset\x12\x16\n\x12OPUS_STEREO_96KBPS\x10\x00\x12\x13\n\x0fOPUS_MONO_64KBS\x10\x01*\x84\x03\n\x1aIngressVideoEncodingPreset\x12\x1c\n\x18H264_720P_30FPS_3_LAYERS\x10\x00\x12\x1d\n\x19H264_1080P_30FPS_3_LAYERS\x10\x01\x12\x1c\n\x18H264_540P_25FPS_2_LAYERS\x10\x02\x12\x1b\n\x17H264_720P_30FPS_1_LAYER\x10\x03\x12\x1c\n\x18H264_1080P_30FPS_1_LAYER\x10\x04\x12(\n$H264_720P_30FPS_3_LAYERS_HIGH_MOTION\x10\x05\x12)\n%H264_1080P_30FPS_3_LAYERS_HIGH_MOTION\x10\x06\x12(\n$H264_540P_25FPS_2_LAYERS_HIGH_MOTION\x10\x07\x12\'\n#H264_720P_30FPS_1_LAYER_HIGH_MOTION\x10\x08\x12(\n$H264_1080P_30FPS_1_LAYER_HIGH_MOTION\x10\t2\xa5\x02\n\x07Ingress\x12\x44\n\rCreateIngress\x12\x1d.livekit.CreateIngressRequest\x1a\x14.livekit.IngressInfo\x12\x44\n\rUpdateIngress\x12\x1d.livekit.UpdateIngressRequest\x1a\x14.livekit.IngressInfo\x12H\n\x0bListIngress\x12\x1b.livekit.ListIngressRequest\x1a\x1c.livekit.ListIngressResponse\x12\x44\n\rDeleteIngress\x12\x1d.livekit.DeleteIngressRequest\x1a\x14.livekit.IngressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+
14
+ begin
15
+ pool.add_serialized_file(descriptor_data)
16
+ rescue TypeError => e
17
+ # Compatibility code: will be removed in the next major version.
18
+ require 'google/protobuf/descriptor_pb'
19
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
+ parsed.clear_dependency
21
+ serialized = parsed.class.encode(parsed)
22
+ file = pool.add_serialized_file(serialized)
23
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
+ imports = [
25
+ ["livekit.VideoLayer", "livekit_models.proto"],
26
+ ]
27
+ imports.each do |type_name, expected_filename|
28
+ import_file = pool.lookup(type_name).file_descriptor
29
+ if import_file.name != expected_filename
30
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
122
31
  end
123
32
  end
33
+ warn "Each proto file must use a consistent fully-qualified name."
34
+ warn "This will become an error in the next major version."
124
35
  end
125
36
 
126
37
  module LiveKit
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: livekit_models.proto
3
4
 
@@ -5,287 +6,39 @@ require 'google/protobuf'
5
6
 
6
7
  require 'google/protobuf/timestamp_pb'
7
8
 
8
- Google::Protobuf::DescriptorPool.generated_pool.build do
9
- add_file("livekit_models.proto", :syntax => :proto3) do
10
- add_message "livekit.Room" do
11
- optional :sid, :string, 1
12
- optional :name, :string, 2
13
- optional :empty_timeout, :uint32, 3
14
- optional :max_participants, :uint32, 4
15
- optional :creation_time, :int64, 5
16
- optional :turn_password, :string, 6
17
- repeated :enabled_codecs, :message, 7, "livekit.Codec"
18
- optional :metadata, :string, 8
19
- optional :num_participants, :uint32, 9
20
- optional :num_publishers, :uint32, 11
21
- optional :active_recording, :bool, 10
22
- end
23
- add_message "livekit.Codec" do
24
- optional :mime, :string, 1
25
- optional :fmtp_line, :string, 2
26
- end
27
- add_message "livekit.ParticipantPermission" do
28
- optional :can_subscribe, :bool, 1
29
- optional :can_publish, :bool, 2
30
- optional :can_publish_data, :bool, 3
31
- repeated :can_publish_sources, :enum, 9, "livekit.TrackSource"
32
- optional :hidden, :bool, 7
33
- optional :recorder, :bool, 8
34
- optional :can_update_metadata, :bool, 10
35
- end
36
- add_message "livekit.ParticipantInfo" do
37
- optional :sid, :string, 1
38
- optional :identity, :string, 2
39
- optional :state, :enum, 3, "livekit.ParticipantInfo.State"
40
- repeated :tracks, :message, 4, "livekit.TrackInfo"
41
- optional :metadata, :string, 5
42
- optional :joined_at, :int64, 6
43
- optional :name, :string, 9
44
- optional :version, :uint32, 10
45
- optional :permission, :message, 11, "livekit.ParticipantPermission"
46
- optional :region, :string, 12
47
- optional :is_publisher, :bool, 13
48
- end
49
- add_enum "livekit.ParticipantInfo.State" do
50
- value :JOINING, 0
51
- value :JOINED, 1
52
- value :ACTIVE, 2
53
- value :DISCONNECTED, 3
54
- end
55
- add_message "livekit.Encryption" do
56
- end
57
- add_enum "livekit.Encryption.Type" do
58
- value :NONE, 0
59
- value :GCM, 1
60
- value :CUSTOM, 2
61
- end
62
- add_message "livekit.SimulcastCodecInfo" do
63
- optional :mime_type, :string, 1
64
- optional :mid, :string, 2
65
- optional :cid, :string, 3
66
- repeated :layers, :message, 4, "livekit.VideoLayer"
67
- end
68
- add_message "livekit.TrackInfo" do
69
- optional :sid, :string, 1
70
- optional :type, :enum, 2, "livekit.TrackType"
71
- optional :name, :string, 3
72
- optional :muted, :bool, 4
73
- optional :width, :uint32, 5
74
- optional :height, :uint32, 6
75
- optional :simulcast, :bool, 7
76
- optional :disable_dtx, :bool, 8
77
- optional :source, :enum, 9, "livekit.TrackSource"
78
- repeated :layers, :message, 10, "livekit.VideoLayer"
79
- optional :mime_type, :string, 11
80
- optional :mid, :string, 12
81
- repeated :codecs, :message, 13, "livekit.SimulcastCodecInfo"
82
- optional :stereo, :bool, 14
83
- optional :disable_red, :bool, 15
84
- optional :encryption, :enum, 16, "livekit.Encryption.Type"
85
- end
86
- add_message "livekit.VideoLayer" do
87
- optional :quality, :enum, 1, "livekit.VideoQuality"
88
- optional :width, :uint32, 2
89
- optional :height, :uint32, 3
90
- optional :bitrate, :uint32, 4
91
- optional :ssrc, :uint32, 5
92
- end
93
- add_message "livekit.DataPacket" do
94
- optional :kind, :enum, 1, "livekit.DataPacket.Kind"
95
- oneof :value do
96
- optional :user, :message, 2, "livekit.UserPacket"
97
- optional :speaker, :message, 3, "livekit.ActiveSpeakerUpdate"
98
- end
99
- end
100
- add_enum "livekit.DataPacket.Kind" do
101
- value :RELIABLE, 0
102
- value :LOSSY, 1
103
- end
104
- add_message "livekit.ActiveSpeakerUpdate" do
105
- repeated :speakers, :message, 1, "livekit.SpeakerInfo"
106
- end
107
- add_message "livekit.SpeakerInfo" do
108
- optional :sid, :string, 1
109
- optional :level, :float, 2
110
- optional :active, :bool, 3
111
- end
112
- add_message "livekit.UserPacket" do
113
- optional :participant_sid, :string, 1
114
- optional :payload, :bytes, 2
115
- repeated :destination_sids, :string, 3
116
- proto3_optional :topic, :string, 4
117
- end
118
- add_message "livekit.ParticipantTracks" do
119
- optional :participant_sid, :string, 1
120
- repeated :track_sids, :string, 2
121
- end
122
- add_message "livekit.ServerInfo" do
123
- optional :edition, :enum, 1, "livekit.ServerInfo.Edition"
124
- optional :version, :string, 2
125
- optional :protocol, :int32, 3
126
- optional :region, :string, 4
127
- optional :node_id, :string, 5
128
- optional :debug_info, :string, 6
129
- end
130
- add_enum "livekit.ServerInfo.Edition" do
131
- value :Standard, 0
132
- value :Cloud, 1
133
- end
134
- add_message "livekit.ClientInfo" do
135
- optional :sdk, :enum, 1, "livekit.ClientInfo.SDK"
136
- optional :version, :string, 2
137
- optional :protocol, :int32, 3
138
- optional :os, :string, 4
139
- optional :os_version, :string, 5
140
- optional :device_model, :string, 6
141
- optional :browser, :string, 7
142
- optional :browser_version, :string, 8
143
- optional :address, :string, 9
144
- optional :network, :string, 10
145
- end
146
- add_enum "livekit.ClientInfo.SDK" do
147
- value :UNKNOWN, 0
148
- value :JS, 1
149
- value :SWIFT, 2
150
- value :ANDROID, 3
151
- value :FLUTTER, 4
152
- value :GO, 5
153
- value :UNITY, 6
154
- value :REACT_NATIVE, 7
155
- value :RUST, 8
156
- end
157
- add_message "livekit.ClientConfiguration" do
158
- optional :video, :message, 1, "livekit.VideoConfiguration"
159
- optional :screen, :message, 2, "livekit.VideoConfiguration"
160
- optional :resume_connection, :enum, 3, "livekit.ClientConfigSetting"
161
- optional :disabled_codecs, :message, 4, "livekit.DisabledCodecs"
162
- optional :force_relay, :enum, 5, "livekit.ClientConfigSetting"
163
- end
164
- add_message "livekit.VideoConfiguration" do
165
- optional :hardware_encoder, :enum, 1, "livekit.ClientConfigSetting"
166
- end
167
- add_message "livekit.DisabledCodecs" do
168
- repeated :codecs, :message, 1, "livekit.Codec"
169
- repeated :publish, :message, 2, "livekit.Codec"
170
- end
171
- add_message "livekit.RTPStats" do
172
- optional :start_time, :message, 1, "google.protobuf.Timestamp"
173
- optional :end_time, :message, 2, "google.protobuf.Timestamp"
174
- optional :duration, :double, 3
175
- optional :packets, :uint32, 4
176
- optional :packet_rate, :double, 5
177
- optional :bytes, :uint64, 6
178
- optional :header_bytes, :uint64, 39
179
- optional :bitrate, :double, 7
180
- optional :packets_lost, :uint32, 8
181
- optional :packet_loss_rate, :double, 9
182
- optional :packet_loss_percentage, :float, 10
183
- optional :packets_duplicate, :uint32, 11
184
- optional :packet_duplicate_rate, :double, 12
185
- optional :bytes_duplicate, :uint64, 13
186
- optional :header_bytes_duplicate, :uint64, 40
187
- optional :bitrate_duplicate, :double, 14
188
- optional :packets_padding, :uint32, 15
189
- optional :packet_padding_rate, :double, 16
190
- optional :bytes_padding, :uint64, 17
191
- optional :header_bytes_padding, :uint64, 41
192
- optional :bitrate_padding, :double, 18
193
- optional :packets_out_of_order, :uint32, 19
194
- optional :frames, :uint32, 20
195
- optional :frame_rate, :double, 21
196
- optional :jitter_current, :double, 22
197
- optional :jitter_max, :double, 23
198
- map :gap_histogram, :int32, :uint32, 24
199
- optional :nacks, :uint32, 25
200
- optional :nack_acks, :uint32, 37
201
- optional :nack_misses, :uint32, 26
202
- optional :nack_repeated, :uint32, 38
203
- optional :plis, :uint32, 27
204
- optional :last_pli, :message, 28, "google.protobuf.Timestamp"
205
- optional :firs, :uint32, 29
206
- optional :last_fir, :message, 30, "google.protobuf.Timestamp"
207
- optional :rtt_current, :uint32, 31
208
- optional :rtt_max, :uint32, 32
209
- optional :key_frames, :uint32, 33
210
- optional :last_key_frame, :message, 34, "google.protobuf.Timestamp"
211
- optional :layer_lock_plis, :uint32, 35
212
- optional :last_layer_lock_pli, :message, 36, "google.protobuf.Timestamp"
213
- optional :sample_rate, :double, 42
214
- optional :drift_ms, :double, 43
215
- end
216
- add_message "livekit.TimedVersion" do
217
- optional :unix_micro, :int64, 1
218
- optional :ticks, :int32, 2
219
- end
220
- add_enum "livekit.AudioCodec" do
221
- value :DEFAULT_AC, 0
222
- value :OPUS, 1
223
- value :AAC, 2
224
- end
225
- add_enum "livekit.VideoCodec" do
226
- value :DEFAULT_VC, 0
227
- value :H264_BASELINE, 1
228
- value :H264_MAIN, 2
229
- value :H264_HIGH, 3
230
- value :VP8, 4
231
- end
232
- add_enum "livekit.TrackType" do
233
- value :AUDIO, 0
234
- value :VIDEO, 1
235
- value :DATA, 2
236
- end
237
- add_enum "livekit.TrackSource" do
238
- value :UNKNOWN, 0
239
- value :CAMERA, 1
240
- value :MICROPHONE, 2
241
- value :SCREEN_SHARE, 3
242
- value :SCREEN_SHARE_AUDIO, 4
243
- end
244
- add_enum "livekit.VideoQuality" do
245
- value :LOW, 0
246
- value :MEDIUM, 1
247
- value :HIGH, 2
248
- value :OFF, 3
249
- end
250
- add_enum "livekit.ConnectionQuality" do
251
- value :POOR, 0
252
- value :GOOD, 1
253
- value :EXCELLENT, 2
254
- end
255
- add_enum "livekit.ClientConfigSetting" do
256
- value :UNSET, 0
257
- value :DISABLED, 1
258
- value :ENABLED, 2
259
- end
260
- add_enum "livekit.DisconnectReason" do
261
- value :UNKNOWN_REASON, 0
262
- value :CLIENT_INITIATED, 1
263
- value :DUPLICATE_IDENTITY, 2
264
- value :SERVER_SHUTDOWN, 3
265
- value :PARTICIPANT_REMOVED, 4
266
- value :ROOM_DELETED, 5
267
- value :STATE_MISMATCH, 6
268
- value :JOIN_FAILURE, 7
269
- end
270
- add_enum "livekit.ReconnectReason" do
271
- value :RR_UNKOWN, 0
272
- value :RR_SIGNAL_DISCONNECTED, 1
273
- value :RR_PUBLISHER_FAILED, 2
274
- value :RR_SUBSCRIBER_FAILED, 3
275
- value :RR_SWITCH_CANDIDATE, 4
276
- end
277
- add_enum "livekit.SubscriptionError" do
278
- value :SE_UNKOWN, 0
279
- value :SE_CODEC_UNSUPPORTED, 1
280
- value :SE_TRACK_NOTFOUND, 2
9
+
10
+ descriptor_data = "\n\x14livekit_models.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\"\x86\x02\n\x04Room\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rempty_timeout\x18\x03 \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x15\n\rcreation_time\x18\x05 \x01(\x03\x12\x15\n\rturn_password\x18\x06 \x01(\t\x12&\n\x0e\x65nabled_codecs\x18\x07 \x03(\x0b\x32\x0e.livekit.Codec\x12\x10\n\x08metadata\x18\x08 \x01(\t\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\xcf\x01\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x10\n\x08recorder\x18\x08 \x01(\x08\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\"\xe1\x02\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x0c\n\x04name\x18\t \x01(\t\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"f\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\"\x99\x03\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x11\n\tsimulcast\x18\x07 \x01(\x08\x12\x13\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12#\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x0e\n\x06stereo\x18\x0e \x01(\x08\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\"r\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\"\xb4\x01\n\nDataPacket\x12&\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12/\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateH\x00\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"=\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xac\x01\n\nUserPacket\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x18\n\x10\x64\x65stination_sids\x18\x03 \x03(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xb6\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x0f\n\x07node_id\x18\x05 \x01(\t\x12\x12\n\ndebug_info\x18\x06 \x01(\t\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\xdd\x02\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\"\x83\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xef\t\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18 \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12\'\n\x0creport_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05*/\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*6\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xba\x01\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+
14
+ begin
15
+ pool.add_serialized_file(descriptor_data)
16
+ rescue TypeError => e
17
+ # Compatibility code: will be removed in the next major version.
18
+ require 'google/protobuf/descriptor_pb'
19
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
+ parsed.clear_dependency
21
+ serialized = parsed.class.encode(parsed)
22
+ file = pool.add_serialized_file(serialized)
23
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
+ imports = [
25
+ ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
26
+ ]
27
+ imports.each do |type_name, expected_filename|
28
+ import_file = pool.lookup(type_name).file_descriptor
29
+ if import_file.name != expected_filename
30
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
281
31
  end
282
32
  end
33
+ warn "Each proto file must use a consistent fully-qualified name."
34
+ warn "This will become an error in the next major version."
283
35
  end
284
36
 
285
37
  module LiveKit
286
38
  module Proto
287
39
  Room = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Room").msgclass
288
40
  Codec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Codec").msgclass
41
+ PlayoutDelay = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.PlayoutDelay").msgclass
289
42
  ParticipantPermission = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantPermission").msgclass
290
43
  ParticipantInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo").msgclass
291
44
  ParticipantInfo::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo.State").enummodule
@@ -307,10 +60,12 @@ module LiveKit
307
60
  ClientConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfiguration").msgclass
308
61
  VideoConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoConfiguration").msgclass
309
62
  DisabledCodecs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DisabledCodecs").msgclass
63
+ RTPDrift = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPDrift").msgclass
310
64
  RTPStats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPStats").msgclass
311
65
  TimedVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TimedVersion").msgclass
312
66
  AudioCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AudioCodec").enummodule
313
67
  VideoCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoCodec").enummodule
68
+ ImageCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageCodec").enummodule
314
69
  TrackType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackType").enummodule
315
70
  TrackSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackSource").enummodule
316
71
  VideoQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoQuality").enummodule
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: livekit_room.proto
3
4
 
@@ -6,82 +7,33 @@ require 'google/protobuf'
6
7
  require 'livekit_models_pb'
7
8
  require 'livekit_egress_pb'
8
9
 
9
- Google::Protobuf::DescriptorPool.generated_pool.build do
10
- add_file("livekit_room.proto", :syntax => :proto3) do
11
- add_message "livekit.CreateRoomRequest" do
12
- optional :name, :string, 1
13
- optional :empty_timeout, :uint32, 2
14
- optional :max_participants, :uint32, 3
15
- optional :node_id, :string, 4
16
- optional :metadata, :string, 5
17
- optional :egress, :message, 6, "livekit.RoomEgress"
18
- end
19
- add_message "livekit.RoomEgress" do
20
- optional :room, :message, 1, "livekit.RoomCompositeEgressRequest"
21
- optional :tracks, :message, 2, "livekit.AutoTrackEgress"
22
- end
23
- add_message "livekit.ListRoomsRequest" do
24
- repeated :names, :string, 1
25
- end
26
- add_message "livekit.ListRoomsResponse" do
27
- repeated :rooms, :message, 1, "livekit.Room"
28
- end
29
- add_message "livekit.DeleteRoomRequest" do
30
- optional :room, :string, 1
31
- end
32
- add_message "livekit.DeleteRoomResponse" do
33
- end
34
- add_message "livekit.ListParticipantsRequest" do
35
- optional :room, :string, 1
36
- end
37
- add_message "livekit.ListParticipantsResponse" do
38
- repeated :participants, :message, 1, "livekit.ParticipantInfo"
39
- end
40
- add_message "livekit.RoomParticipantIdentity" do
41
- optional :room, :string, 1
42
- optional :identity, :string, 2
43
- end
44
- add_message "livekit.RemoveParticipantResponse" do
45
- end
46
- add_message "livekit.MuteRoomTrackRequest" do
47
- optional :room, :string, 1
48
- optional :identity, :string, 2
49
- optional :track_sid, :string, 3
50
- optional :muted, :bool, 4
51
- end
52
- add_message "livekit.MuteRoomTrackResponse" do
53
- optional :track, :message, 1, "livekit.TrackInfo"
54
- end
55
- add_message "livekit.UpdateParticipantRequest" do
56
- optional :room, :string, 1
57
- optional :identity, :string, 2
58
- optional :metadata, :string, 3
59
- optional :permission, :message, 4, "livekit.ParticipantPermission"
60
- optional :name, :string, 5
61
- end
62
- add_message "livekit.UpdateSubscriptionsRequest" do
63
- optional :room, :string, 1
64
- optional :identity, :string, 2
65
- repeated :track_sids, :string, 3
66
- optional :subscribe, :bool, 4
67
- repeated :participant_tracks, :message, 5, "livekit.ParticipantTracks"
68
- end
69
- add_message "livekit.UpdateSubscriptionsResponse" do
70
- end
71
- add_message "livekit.SendDataRequest" do
72
- optional :room, :string, 1
73
- optional :data, :bytes, 2
74
- optional :kind, :enum, 3, "livekit.DataPacket.Kind"
75
- repeated :destination_sids, :string, 4
76
- proto3_optional :topic, :string, 5
77
- end
78
- add_message "livekit.SendDataResponse" do
79
- end
80
- add_message "livekit.UpdateRoomMetadataRequest" do
81
- optional :room, :string, 1
82
- optional :metadata, :string, 2
10
+
11
+ descriptor_data = "\n\x12livekit_room.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\"\xe6\x01\n\x11\x43reateRoomRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x18\n\x10max_participants\x18\x03 \x01(\r\x12\x0f\n\x07node_id\x18\x04 \x01(\t\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12#\n\x06\x65gress\x18\x06 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\"\x9e\x01\n\nRoomEgress\x12\x31\n\x04room\x18\x01 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequest\x12\x33\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x1e.livekit.AutoParticipantEgress\x12(\n\x06tracks\x18\x02 \x01(\x0b\x32\x18.livekit.AutoTrackEgress\"!\n\x10ListRoomsRequest\x12\r\n\x05names\x18\x01 \x03(\t\"1\n\x11ListRoomsResponse\x12\x1c\n\x05rooms\x18\x01 \x03(\x0b\x32\r.livekit.Room\"!\n\x11\x44\x65leteRoomRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"\x14\n\x12\x44\x65leteRoomResponse\"\'\n\x17ListParticipantsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"J\n\x18ListParticipantsResponse\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"9\n\x17RoomParticipantIdentity\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\"\x1b\n\x19RemoveParticipantResponse\"X\n\x14MuteRoomTrackRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\":\n\x15MuteRoomTrackResponse\x12!\n\x05track\x18\x01 \x01(\x0b\x32\x12.livekit.TrackInfo\"\x8e\x01\n\x18UpdateParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\x12\x32\n\npermission\x18\x04 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0c\n\x04name\x18\x05 \x01(\t\"\x9b\x01\n\x1aUpdateSubscriptionsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x11\n\tsubscribe\x18\x04 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x05 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\x1d\n\x1bUpdateSubscriptionsResponse\"\xb1\x01\n\x0fSendDataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12&\n\x04kind\x18\x03 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12\x1c\n\x10\x64\x65stination_sids\x18\x04 \x03(\tB\x02\x18\x01\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"\x12\n\x10SendDataResponse\";\n\x19UpdateRoomMetadataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08metadata\x18\x02 \x01(\t2\xe6\x06\n\x0bRoomService\x12\x37\n\nCreateRoom\x12\x1a.livekit.CreateRoomRequest\x1a\r.livekit.Room\x12\x42\n\tListRooms\x12\x19.livekit.ListRoomsRequest\x1a\x1a.livekit.ListRoomsResponse\x12\x45\n\nDeleteRoom\x12\x1a.livekit.DeleteRoomRequest\x1a\x1b.livekit.DeleteRoomResponse\x12W\n\x10ListParticipants\x12 .livekit.ListParticipantsRequest\x1a!.livekit.ListParticipantsResponse\x12L\n\x0eGetParticipant\x12 .livekit.RoomParticipantIdentity\x1a\x18.livekit.ParticipantInfo\x12Y\n\x11RemoveParticipant\x12 .livekit.RoomParticipantIdentity\x1a\".livekit.RemoveParticipantResponse\x12S\n\x12MutePublishedTrack\x12\x1d.livekit.MuteRoomTrackRequest\x1a\x1e.livekit.MuteRoomTrackResponse\x12P\n\x11UpdateParticipant\x12!.livekit.UpdateParticipantRequest\x1a\x18.livekit.ParticipantInfo\x12`\n\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\x12?\n\x08SendData\x12\x18.livekit.SendDataRequest\x1a\x19.livekit.SendDataResponse\x12G\n\x12UpdateRoomMetadata\x12\".livekit.UpdateRoomMetadataRequest\x1a\r.livekit.RoomBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
12
+
13
+ pool = Google::Protobuf::DescriptorPool.generated_pool
14
+
15
+ begin
16
+ pool.add_serialized_file(descriptor_data)
17
+ rescue TypeError => e
18
+ # Compatibility code: will be removed in the next major version.
19
+ require 'google/protobuf/descriptor_pb'
20
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
21
+ parsed.clear_dependency
22
+ serialized = parsed.class.encode(parsed)
23
+ file = pool.add_serialized_file(serialized)
24
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
25
+ imports = [
26
+ ["livekit.RoomCompositeEgressRequest", "livekit_egress.proto"],
27
+ ["livekit.Room", "livekit_models.proto"],
28
+ ]
29
+ imports.each do |type_name, expected_filename|
30
+ import_file = pool.lookup(type_name).file_descriptor
31
+ if import_file.name != expected_filename
32
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
83
33
  end
84
34
  end
35
+ warn "Each proto file must use a consistent fully-qualified name."
36
+ warn "This will become an error in the next major version."
85
37
  end
86
38
 
87
39
  module LiveKit
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: livekit_webhook.proto
3
4
 
@@ -7,20 +8,34 @@ require 'livekit_models_pb'
7
8
  require 'livekit_egress_pb'
8
9
  require 'livekit_ingress_pb'
9
10
 
10
- Google::Protobuf::DescriptorPool.generated_pool.build do
11
- add_file("livekit_webhook.proto", :syntax => :proto3) do
12
- add_message "livekit.WebhookEvent" do
13
- optional :event, :string, 1
14
- optional :room, :message, 2, "livekit.Room"
15
- optional :participant, :message, 3, "livekit.ParticipantInfo"
16
- optional :egress_info, :message, 9, "livekit.EgressInfo"
17
- optional :ingress_info, :message, 10, "livekit.IngressInfo"
18
- optional :track, :message, 8, "livekit.TrackInfo"
19
- optional :id, :string, 6
20
- optional :created_at, :int64, 7
21
- optional :num_dropped, :int32, 11
11
+
12
+ descriptor_data = "\n\x15livekit_webhook.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x15livekit_ingress.proto\"\x97\x02\n\x0cWebhookEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x1b\n\x04room\x18\x02 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12(\n\x0b\x65gress_info\x18\t \x01(\x0b\x32\x13.livekit.EgressInfo\x12*\n\x0cingress_info\x18\n \x01(\x0b\x32\x14.livekit.IngressInfo\x12!\n\x05track\x18\x08 \x01(\x0b\x32\x12.livekit.TrackInfo\x12\n\n\x02id\x18\x06 \x01(\t\x12\x12\n\ncreated_at\x18\x07 \x01(\x03\x12\x13\n\x0bnum_dropped\x18\x0b \x01(\x05\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
13
+
14
+ pool = Google::Protobuf::DescriptorPool.generated_pool
15
+
16
+ begin
17
+ pool.add_serialized_file(descriptor_data)
18
+ rescue TypeError => e
19
+ # Compatibility code: will be removed in the next major version.
20
+ require 'google/protobuf/descriptor_pb'
21
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
22
+ parsed.clear_dependency
23
+ serialized = parsed.class.encode(parsed)
24
+ file = pool.add_serialized_file(serialized)
25
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
26
+ imports = [
27
+ ["livekit.Room", "livekit_models.proto"],
28
+ ["livekit.EgressInfo", "livekit_egress.proto"],
29
+ ["livekit.IngressInfo", "livekit_ingress.proto"],
30
+ ]
31
+ imports.each do |type_name, expected_filename|
32
+ import_file = pool.lookup(type_name).file_descriptor
33
+ if import_file.name != expected_filename
34
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
22
35
  end
23
36
  end
37
+ warn "Each proto file must use a consistent fully-qualified name."
38
+ warn "This will become an error in the next major version."
24
39
  end
25
40
 
26
41
  module LiveKit
@@ -13,7 +13,15 @@ module LiveKit
13
13
  @api_secret = api_secret
14
14
  end
15
15
 
16
- def create_room(name, empty_timeout: nil, max_participants: nil, egress: nil)
16
+ def create_room(name,
17
+ empty_timeout: nil,
18
+ max_participants: nil,
19
+ egress: nil,
20
+ metadata: nil,
21
+ min_playout_delay: nil,
22
+ max_playout_delay: nil,
23
+ sync_streams: nil
24
+ )
17
25
  self.rpc(
18
26
  :CreateRoom,
19
27
  Proto::CreateRoomRequest.new(
@@ -21,6 +29,10 @@ module LiveKit
21
29
  empty_timeout: empty_timeout,
22
30
  max_participants: max_participants,
23
31
  egress: egress,
32
+ metadata: metadata,
33
+ min_playout_delay: min_playout_delay,
34
+ max_playout_delay: max_playout_delay,
35
+ sync_streams: sync_streams
24
36
  ),
25
37
  headers: auth_header(roomCreate: true),
26
38
  )
@@ -118,7 +130,10 @@ module LiveKit
118
130
  )
119
131
  end
120
132
 
121
- def send_data(room:, data:, kind:, destination_sids: [])
133
+ def send_data(room:, data:, kind:,
134
+ destination_sids: [],
135
+ destination_identities: []
136
+ )
122
137
  self.rpc(
123
138
  :SendData,
124
139
  Proto::SendDataRequest.new(
@@ -126,6 +141,7 @@ module LiveKit
126
141
  data: data,
127
142
  kind: kind,
128
143
  destination_sids: destination_sids,
144
+ destination_identities: destination_identities,
129
145
  ),
130
146
  headers: auth_header(roomAdmin: true, room: room),
131
147
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LiveKit
4
- VERSION = "0.5.5"
4
+ VERSION = "0.6.1"
5
5
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: livekit-server-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Omri Gabay
8
8
  - David Zhao
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-06-09 00:00:00.000000000 Z
12
+ date: 2023-10-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-protobuf
@@ -91,7 +91,7 @@ dependencies:
91
91
  - - "<"
92
92
  - !ruby/object:Gem::Version
93
93
  version: '2.0'
94
- description:
94
+ description:
95
95
  email:
96
96
  - omri@omrigabay.me
97
97
  - dz@livekit.io
@@ -157,7 +157,7 @@ homepage: https://livekit.io
157
157
  licenses:
158
158
  - Apache-2.0
159
159
  metadata: {}
160
- post_install_message:
160
+ post_install_message:
161
161
  rdoc_options: []
162
162
  require_paths:
163
163
  - lib
@@ -172,8 +172,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  requirements: []
175
- rubygems_version: 3.0.3.1
176
- signing_key:
175
+ rubygems_version: 3.3.7
176
+ signing_key:
177
177
  specification_version: 4
178
178
  summary: LiveKit Server SDK for Ruby
179
179
  test_files: []