livekit-server-sdk 0.5.6 → 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: 30b87638631ee89f1b6b2ded0ce5721cf208f78a10ff8b51a690f17ac131b916
4
- data.tar.gz: 59e49a093e0c480ecacf1efaebe3e82bf621498de579640afe3c5f1dfc476ffd
3
+ metadata.gz: 51137f678f50ef3652432c99668b6527dfb093dde25c27c8ba4fc04fdc8fdad3
4
+ data.tar.gz: 392a2871432328d709db03111b85ca86a02f1bb6ad07838f15a98ccc1949bfd3
5
5
  SHA512:
6
- metadata.gz: 3c283b0bda45f3d688184fbb1d29cb43ae6135a1ea3478632acbdb8faca9dff87b3d9f62b6909477a41440cd3f3a54b480f2098d2e22dd09728f6b1989f7245c
7
- data.tar.gz: 8685dd0d4c1f35f4999faa9b88370088102870a91929bb44b58d788ad5938a225223af09ecbefde73ac08768152e2f410caba6165d9a6d99eb8d8ea32160745d
6
+ metadata.gz: 56df6fa9c838c106d5a1629845c4da83895604f7f47364af042433cbc76604a4fb0a5fdca724601f4075eae82f1fe1cb1dec77edac6e0c928b2239f53aee7ec5
7
+ data.tar.gz: 0ef597a3f6bddd58b7ae5daefd502f201b6cdc058791d730c8f94d1e5643d3f8681b74ed0289c7ffbde1e0f875c565ece8e51d7c9e6ad69a8d3c2e3e2e1ebc09
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)
@@ -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
@@ -84,9 +84,15 @@ module LiveKit
84
84
  )
85
85
  end
86
86
 
87
- 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
+ )
88
93
  request = Proto::ListIngressRequest.new(
89
94
  room_name: room_name,
95
+ ingress_id: ingress_id,
90
96
  )
