livekit-server-sdk 0.5.6 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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