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 +4 -4
- data/.github/banner_dark.png +0 -0
- data/.github/banner_light.png +0 -0
- data/Gemfile.lock +1 -1
- data/NOTICE +13 -0
- data/README.md +15 -10
- data/lib/livekit/egress_service_client.rb +41 -4
- data/lib/livekit/ingress_service_client.rb +7 -1
- data/lib/livekit/proto/livekit_egress_pb.rb +30 -262
- data/lib/livekit/proto/livekit_egress_twirp.rb +4 -2
- data/lib/livekit/proto/livekit_ingress_pb.rb +25 -120
- data/lib/livekit/proto/livekit_ingress_twirp.rb +1 -1
- data/lib/livekit/proto/livekit_models_pb.rb +27 -281
- data/lib/livekit/proto/livekit_models_twirp.rb +1 -1
- data/lib/livekit/proto/livekit_room_pb.rb +26 -75
- data/lib/livekit/proto/livekit_room_twirp.rb +1 -1
- data/lib/livekit/proto/livekit_webhook_pb.rb +27 -12
- data/lib/livekit/proto/livekit_webhook_twirp.rb +1 -1
- data/lib/livekit/room_service_client.rb +18 -2
- data/lib/livekit/version.rb +1 -1
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b58f808c349a7091f04fad6dc6cfb7c41a3de141018ec8092513102ff3f7eea
|
4
|
+
data.tar.gz: 2ee2f7816d43aa52bd332e99e883b4ebf7bc598be1f64e17f862e472b925903b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef2df5a94cf49ef4631723ccf1466c5cf476f097bea31c0a9ed7a0677dce66983e10c36b0f27134a99715cde351c06c4ba480f9b5a84ce4efd2bbd975dbc6123
|
7
|
+
data.tar.gz: 95619bcb926a6461e22c00aa19f2194631d3a4c22d0b9003144609968685e91eb186b6bc1c72a1c79bf816baed20a37b7bb456ba9090fda115c44bd71e4c9bb4
|
data/.github/banner_dark.png
CHANGED
Binary file
|
data/.github/banner_light.png
CHANGED
Binary file
|
data/Gemfile.lock
CHANGED
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
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
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-->
|
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>
|
139
|
-
<tr><td>Server
|
140
|
-
<tr><td>
|
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(
|
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(
|
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
|
-
|
9
|
-
add_file("livekit_egress.proto", :syntax => :proto3) do
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
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.
|
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
|