91
97
  self.rpc(
92
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,281 +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 :updated_at, :int64, 18
177
- optional :error, :string, 9
178
- repeated :stream_results, :message, 15, "livekit.StreamInfo"
179
- repeated :file_results, :message, 16, "livekit.FileInfo"
180
- repeated :segment_results, :message, 17, "livekit.SegmentsInfo"
181
- oneof :request do
182
- optional :room_composite, :message, 4, "livekit.RoomCompositeEgressRequest"
183
- optional :track_composite, :message, 5, "livekit.TrackCompositeEgressRequest"
184
- optional :track, :message, 6, "livekit.TrackEgressRequest"
185
- optional :web, :message, 14, "livekit.WebEgressRequest"
186
- end
187
- oneof :result do
188
- optional :stream, :message, 7, "livekit.StreamInfoList"
189
- optional :file, :message, 8, "livekit.FileInfo"
190
- optional :segments, :message, 12, "livekit.SegmentsInfo"
191
- end
192
- end
193
- add_message "livekit.StreamInfoList" do
194
- repeated :info, :message, 1, "livekit.StreamInfo"
195
- end
196
- add_message "livekit.StreamInfo" do
197
- optional :url, :string, 1
198
- optional :started_at, :int64, 2
199
- optional :ended_at, :int64, 3
200
- optional :duration, :int64, 4
201
- optional :status, :enum, 5, "livekit.StreamInfo.Status"
202
- optional :error, :string, 6
203
- end
204
- add_enum "livekit.StreamInfo.Status" do
205
- value :ACTIVE, 0
206
- value :FINISHED, 1
207
- value :FAILED, 2
208
- end
209
- add_message "livekit.FileInfo" do
210
- optional :filename, :string, 1
211
- optional :started_at, :int64, 2
212
- optional :ended_at, :int64, 3
213
- optional :duration, :int64, 6
214
- optional :size, :int64, 4
215
- optional :location, :string, 5
216
- end
217
- add_message "livekit.SegmentsInfo" do
218
- optional :playlist_name, :string, 1
219
- optional :duration, :int64, 2
220
- optional :size, :int64, 3
221
- optional :playlist_location, :string, 4
222
- optional :segment_count, :int64, 5
223
- optional :started_at, :int64, 6
224
- optional :ended_at, :int64, 7
225
- end
226
- add_message "livekit.AutoTrackEgress" do
227
- optional :filepath, :string, 1
228
- optional :disable_manifest, :bool, 5
229
- oneof :output do
230
- optional :s3, :message, 2, "livekit.S3Upload"
231
- optional :gcp, :message, 3, "livekit.GCPUpload"
232
- optional :azure, :message, 4, "livekit.AzureBlobUpload"
233
- end
234
- end
235
- add_enum "livekit.EncodedFileType" do
236
- value :DEFAULT_FILETYPE, 0
237
- value :MP4, 1
238
- value :OGG, 2
239
- end
240
- add_enum "livekit.SegmentedFileProtocol" do
241
- value :DEFAULT_SEGMENTED_FILE_PROTOCOL, 0
242
- value :HLS_PROTOCOL, 1
243
- end
244
- add_enum "livekit.SegmentedFileSuffix" do
245
- value :INDEX, 0
246
- value :TIMESTAMP, 1
247
- end
248
- add_enum "livekit.StreamProtocol" do
249
- value :DEFAULT_PROTOCOL, 0
250
- value :RTMP, 1
251
- end
252
- add_enum "livekit.EncodingOptionsPreset" do
253
- value :H264_720P_30, 0
254
- value :H264_720P_60, 1
255
- value :H264_1080P_30, 2
256
- value :H264_1080P_60, 3
257
- value :PORTRAIT_H264_720P_30, 4
258
- value :PORTRAIT_H264_720P_60, 5
259
- value :PORTRAIT_H264_1080P_30, 6
260
- value :PORTRAIT_H264_1080P_60, 7
261
- end
262
- add_enum "livekit.EgressStatus" do
263
- value :EGRESS_STARTING, 0
264
- value :EGRESS_ACTIVE, 1
265
- value :EGRESS_ENDING, 2
266
- value :EGRESS_COMPLETE, 3
267
- value :EGRESS_FAILED, 4
268
- value :EGRESS_ABORTED, 5
269
- 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}"
270
30
  end
271
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."
272
34
  end
273
35
 
274
36
  module LiveKit
275
37
  module Proto
276
38
  RoomCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomCompositeEgressRequest").msgclass
277
39
  WebEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.WebEgressRequest").msgclass
40
+ ParticipantEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantEgressRequest").msgclass
278
41
  TrackCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackCompositeEgressRequest").msgclass
279
42
  TrackEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackEgressRequest").msgclass
280
43
  EncodedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileOutput").msgclass
281
44
  SegmentedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileOutput").msgclass
282
45
  DirectFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DirectFileOutput").msgclass
46
+ ImageOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageOutput").msgclass
283
47
  S3Upload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.S3Upload").msgclass
284
48
  GCPUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GCPUpload").msgclass
285
49
  AzureBlobUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AzureBlobUpload").msgclass
@@ -288,6 +52,7 @@ module LiveKit
288
52
  EncodingOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptions").msgclass
289
53
  UpdateLayoutRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateLayoutRequest").msgclass
290
54
  UpdateStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateStreamRequest").msgclass
55
+ UpdateOutputsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateOutputsRequest").msgclass
291
56
  ListEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressRequest").msgclass
292
57
  ListEgressResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressResponse").msgclass
293
58
  StopEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StopEgressRequest").msgclass
@@ -297,10 +62,13 @@ module LiveKit
297
62
  StreamInfo::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfo.Status").enummodule
298
63
  FileInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.FileInfo").msgclass
299
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
300
67
  AutoTrackEgress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AutoTrackEgress").msgclass
301
68
  EncodedFileType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileType").enummodule
302
69
  SegmentedFileProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileProtocol").enummodule
