livekit-server-sdk 0.5.6 → 0.6.2

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: 8b58f808c349a7091f04fad6dc6cfb7c41a3de141018ec8092513102ff3f7eea
4
+ data.tar.gz: 2ee2f7816d43aa52bd332e99e883b4ebf7bc598be1f64e17f862e472b925903b
5
5
  SHA512:
6
- metadata.gz: 3c283b0bda45f3d688184fbb1d29cb43ae6135a1ea3478632acbdb8faca9dff87b3d9f62b6909477a41440cd3f3a54b480f2098d2e22dd09728f6b1989f7245c
7
- data.tar.gz: 8685dd0d4c1f35f4999faa9b88370088102870a91929bb44b58d788ad5938a225223af09ecbefde73ac08768152e2f410caba6165d9a6d99eb8d8ea32160745d
6
+ metadata.gz: ef2df5a94cf49ef4631723ccf1466c5cf476f097bea31c0a9ed7a0677dce66983e10c36b0f27134a99715cde351c06c4ba480f9b5a84ce4efd2bbd975dbc6123
7
+ data.tar.gz: 95619bcb926a6461e22c00aa19f2194631d3a4c22d0b9003144609968685e91eb186b6bc1c72a1c79bf816baed20a37b7bb456ba9090fda115c44bd71e4c9bb4
Binary file
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/NOTICE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright 2021 LiveKit, Inc.
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
data/README.md CHANGED
@@ -1,14 +1,18 @@
1
1
  <!--BEGIN_BANNER_IMAGE-->
2
- <picture>
3
- <source media="(prefers-color-scheme: dark)" srcset="/.github/banner_dark.png">
4
- <source media="(prefers-color-scheme: light)" srcset="/.github/banner_light.png">
5
- <img style="width:100%;" alt="The LiveKit icon, the name of the repository and some sample code in the background." src="/.github/banner_light.png">
6
- </picture>
7
- <!--END_BANNER_IMAGE-->
2
+
3
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="/.github/banner_dark.png">
5
+ <source media="(prefers-color-scheme: light)" srcset="/.github/banner_light.png">
6
+ <img style="width:100%;" alt="The LiveKit icon, the name of the repository and some sample code in the background." src="https://raw.githubusercontent.com/livekit/server-sdk-ruby/main/.github/banner_light.png">
7
+ </picture>
8
+
9
+ <!--END_BANNER_IMAGE-->
8
10
 
9
11
  # LiveKit Server API for Ruby
10
12
 
11
- <!--BEGIN_DESCRIPTION-->Use this SDK to manage <a href="https://livekit.io/">LiveKit</a> rooms and create access tokens from your Ruby backend.<!--END_DESCRIPTION-->
13
+ <!--BEGIN_DESCRIPTION-->
14
+ Use this SDK to manage <a href="https://livekit.io/">LiveKit</a> rooms and create access tokens from your Ruby backend.
15
+ <!--END_DESCRIPTION-->
12
16
 
13
17
  This library is designed to work with Ruby 2.6.0 and above.
14
18
 
@@ -135,9 +139,10 @@ The gem is available as open source under the terms of Apache 2.0 License.
135
139
  <br/><table>
136
140
  <thead><tr><th colspan="2">LiveKit Ecosystem</th></tr></thead>
137
141
  <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-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
- <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
- <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>
142
+ <tr><td>Real-time SDKs</td><td><a href="https://github.com/livekit/components-js">React 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>
143
+ <tr><td>Server APIs</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/livekit/client-sdk-python">Python</a> · <a href="https://github.com/livekit/client-sdk-rust">Rust</a> · <a href="https://github.com/agence104/livekit-server-sdk-php">PHP (community)</a></td></tr><tr></tr>
144
+ <tr><td>Agents Frameworks</td><td><a href="https://github.com/livekit/agents">Python</a> · <a href="https://github.com/livekit/agent-playground">Playground</a></td></tr><tr></tr>
145
+ <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> · <a href="https://github.com/livekit/sip">SIP</a></td></tr><tr></tr>
141
146
  <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>
142
147
  </tbody>
143
148
  </table>
@@ -15,7 +15,7 @@ module LiveKit
15
15
 
16
16
  def start_room_composite_egress(
17
17
  room_name,
18
- # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each
18
+ # EncodedFileOutput, SegmentedFileOutput, StreamOutput, ImageOutput or array containing up to one of each
19
19
  output,
20
20
  # EncodingOptionsPreset, only one of preset or advanced could be set
21
21
  preset: nil,
@@ -47,9 +47,36 @@ module LiveKit
47
47
  )
48
48
  end
49
49
 
50
+ def start_participant_egress(
51
+ room_name,
52
+ identity,
53
+ # EncodedFileOutput, SegmentedFileOutput, StreamOutput, ImageOutput, 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
- # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each
79
+ # EncodedFileOutput, SegmentedFileOutput, StreamOutput, ImageOutput, or array containing up to one of each
53
80
  output,
54
81
  # TrackID of an audio track
55
82
  audio_track_id: nil,
@@ -99,7 +126,7 @@ module LiveKit
99
126
 
100
127
  def start_web_egress(
101
128
  url,
102
- # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each
129
+ # EncodedFileOutput, SegmentedFileOutput, StreamOutput, ImageOutput, or array containing up to one of each
103
130
  output,
104
131
  # EncodingOptionsPreset, only one of preset or advanced could be set
105
132
  preset: nil,
@@ -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
@@ -190,6 +222,9 @@ module LiveKit
190
222
  elsif out.is_a? Livekit::Proto::StreamOutput
191
223
  raise "cannot add multiple stream outputs" if request.stream_outputs.any?
192
224
  request.stream_outputs = Google::Protobuf::RepeatedField.new(:message, Proto::StreamOutput, [out])
225
+ elsif out.is_a? LiveKit::Proto::ImageOutput
226
+ raise "cannot add multiple image outputs" if request.image_outputs.any?
227
+ request.image_outputs = Google::Protobuf::RepeatedField.new(:message, Proto::ImageOutput, [out])
193
228
  end
194
229
  end
195
230
  elsif output.is_a? LiveKit::Proto::EncodedFileOutput
@@ -201,6 +236,8 @@ module LiveKit
201
236
  elsif output.is_a? LiveKit::Proto::StreamOutput
202
237
  request.stream = output
203
238
  request.stream_outputs = Google::Protobuf::RepeatedField.new(:message, Proto::StreamOutput, [output])
239
+ elsif output.is_a? LiveKit::Proto::ImageOutput
240
+ request.image_outputs = Google::Protobuf::RepeatedField.new(:message, Proto::ImageOutput, [output])
204
241
  end
205
242
  end
206
243
  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