303
70
  SegmentedFileSuffix = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileSuffix").enummodule
71
+ ImageFileSuffix = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageFileSuffix").enummodule
304
72
  StreamProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamProtocol").enummodule
305
73
  EncodingOptionsPreset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptionsPreset").enummodule
306
74
  EgressStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressStatus").enummodule
@@ -1,4 +1,4 @@
1
- # Code generated by protoc-gen-twirp_ruby 1.11.0, DO NOT EDIT.
1
+ # Code generated by protoc-gen-twirp_ruby 1.10.0, DO NOT EDIT.
2
2
  require 'twirp'
3
3
  require_relative 'livekit_egress_pb.rb'
4
4
 
@@ -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,128 +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 :url, :string, 9
13
- optional :name, :string, 2
14
- optional :room_name, :string, 3
15
- optional :participant_identity, :string, 4
16
- optional :participant_name, :string, 5
17
- optional :bypass_transcoding, :bool, 8
18
- optional :audio, :message, 6, "livekit.IngressAudioOptions"
19
- optional :video, :message, 7, "livekit.IngressVideoOptions"
20
- end
21
- add_message "livekit.IngressAudioOptions" do
22
- optional :name, :string, 1
23
- optional :source, :enum, 2, "livekit.TrackSource"
24
- oneof :encoding_options do
25
- optional :preset, :enum, 3, "livekit.IngressAudioEncodingPreset"
26
- optional :options, :message, 4, "livekit.IngressAudioEncodingOptions"
27
- end
28
- end
29
- add_message "livekit.IngressVideoOptions" do
30
- optional :name, :string, 1
31
- optional :source, :enum, 2, "livekit.TrackSource"
32
- oneof :encoding_options do
33
- optional :preset, :enum, 3, "livekit.IngressVideoEncodingPreset"
34
- optional :options, :message, 4, "livekit.IngressVideoEncodingOptions"
35
- end
36
- end
37
- add_message "livekit.IngressAudioEncodingOptions" do
38
- optional :audio_codec, :enum, 1, "livekit.AudioCodec"
39
- optional :bitrate, :uint32, 2
40
- optional :disable_dtx, :bool, 3
41
- optional :channels, :uint32, 4
42
- end
43
- add_message "livekit.IngressVideoEncodingOptions" do
44
- optional :video_codec, :enum, 1, "livekit.VideoCodec"
45
- optional :frame_rate, :double, 2
46
- repeated :layers, :message, 3, "livekit.VideoLayer"
47
- end
48
- add_message "livekit.IngressInfo" do
49
- optional :ingress_id, :string, 1
50
- optional :name, :string, 2
51
- optional :stream_key, :string, 3
52
- optional :url, :string, 4
53
- optional :input_type, :enum, 5, "livekit.IngressInput"
54
- optional :bypass_transcoding, :bool, 13
55
- optional :audio, :message, 6, "livekit.IngressAudioOptions"
56
- optional :video, :message, 7, "livekit.IngressVideoOptions"
57
- optional :room_name, :string, 8
58
- optional :participant_identity, :string, 9
59
- optional :participant_name, :string, 10
60
- optional :reusable, :bool, 11
61
- optional :state, :message, 12, "livekit.IngressState"
62
- end
63
- add_message "livekit.IngressState" do
64
- optional :status, :enum, 1, "livekit.IngressState.Status"
65
- optional :error, :string, 2
66
- optional :video, :message, 3, "livekit.InputVideoState"
67
- optional :audio, :message, 4, "livekit.InputAudioState"
68
- optional :room_id, :string, 5
69
- optional :started_at, :int64, 7
70
- optional :ended_at, :int64, 8
71
- optional :resource_id, :string, 9
72
- repeated :tracks, :message, 6, "livekit.TrackInfo"
73
- end
74
- add_enum "livekit.IngressState.Status" do
75
- value :ENDPOINT_INACTIVE, 0
76
- value :ENDPOINT_BUFFERING, 1
77
- value :ENDPOINT_PUBLISHING, 2
78
- value :ENDPOINT_ERROR, 3
79
- end
80
- add_message "livekit.InputVideoState" do
81
- optional :mime_type, :string, 1
82
- optional :average_bitrate, :uint32, 2
83
- optional :width, :uint32, 3
84
- optional :height, :uint32, 4
85
- optional :framerate, :double, 5
86
- end
87
- add_message "livekit.InputAudioState" do
88
- optional :mime_type, :string, 1
89
- optional :average_bitrate, :uint32, 2
90
- optional :channels, :uint32, 3
91
- optional :sample_rate, :uint32, 4
92
- end
93
- add_message "livekit.UpdateIngressRequest" do
94
- optional :ingress_id, :string, 1
95
- optional :name, :string, 2
96
- optional :room_name, :string, 3
97
- optional :participant_identity, :string, 4
98
- optional :participant_name, :string, 5
99
- proto3_optional :bypass_transcoding, :bool, 8
100
- optional :audio, :message, 6, "livekit.IngressAudioOptions"
101
- optional :video, :message, 7, "livekit.IngressVideoOptions"
102
- end
103
- add_message "livekit.ListIngressRequest" do
104
- optional :room_name, :string, 1
105
- optional :ingress_id, :string, 2
106
- end
107
- add_message "livekit.ListIngressResponse" do
108
- repeated :items, :message, 1, "livekit.IngressInfo"
109
- end
110
- add_message "livekit.DeleteIngressRequest" do
111
- optional :ingress_id, :string, 1
112
- end
113
- add_enum "livekit.IngressInput" do
114
- value :RTMP_INPUT, 0
115
- value :WHIP_INPUT, 1
116
- value :URL_INPUT, 2
117
- end
118
- add_enum "livekit.IngressAudioEncodingPreset" do
119
- value :OPUS_STEREO_96KBPS, 0
120
- value :OPUS_MONO_64KBS, 1
121
- end
122
- add_enum "livekit.IngressVideoEncodingPreset" do
123
- value :H264_720P_30FPS_3_LAYERS, 0
124
- value :H264_1080P_30FPS_3_LAYERS, 1
125
- value :H264_540P_25FPS_2_LAYERS, 2
126
- value :H264_720P_30FPS_1_LAYER, 3
127
- 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}"
128
31
  end
129
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."
130
35
  end
131
36
 
132
37
  module LiveKit
@@ -1,4 +1,4 @@
1
- # Code generated by protoc-gen-twirp_ruby 1.11.0, DO NOT EDIT.
1
+ # Code generated by protoc-gen-twirp_ruby 1.10.0, DO NOT EDIT.
2
2
  require 'twirp'
3
3
  require_relative 'livekit_ingress_pb.rb'
4
4
 
@@ -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,289 +6,32 @@ 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
- optional :playout_delay, :message, 12, "livekit.PlayoutDelay"
23
- end
24
- add_message "livekit.Codec" do
25
- optional :mime, :string, 1
26
- optional :fmtp_line, :string, 2
27
- end
28
- add_message "livekit.PlayoutDelay" do
29
- optional :enabled, :bool, 1
30
- optional :min, :uint32, 2
31
- end
32
- add_message "livekit.ParticipantPermission" do
33
- optional :can_subscribe, :bool, 1
34
- optional :can_publish, :bool, 2
35
- optional :can_publish_data, :bool, 3
36
- repeated :can_publish_sources, :enum, 9, "livekit.TrackSource"
37
- optional :hidden, :bool, 7
38
- optional :recorder, :bool, 8
39
- optional :can_update_metadata, :bool, 10
40
- end
41
- add_message "livekit.ParticipantInfo" do
42
- optional :sid, :string, 1
43
- optional :identity, :string, 2
44
- optional :state, :enum, 3, "livekit.ParticipantInfo.State"
45
- repeated :tracks, :message, 4, "livekit.TrackInfo"
46
- optional :metadata, :string, 5
47
- optional :joined_at, :int64, 6
48
- optional :name, :string, 9
49
- optional :version, :uint32, 10
50
- optional :permission, :message, 11, "livekit.ParticipantPermission"
51
- optional :region, :string, 12
52
- optional :is_publisher, :bool, 13
53
- end
54
- add_enum "livekit.ParticipantInfo.State" do
55
- value :JOINING, 0
56
- value :JOINED, 1
57
- value :ACTIVE, 2
58
- value :DISCONNECTED, 3
59
- end
60
- add_message "livekit.Encryption" do
61
- end
62
- add_enum "livekit.Encryption.Type" do
63
- value :NONE, 0
64
- value :GCM, 1
65
- value :CUSTOM, 2
66
- end
67
- add_message "livekit.SimulcastCodecInfo" do
68
- optional :mime_type, :string, 1
69
- optional :mid, :string, 2
70
- optional :cid, :string, 3
71
- repeated :layers, :message, 4, "livekit.VideoLayer"
72
- end
73
- add_message "livekit.TrackInfo" do
74
- optional :sid, :string, 1
75
- optional :type, :enum, 2, "livekit.TrackType"
76
- optional :name, :string, 3
77
- optional :muted, :bool, 4
78
- optional :width, :uint32, 5
79
- optional :height, :uint32, 6
80
- optional :simulcast, :bool, 7
81
- optional :disable_dtx, :bool, 8
82
- optional :source, :enum, 9, "livekit.TrackSource"
83
- repeated :layers, :message, 10, "livekit.VideoLayer"
84
- optional :mime_type, :string, 11
85
- optional :mid, :string, 12
86
- repeated :codecs, :message, 13, "livekit.SimulcastCodecInfo"
87
- optional :stereo, :bool, 14
88
- optional :disable_red, :bool, 15
89
- optional :encryption, :enum, 16, "livekit.Encryption.Type"
90
- optional :stream, :string, 17
91
- end
92
- add_message "livekit.VideoLayer" do
93
- optional :quality, :enum, 1, "livekit.VideoQuality"
94
- optional :width, :uint32, 2
95
- optional :height, :uint32, 3
96
- optional :bitrate, :uint32, 4
97
- optional :ssrc, :uint32, 5
98
- end
99
- add_message "livekit.DataPacket" do
100
- optional :kind, :enum, 1, "livekit.DataPacket.Kind"
101
- oneof :value do
102
- optional :user, :message, 2, "livekit.UserPacket"
103
- optional :speaker, :message, 3, "livekit.ActiveSpeakerUpdate"
104
- end
105
- end
106
- add_enum "livekit.DataPacket.Kind" do
107
- value :RELIABLE, 0
108
- value :LOSSY, 1
109
- end
110
- add_message "livekit.ActiveSpeakerUpdate" do
111
- repeated :speakers, :message, 1, "livekit.SpeakerInfo"
112
- end
113
- add_message "livekit.SpeakerInfo" do
114
- optional :sid, :string, 1
115
- optional :level, :float, 2
116
- optional :active, :bool, 3
117
- end
118
- add_message "livekit.UserPacket" do
119
- optional :participant_sid, :string, 1
120
- optional :payload, :bytes, 2
121
- repeated :destination_sids, :string, 3
122
- proto3_optional :topic, :string, 4
123
- end
124
- add_message "livekit.ParticipantTracks" do
125
- optional :participant_sid, :string, 1
126
- repeated :track_sids, :string, 2
127
- end
128
- add_message "livekit.ServerInfo" do
129
- optional :edition, :enum, 1, "livekit.ServerInfo.Edition"
130
- optional :version, :string, 2
131
- optional :protocol, :int32, 3
132
- optional :region, :string, 4
133
- optional :node_id, :string, 5
134
- optional :debug_info, :string, 6
135
- end
136
- add_enum "livekit.ServerInfo.Edition" do
137
- value :Standard, 0
138
- value :Cloud, 1
139
- end
140
- add_message "livekit.ClientInfo" do
141
- optional :sdk, :enum, 1, "livekit.ClientInfo.SDK"
142
- optional :version, :string, 2
143
- optional :protocol, :int32, 3
144
- optional :os, :string, 4
145
- optional :os_version, :string, 5
146
- optional :device_model, :string, 6
147
- optional :browser, :string, 7
148
- optional :browser_version, :string, 8
149
- optional :address, :string, 9
150
- optional :network, :string, 10
151
- end
152
- add_enum "livekit.ClientInfo.SDK" do
153
- value :UNKNOWN, 0
154
- value :JS, 1
155
- value :SWIFT, 2
156
- value :ANDROID, 3
157
- value :FLUTTER, 4
158
- value :GO, 5
159
- value :UNITY, 6
160
- value :REACT_NATIVE, 7
161
- value :RUST, 8
162
- value :PYTHON, 9
163
- value :CPP, 10
164
- end
165
- add_message "livekit.ClientConfiguration" do
166
- optional :video, :message, 1, "livekit.VideoConfiguration"
167
- optional :screen, :message, 2, "livekit.VideoConfiguration"
168
- optional :resume_connection, :enum, 3, "livekit.ClientConfigSetting"
169
- optional :disabled_codecs, :message, 4, "livekit.DisabledCodecs"
170
- optional :force_relay, :enum, 5, "livekit.ClientConfigSetting"
171
- end
172
- add_message "livekit.VideoConfiguration" do
173
- optional :hardware_encoder, :enum, 1, "livekit.ClientConfigSetting"
174
- end
175
- add_message "livekit.DisabledCodecs" do
176
- repeated :codecs, :message, 1, "livekit.Codec"
177
- repeated :publish, :message, 2, "livekit.Codec"
178
- end
179
- add_message "livekit.RTPStats" do
180
- optional :start_time, :message, 1, "google.protobuf.Timestamp"
181
- optional :end_time, :message, 2, "google.protobuf.Timestamp"
182
- optional :duration, :double, 3
183
- optional :packets, :uint32, 4
184
- optional :packet_rate, :double, 5
185
- optional :bytes, :uint64, 6
186
- optional :header_bytes, :uint64, 39
187
- optional :bitrate, :double, 7
188
- optional :packets_lost, :uint32, 8
189
- optional :packet_loss_rate, :double, 9
190
- optional :packet_loss_percentage, :float, 10
191
- optional :packets_duplicate, :uint32, 11
192
- optional :packet_duplicate_rate, :double, 12
193
- optional :bytes_duplicate, :uint64, 13
194
- optional :header_bytes_duplicate, :uint64, 40
195
- optional :bitrate_duplicate, :double, 14
196
- optional :packets_padding, :uint32, 15
197
- optional :packet_padding_rate, :double, 16
198
- optional :bytes_padding, :uint64, 17
199
- optional :header_bytes_padding, :uint64, 41
200
- optional :bitrate_padding, :double, 18
201
- optional :packets_out_of_order, :uint32, 19
202
- optional :frames, :uint32, 20
203
- optional :frame_rate, :double, 21
204
- optional :jitter_current, :double, 22
205
- optional :jitter_max, :double, 23
206
- map :gap_histogram, :int32, :uint32, 24
207
- optional :nacks, :uint32, 25
208
- optional :nack_acks, :uint32, 37
209
- optional :nack_misses, :uint32, 26
210
- optional :nack_repeated, :uint32, 38
211
- optional :plis, :uint32, 27
212
- optional :last_pli, :message, 28, "google.protobuf.Timestamp"
213
- optional :firs, :uint32, 29
214
- optional :last_fir, :message, 30, "google.protobuf.Timestamp"
215
- optional :rtt_current, :uint32, 31
216
- optional :rtt_max, :uint32, 32
217
- optional :key_frames, :uint32, 33
218
- optional :last_key_frame, :message, 34, "google.protobuf.Timestamp"
219
- optional :layer_lock_plis, :uint32, 35
220
- optional :last_layer_lock_pli, :message, 36, "google.protobuf.Timestamp"
221
- optional :sample_rate, :double, 42
222
- optional :drift_ms, :double, 43
223
- end
224
- add_message "livekit.TimedVersion" do
225
- optional :unix_micro, :int64, 1
226
- optional :ticks, :int32, 2
227
- end
228
- add_enum "livekit.AudioCodec" do
229
- value :DEFAULT_AC, 0
230
- value :OPUS, 1
231
- value :AAC, 2
232
- end
233
- add_enum "livekit.VideoCodec" do
234
- value :DEFAULT_VC, 0
235
- value :H264_BASELINE, 1
236
- value :H264_MAIN, 2
237
- value :H264_HIGH, 3
238
- value :VP8, 4
239
- end
240
- add_enum "livekit.TrackType" do
241
- value :AUDIO, 0
242
- value :VIDEO, 1
243
- value :DATA, 2
244
- end
245
- add_enum "livekit.TrackSource" do
246
- value :UNKNOWN, 0
247
- value :CAMERA, 1
248
- value :MICROPHONE, 2
249
- value :SCREEN_SHARE, 3
250
- value :SCREEN_SHARE_AUDIO, 4
251
- end
252
- add_enum "livekit.VideoQuality" do
253
- value :LOW, 0
254
- value :MEDIUM, 1
255
- value :HIGH, 2
256
- value :OFF, 3
257
- end
258
- add_enum "livekit.ConnectionQuality" do
259
- value :POOR, 0
260
- value :GOOD, 1
261
- value :EXCELLENT, 2
262
- end
263
- add_enum "livekit.ClientConfigSetting" do
264
- value :UNSET, 0
265
- value :DISABLED, 1
266
- value :ENABLED, 2
267
- end
268
- add_enum "livekit.DisconnectReason" do
269
- value :UNKNOWN_REASON, 0
270
- value :CLIENT_INITIATED, 1
271
- value :DUPLICATE_IDENTITY, 2
272
- value :SERVER_SHUTDOWN, 3
273
- value :PARTICIPANT_REMOVED, 4
274
- value :ROOM_DELETED, 5
275
- value :STATE_MISMATCH, 6
276
- value :JOIN_FAILURE, 7
277
- end
278
- add_enum "livekit.ReconnectReason" do
279
- value :RR_UNKNOWN, 0
280
- value :RR_SIGNAL_DISCONNECTED, 1
281
- value :RR_PUBLISHER_FAILED, 2
282
- value :RR_SUBSCRIBER_FAILED, 3
283
- value :RR_SWITCH_CANDIDATE, 4
284
- end
285
- add_enum "livekit.SubscriptionError" do
286
- value :SE_UNKNOWN, 0
287
- value :SE_CODEC_UNSUPPORTED, 1
288
- 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}"
289
31
  end
290
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."
291
35
  end
292
36
 
293
37
  module LiveKit
@@ -316,10 +60,12 @@ module LiveKit
316
60
  ClientConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfiguration").msgclass
317
61
  VideoConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoConfiguration").msgclass
318
62
  DisabledCodecs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DisabledCodecs").msgclass
63
+ RTPDrift = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPDrift").msgclass
319
64
  RTPStats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPStats").msgclass
320
65
  TimedVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TimedVersion").msgclass
321
66
  AudioCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AudioCodec").enummodule
322
67
  VideoCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoCodec").enummodule
68
+ ImageCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageCodec").enummodule
323
69
  TrackType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackType").enummodule
324
70
  TrackSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackSource").enummodule
325
71
  VideoQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoQuality").enummodule
@@ -1,4 +1,4 @@
1
- # Code generated by protoc-gen-twirp_ruby 1.11.0, DO NOT EDIT.
1
+ # Code generated by protoc-gen-twirp_ruby 1.10.0, DO NOT EDIT.
2
2
  require 'twirp'
3
3
  require_relative 'livekit_models_pb.rb'
4
4
 
@@ -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,83 +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
- optional :min_playout_delay, :uint32, 7
19
- end
20
- add_message "livekit.RoomEgress" do
21
- optional :room, :message, 1, "livekit.RoomCompositeEgressRequest"
22
- optional :tracks, :message, 2, "livekit.AutoTrackEgress"
23
- end
24
- add_message "livekit.ListRoomsRequest" do
25
- repeated :names, :string, 1
26
- end
27
- add_message "livekit.ListRoomsResponse" do
28
- repeated :rooms, :message, 1, "livekit.Room"
29
- end
30
- add_message "livekit.DeleteRoomRequest" do
31
- optional :room, :string, 1
32
- end
33
- add_message "livekit.DeleteRoomResponse" do
34
- end
35
- add_message "livekit.ListParticipantsRequest" do
36
- optional :room, :string, 1
37
- end
38
- add_message "livekit.ListParticipantsResponse" do
39
- repeated :participants, :message, 1, "livekit.ParticipantInfo"
40
- end
41
- add_message "livekit.RoomParticipantIdentity" do
42
- optional :room, :string, 1
43
- optional :identity, :string, 2
44
- end
45
- add_message "livekit.RemoveParticipantResponse" do
46
- end
47
- add_message "livekit.MuteRoomTrackRequest" do
48
- optional :room, :string, 1
49
- optional :identity, :string, 2
50
- optional :track_sid, :string, 3
51
- optional :muted, :bool, 4
52
- end
53
- add_message "livekit.MuteRoomTrackResponse" do
54
- optional :track, :message, 1, "livekit.TrackInfo"
55
- end
56
- add_message "livekit.UpdateParticipantRequest" do
57
- optional :room, :string, 1
58
- optional :identity, :string, 2
59
- optional :metadata, :string, 3
60
- optional :permission, :message, 4, "livekit.ParticipantPermission"
61
- optional :name, :string, 5
62
- end
63
- add_message "livekit.UpdateSubscriptionsRequest" do
64
- optional :room, :string, 1
65
- optional :identity, :string, 2
66
- repeated :track_sids, :string, 3
67
- optional :subscribe, :bool, 4
68
- repeated :participant_tracks, :message, 5, "livekit.ParticipantTracks"
69
- end
70
- add_message "livekit.UpdateSubscriptionsResponse" do
71
- end
72
- add_message "livekit.SendDataRequest" do
73
- optional :room, :string, 1
74
- optional :data, :bytes, 2
75
- optional :kind, :enum, 3, "livekit.DataPacket.Kind"
76
- repeated :destination_sids, :string, 4
77
- proto3_optional :topic, :string, 5
78
- end
79
- add_message "livekit.SendDataResponse" do
80
- end
81
- add_message "livekit.UpdateRoomMetadataRequest" do
82
- optional :room, :string, 1
83
- 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}"
84
33
  end
85
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."
86
37
  end
87
38
 
88
39
  module LiveKit
@@ -1,4 +1,4 @@
1
- # Code generated by protoc-gen-twirp_ruby 1.11.0, DO NOT EDIT.
1
+ # Code generated by protoc-gen-twirp_ruby 1.10.0, DO NOT EDIT.
2
2
  require 'twirp'
3
3
  require_relative 'livekit_room_pb.rb'
4
4
 
@@ -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
@@ -1,4 +1,4 @@
1
- # Code generated by protoc-gen-twirp_ruby 1.11.0, DO NOT EDIT.
1
+ # Code generated by protoc-gen-twirp_ruby 1.10.0, DO NOT EDIT.
2
2
  require 'twirp'
3
3
  require_relative 'livekit_webhook_pb.rb'
4
4
 
@@ -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.6"
4
+ VERSION = "0.6.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: livekit-server-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Omri Gabay
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-08-21 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
@@ -172,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  requirements: []
175
- rubygems_version: 3.4.10
175
+ rubygems_version: 3.3.7
176
176
  signing_key:
177
177
  specification_version: 4
178
178
  summary: LiveKit Server SDK for Ruby