livekit-server-sdk 0.4.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +27 -44
- data/bin/bootstrap.sh +1 -1
- data/lib/livekit/egress_service_client.rb +22 -8
- data/lib/livekit/proto/livekit_egress_pb.rb +43 -32
- data/lib/livekit/proto/livekit_egress_twirp.rb +3 -3
- data/lib/livekit/proto/livekit_ingress_pb.rb +37 -8
- data/lib/livekit/proto/livekit_ingress_twirp.rb +3 -3
- data/lib/livekit/proto/livekit_models_pb.rb +37 -0
- data/lib/livekit/proto/livekit_models_twirp.rb +1 -1
- data/lib/livekit/proto/livekit_room_pb.rb +1 -0
- data/lib/livekit/proto/livekit_room_twirp.rb +3 -3
- data/lib/livekit/proto/livekit_webhook_twirp.rb +1 -1
- data/lib/livekit/version.rb +1 -1
- data/livekit_server_sdk.gemspec +5 -3
- metadata +48 -11
- data/lib/livekit/egress_types.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d78bb377d5f4bf96931e62ec8f3a0a23e546bcb31af42ddfcb82b8be832e66b5
|
4
|
+
data.tar.gz: 1c342d530b2b5180fdabc8c8f9834ad68f83619b790e10b9c2c78433ca491743
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b3c4bc7983a4f185aa520e1a09b2db85669c9cefcd65bc55564175d018e894a343d6591d76f3ea6503e13e2e15ec779c3ba7471d449ed98982f38bf464f6364
|
7
|
+
data.tar.gz: bc80e7ff0c1adc3a5c5347606f22acd5506d4b9b8a1fa34a95397da245180eca85282b2b7500cc577f13ce516b7dcfe804748fc4d56b7fd71b43ba7d2e05ed60
|
data/Gemfile.lock
CHANGED
@@ -1,66 +1,49 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
livekit-server-sdk (0.
|
5
|
-
google-protobuf (
|
6
|
-
jwt (
|
7
|
-
|
4
|
+
livekit-server-sdk (0.5.0)
|
5
|
+
google-protobuf (>= 3.21.0, < 4.0)
|
6
|
+
jwt (>= 2.2.3, < 3.0)
|
7
|
+
rack (>= 2.2.3, < 3.0)
|
8
|
+
twirp (>= 1.10.0, < 2.0)
|
8
9
|
|
9
10
|
GEM
|
10
11
|
remote: https://rubygems.org/
|
11
12
|
specs:
|
12
13
|
coderay (1.1.3)
|
13
14
|
diff-lcs (1.5.0)
|
14
|
-
faraday (
|
15
|
-
faraday-
|
16
|
-
faraday-em_synchrony (~> 1.0)
|
17
|
-
faraday-excon (~> 1.1)
|
18
|
-
faraday-httpclient (~> 1.0)
|
19
|
-
faraday-multipart (~> 1.0)
|
20
|
-
faraday-net_http (~> 1.0)
|
21
|
-
faraday-net_http_persistent (~> 1.0)
|
22
|
-
faraday-patron (~> 1.0)
|
23
|
-
faraday-rack (~> 1.0)
|
24
|
-
faraday-retry (~> 1.0)
|
15
|
+
faraday (2.7.4)
|
16
|
+
faraday-net_http (>= 2.0, < 3.1)
|
25
17
|
ruby2_keywords (>= 0.0.4)
|
26
|
-
faraday-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
faraday-multipart (1.0.4)
|
31
|
-
multipart-post (~> 2)
|
32
|
-
faraday-net_http (1.0.1)
|
33
|
-
faraday-net_http_persistent (1.2.0)
|
34
|
-
faraday-patron (1.0.0)
|
35
|
-
faraday-rack (1.0.0)
|
36
|
-
faraday-retry (1.0.3)
|
37
|
-
google-protobuf (3.21.7)
|
38
|
-
jwt (2.2.3)
|
18
|
+
faraday-net_http (3.0.2)
|
19
|
+
google-protobuf (3.22.2)
|
20
|
+
google-protobuf (3.22.2-x86_64-linux)
|
21
|
+
jwt (2.7.0)
|
39
22
|
method_source (1.0.0)
|
40
|
-
|
41
|
-
pry (0.14.1)
|
23
|
+
pry (0.14.2)
|
42
24
|
coderay (~> 1.1)
|
43
25
|
method_source (~> 1.0)
|
44
|
-
pry-doc (1.
|
26
|
+
pry-doc (1.4.0)
|
45
27
|
pry (~> 0.11)
|
46
28
|
yard (~> 0.9.11)
|
29
|
+
rack (2.2.6.4)
|
47
30
|
rake (13.0.6)
|
48
|
-
rspec (3.
|
49
|
-
rspec-core (~> 3.
|
50
|
-
rspec-expectations (~> 3.
|
51
|
-
rspec-mocks (~> 3.
|
52
|
-
rspec-core (3.
|
53
|
-
rspec-support (~> 3.
|
54
|
-
rspec-expectations (3.
|
31
|
+
rspec (3.12.0)
|
32
|
+
rspec-core (~> 3.12.0)
|
33
|
+
rspec-expectations (~> 3.12.0)
|
34
|
+
rspec-mocks (~> 3.12.0)
|
35
|
+
rspec-core (3.12.1)
|
36
|
+
rspec-support (~> 3.12.0)
|
37
|
+
rspec-expectations (3.12.2)
|
55
38
|
diff-lcs (>= 1.2.0, < 2.0)
|
56
|
-
rspec-support (~> 3.
|
57
|
-
rspec-mocks (3.
|
39
|
+
rspec-support (~> 3.12.0)
|
40
|
+
rspec-mocks (3.12.3)
|
58
41
|
diff-lcs (>= 1.2.0, < 2.0)
|
59
|
-
rspec-support (~> 3.
|
60
|
-
rspec-support (3.
|
42
|
+
rspec-support (~> 3.12.0)
|
43
|
+
rspec-support (3.12.0)
|
61
44
|
ruby2_keywords (0.0.5)
|
62
|
-
twirp (1.
|
63
|
-
faraday (<
|
45
|
+
twirp (1.10.0)
|
46
|
+
faraday (< 3)
|
64
47
|
google-protobuf (~> 3.0, >= 3.7.0)
|
65
48
|
webrick (1.7.0)
|
66
49
|
yard (0.9.28)
|
data/bin/bootstrap.sh
CHANGED
@@ -15,7 +15,7 @@ module LiveKit
|
|
15
15
|
|
16
16
|
def start_room_composite_egress(
|
17
17
|
room_name,
|
18
|
-
#
|
18
|
+
# EncodedFileOutput, SegmentedFileOutput, StreamOutput, 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,
|
@@ -49,7 +49,7 @@ module LiveKit
|
|
49
49
|
|
50
50
|
def start_track_composite_egress(
|
51
51
|
room_name,
|
52
|
-
#
|
52
|
+
# EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each
|
53
53
|
output,
|
54
54
|
# TrackID of an audio track
|
55
55
|
audio_track_id: nil,
|
@@ -99,7 +99,7 @@ module LiveKit
|
|
99
99
|
|
100
100
|
def start_web_egress(
|
101
101
|
url,
|
102
|
-
#
|
102
|
+
# EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each
|
103
103
|
output,
|
104
104
|
# EncodingOptionsPreset, only one of preset or advanced could be set
|
105
105
|
preset: nil,
|
@@ -172,15 +172,29 @@ module LiveKit
|
|
172
172
|
|
173
173
|
# helper that sets output to file or stream
|
174
174
|
def set_output(request, output)
|
175
|
-
if output.nil?
|
176
|
-
|
177
|
-
|
178
|
-
|
175
|
+
raise "output cannot be nil" if output.nil?
|
176
|
+
if output.is_a? Array
|
177
|
+
output.each do |out|
|
178
|
+
if out.is_a? LiveKit::Proto::EncodedFileOutput
|
179
|
+
raise "cannot add multiple file outputs" if request.file_outputs.any?
|
180
|
+
request.file_outputs = [out]
|
181
|
+
elsif out.is_a? LiveKit::Proto::SegmentedFileOutput
|
182
|
+
raise "cannot add multiple segmented file outputs" if request.segment_outputs.any?
|
183
|
+
request.segment_outputs = [out]
|
184
|
+
elsif out.is_a? Livekit::Proto::StreamOutput
|
185
|
+
raise "cannot add multiple stream outputs" if request.stream_outputs.any?
|
186
|
+
request.stream_outputs = [out]
|
187
|
+
end
|
188
|
+
end
|
189
|
+
elsif output.is_a? LiveKit::Proto::EncodedFileOutput
|
179
190
|
request.file = output
|
191
|
+
request.file_outputs = [output]
|
180
192
|
elsif output.is_a? LiveKit::Proto::SegmentedFileOutput
|
181
193
|
request.segments = output
|
182
|
-
|
194
|
+
request.segment_outputs = [output]
|
195
|
+
elsif output.is_a? LiveKit::Proto::StreamOutput
|
183
196
|
request.stream = output
|
197
|
+
request.stream_outputs = [output]
|
184
198
|
end
|
185
199
|
end
|
186
200
|
end
|
@@ -3,6 +3,8 @@
|
|
3
3
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
|
+
require 'livekit_models_pb'
|
7
|
+
|
6
8
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
9
|
add_file("livekit_egress.proto", :syntax => :proto3) do
|
8
10
|
add_message "livekit.RoomCompositeEgressRequest" do
|
@@ -11,6 +13,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
11
13
|
optional :audio_only, :bool, 3
|
12
14
|
optional :video_only, :bool, 4
|
13
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"
|
14
19
|
oneof :output do
|
15
20
|
optional :file, :message, 6, "livekit.EncodedFileOutput"
|
16
21
|
optional :stream, :message, 7, "livekit.StreamOutput"
|
@@ -21,10 +26,30 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
21
26
|
optional :advanced, :message, 9, "livekit.EncodingOptions"
|
22
27
|
end
|
23
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
|
+
repeated :file_outputs, :message, 9, "livekit.EncodedFileOutput"
|
34
|
+
repeated :stream_outputs, :message, 10, "livekit.StreamOutput"
|
35
|
+
repeated :segment_outputs, :message, 11, "livekit.SegmentedFileOutput"
|
36
|
+
oneof :output do
|
37
|
+
optional :file, :message, 4, "livekit.EncodedFileOutput"
|
38
|
+
optional :stream, :message, 5, "livekit.StreamOutput"
|
39
|
+
optional :segments, :message, 6, "livekit.SegmentedFileOutput"
|
40
|
+
end
|
41
|
+
oneof :options do
|
42
|
+
optional :preset, :enum, 7, "livekit.EncodingOptionsPreset"
|
43
|
+
optional :advanced, :message, 8, "livekit.EncodingOptions"
|
44
|
+
end
|
45
|
+
end
|
24
46
|
add_message "livekit.TrackCompositeEgressRequest" do
|
25
47
|
optional :room_name, :string, 1
|
26
48
|
optional :audio_track_id, :string, 2
|
27
49
|
optional :video_track_id, :string, 3
|
50
|
+
repeated :file_outputs, :message, 11, "livekit.EncodedFileOutput"
|
51
|
+
repeated :stream_outputs, :message, 12, "livekit.StreamOutput"
|
52
|
+
repeated :segment_outputs, :message, 13, "livekit.SegmentedFileOutput"
|
28
53
|
oneof :output do
|
29
54
|
optional :file, :message, 4, "livekit.EncodedFileOutput"
|
30
55
|
optional :stream, :message, 5, "livekit.StreamOutput"
|
@@ -43,20 +68,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
43
68
|
optional :websocket_url, :string, 4
|
44
69
|
end
|
45
70
|
end
|
46
|
-
add_message "livekit.WebEgressRequest" do
|
47
|
-
optional :url, :string, 1
|
48
|
-
optional :audio_only, :bool, 2
|
49
|
-
optional :video_only, :bool, 3
|
50
|
-
oneof :output do
|
51
|
-
optional :file, :message, 4, "livekit.EncodedFileOutput"
|
52
|
-
optional :stream, :message, 5, "livekit.StreamOutput"
|
53
|
-
optional :segments, :message, 6, "livekit.SegmentedFileOutput"
|
54
|
-
end
|
55
|
-
oneof :options do
|
56
|
-
optional :preset, :enum, 7, "livekit.EncodingOptionsPreset"
|
57
|
-
optional :advanced, :message, 8, "livekit.EncodingOptions"
|
58
|
-
end
|
59
|
-
end
|
60
71
|
add_message "livekit.EncodedFileOutput" do
|
61
72
|
optional :file_type, :enum, 1, "livekit.EncodedFileType"
|
62
73
|
optional :filepath, :string, 2
|
@@ -73,6 +84,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
73
84
|
optional :filename_prefix, :string, 2
|
74
85
|
optional :playlist_name, :string, 3
|
75
86
|
optional :segment_duration, :uint32, 4
|
87
|
+
optional :filename_suffix, :enum, 10, "livekit.SegmentedFileSuffix"
|
76
88
|
optional :disable_manifest, :bool, 8
|
77
89
|
oneof :output do
|
78
90
|
optional :s3, :message, 5, "livekit.S3Upload"
|
@@ -102,7 +114,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
102
114
|
optional :tagging, :string, 8
|
103
115
|
end
|
104
116
|
add_message "livekit.GCPUpload" do
|
105
|
-
optional :credentials, :
|
117
|
+
optional :credentials, :string, 1
|
106
118
|
optional :bucket, :string, 2
|
107
119
|
end
|
108
120
|
add_message "livekit.AzureBlobUpload" do
|
@@ -131,6 +143,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
131
143
|
optional :audio_frequency, :int32, 7
|
132
144
|
optional :video_codec, :enum, 8, "livekit.VideoCodec"
|
133
145
|
optional :video_bitrate, :int32, 9
|
146
|
+
optional :key_frame_interval, :double, 10
|
134
147
|
end
|
135
148
|
add_message "livekit.UpdateLayoutRequest" do
|
136
149
|
optional :egress_id, :string, 1
|
@@ -143,6 +156,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
143
156
|
end
|
144
157
|
add_message "livekit.ListEgressRequest" do
|
145
158
|
optional :room_name, :string, 1
|
159
|
+
optional :egress_id, :string, 2
|
160
|
+
optional :active, :bool, 3
|
146
161
|
end
|
147
162
|
add_message "livekit.ListEgressResponse" do
|
148
163
|
repeated :items, :message, 1, "livekit.EgressInfo"
|
@@ -158,6 +173,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
158
173
|
optional :started_at, :int64, 10
|
159
174
|
optional :ended_at, :int64, 11
|
160
175
|
optional :error, :string, 9
|
176
|
+
repeated :stream_results, :message, 15, "livekit.StreamInfo"
|
177
|
+
repeated :file_results, :message, 16, "livekit.FileInfo"
|
178
|
+
repeated :segment_results, :message, 17, "livekit.SegmentsInfo"
|
161
179
|
oneof :request do
|
162
180
|
optional :room_composite, :message, 4, "livekit.RoomCompositeEgressRequest"
|
163
181
|
optional :track_composite, :message, 5, "livekit.TrackCompositeEgressRequest"
|
@@ -179,6 +197,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
179
197
|
optional :ended_at, :int64, 3
|
180
198
|
optional :duration, :int64, 4
|
181
199
|
optional :status, :enum, 5, "livekit.StreamInfo.Status"
|
200
|
+
optional :error, :string, 6
|
182
201
|
end
|
183
202
|
add_enum "livekit.StreamInfo.Status" do
|
184
203
|
value :ACTIVE, 0
|
@@ -216,24 +235,17 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
216
235
|
value :MP4, 1
|
217
236
|
value :OGG, 2
|
218
237
|
end
|
219
|
-
add_enum "livekit.StreamProtocol" do
|
220
|
-
value :DEFAULT_PROTOCOL, 0
|
221
|
-
value :RTMP, 1
|
222
|
-
end
|
223
238
|
add_enum "livekit.SegmentedFileProtocol" do
|
224
239
|
value :DEFAULT_SEGMENTED_FILE_PROTOCOL, 0
|
225
240
|
value :HLS_PROTOCOL, 1
|
226
241
|
end
|
227
|
-
add_enum "livekit.
|
228
|
-
value :
|
229
|
-
value :
|
230
|
-
value :AAC, 2
|
242
|
+
add_enum "livekit.SegmentedFileSuffix" do
|
243
|
+
value :INDEX, 0
|
244
|
+
value :TIMESTAMP, 1
|
231
245
|
end
|
232
|
-
add_enum "livekit.
|
233
|
-
value :
|
234
|
-
value :
|
235
|
-
value :H264_MAIN, 2
|
236
|
-
value :H264_HIGH, 3
|
246
|
+
add_enum "livekit.StreamProtocol" do
|
247
|
+
value :DEFAULT_PROTOCOL, 0
|
248
|
+
value :RTMP, 1
|
237
249
|
end
|
238
250
|
add_enum "livekit.EncodingOptionsPreset" do
|
239
251
|
value :H264_720P_30, 0
|
@@ -260,9 +272,9 @@ end
|
|
260
272
|
module LiveKit
|
261
273
|
module Proto
|
262
274
|
RoomCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomCompositeEgressRequest").msgclass
|
275
|
+
WebEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.WebEgressRequest").msgclass
|
263
276
|
TrackCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackCompositeEgressRequest").msgclass
|
264
277
|
TrackEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackEgressRequest").msgclass
|
265
|
-
WebEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.WebEgressRequest").msgclass
|
266
278
|
EncodedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileOutput").msgclass
|
267
279
|
SegmentedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileOutput").msgclass
|
268
280
|
DirectFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DirectFileOutput").msgclass
|
@@ -285,10 +297,9 @@ module LiveKit
|
|
285
297
|
SegmentsInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentsInfo").msgclass
|
286
298
|
AutoTrackEgress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AutoTrackEgress").msgclass
|
287
299
|
EncodedFileType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileType").enummodule
|
288
|
-
StreamProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamProtocol").enummodule
|
289
300
|
SegmentedFileProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileProtocol").enummodule
|
290
|
-
|
291
|
-
|
301
|
+
SegmentedFileSuffix = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileSuffix").enummodule
|
302
|
+
StreamProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamProtocol").enummodule
|
292
303
|
EncodingOptionsPreset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptionsPreset").enummodule
|
293
304
|
EgressStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressStatus").enummodule
|
294
305
|
end
|
@@ -1,10 +1,10 @@
|
|
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
|
|
5
5
|
module LiveKit
|
6
6
|
module Proto
|
7
|
-
class EgressService < Twirp::Service
|
7
|
+
class EgressService < ::Twirp::Service
|
8
8
|
package 'livekit'
|
9
9
|
service 'Egress'
|
10
10
|
rpc :StartRoomCompositeEgress, RoomCompositeEgressRequest, EgressInfo, :ruby_method => :start_room_composite_egress
|
@@ -17,7 +17,7 @@ module LiveKit
|
|
17
17
|
rpc :StopEgress, StopEgressRequest, EgressInfo, :ruby_method => :stop_egress
|
18
18
|
end
|
19
19
|
|
20
|
-
class EgressClient < Twirp::Client
|
20
|
+
class EgressClient < ::Twirp::Client
|
21
21
|
client_for EgressService
|
22
22
|
end
|
23
23
|
end
|
@@ -19,16 +19,29 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
19
19
|
add_message "livekit.IngressAudioOptions" do
|
20
20
|
optional :name, :string, 1
|
21
21
|
optional :source, :enum, 2, "livekit.TrackSource"
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
oneof :encoding_options do
|
23
|
+
optional :preset, :enum, 3, "livekit.IngressAudioEncodingPreset"
|
24
|
+
optional :options, :message, 4, "livekit.IngressAudioEncodingOptions"
|
25
|
+
end
|
26
26
|
end
|
27
27
|
add_message "livekit.IngressVideoOptions" do
|
28
28
|
optional :name, :string, 1
|
29
29
|
optional :source, :enum, 2, "livekit.TrackSource"
|
30
|
-
|
31
|
-
|
30
|
+
oneof :encoding_options do
|
31
|
+
optional :preset, :enum, 3, "livekit.IngressVideoEncodingPreset"
|
32
|
+
optional :options, :message, 4, "livekit.IngressVideoEncodingOptions"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
add_message "livekit.IngressAudioEncodingOptions" do
|
36
|
+
optional :audio_codec, :enum, 1, "livekit.AudioCodec"
|
37
|
+
optional :bitrate, :uint32, 2
|
38
|
+
optional :disable_dtx, :bool, 3
|
39
|
+
optional :channels, :uint32, 4
|
40
|
+
end
|
41
|
+
add_message "livekit.IngressVideoEncodingOptions" do
|
42
|
+
optional :video_codec, :enum, 1, "livekit.VideoCodec"
|
43
|
+
optional :frame_rate, :double, 2
|
44
|
+
repeated :layers, :message, 3, "livekit.VideoLayer"
|
32
45
|
end
|
33
46
|
add_message "livekit.IngressInfo" do
|
34
47
|
optional :ingress_id, :string, 1
|
@@ -51,6 +64,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
51
64
|
optional :audio, :message, 4, "livekit.InputAudioState"
|
52
65
|
optional :room_id, :string, 5
|
53
66
|
optional :started_at, :int64, 7
|
67
|
+
optional :ended_at, :int64, 8
|
54
68
|
repeated :tracks, :message, 6, "livekit.TrackInfo"
|
55
69
|
end
|
56
70
|
add_enum "livekit.IngressState.Status" do
|
@@ -60,13 +74,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
60
74
|
value :ENDPOINT_ERROR, 3
|
61
75
|
end
|
62
76
|
add_message "livekit.InputVideoState" do
|
63
|
-
optional :mime_type, :
|
77
|
+
optional :mime_type, :string, 1
|
64
78
|
optional :width, :uint32, 3
|
65
79
|
optional :height, :uint32, 4
|
66
80
|
optional :framerate, :uint32, 5
|
67
81
|
end
|
68
82
|
add_message "livekit.InputAudioState" do
|
69
|
-
optional :mime_type, :
|
83
|
+
optional :mime_type, :string, 1
|
70
84
|
optional :channels, :uint32, 3
|
71
85
|
optional :sample_rate, :uint32, 4
|
72
86
|
end
|
@@ -91,6 +105,17 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
91
105
|
add_enum "livekit.IngressInput" do
|
92
106
|
value :RTMP_INPUT, 0
|
93
107
|
end
|
108
|
+
add_enum "livekit.IngressAudioEncodingPreset" do
|
109
|
+
value :OPUS_STEREO_96KBPS, 0
|
110
|
+
value :OPUS_MONO_64KBS, 1
|
111
|
+
end
|
112
|
+
add_enum "livekit.IngressVideoEncodingPreset" do
|
113
|
+
value :H264_720P_30FPS_3_LAYERS, 0
|
114
|
+
value :H264_1080P_30FPS_3_LAYERS, 1
|
115
|
+
value :H264_540P_25FPS_2_LAYERS, 2
|
116
|
+
value :H264_720P_30FPS_1_LAYER, 3
|
117
|
+
value :H264_1080P_30FPS_1_LAYER, 4
|
118
|
+
end
|
94
119
|
end
|
95
120
|
end
|
96
121
|
|
@@ -99,6 +124,8 @@ module LiveKit
|
|
99
124
|
CreateIngressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.CreateIngressRequest").msgclass
|
100
125
|
IngressAudioOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressAudioOptions").msgclass
|
101
126
|
IngressVideoOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressVideoOptions").msgclass
|
127
|
+
IngressAudioEncodingOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressAudioEncodingOptions").msgclass
|
128
|
+
IngressVideoEncodingOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressVideoEncodingOptions").msgclass
|
102
129
|
IngressInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressInfo").msgclass
|
103
130
|
IngressState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressState").msgclass
|
104
131
|
IngressState::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressState.Status").enummodule
|
@@ -109,5 +136,7 @@ module LiveKit
|
|
109
136
|
ListIngressResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListIngressResponse").msgclass
|
110
137
|
DeleteIngressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DeleteIngressRequest").msgclass
|
111
138
|
IngressInput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressInput").enummodule
|
139
|
+
IngressAudioEncodingPreset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressAudioEncodingPreset").enummodule
|
140
|
+
IngressVideoEncodingPreset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressVideoEncodingPreset").enummodule
|
112
141
|
end
|
113
142
|
end
|
@@ -1,10 +1,10 @@
|
|
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_ingress_pb.rb'
|
4
4
|
|
5
5
|
module LiveKit
|
6
6
|
module Proto
|
7
|
-
class IngressService < Twirp::Service
|
7
|
+
class IngressService < ::Twirp::Service
|
8
8
|
package 'livekit'
|
9
9
|
service 'Ingress'
|
10
10
|
rpc :CreateIngress, CreateIngressRequest, IngressInfo, :ruby_method => :create_ingress
|
@@ -13,7 +13,7 @@ module LiveKit
|
|
13
13
|
rpc :DeleteIngress, DeleteIngressRequest, IngressInfo, :ruby_method => :delete_ingress
|
14
14
|
end
|
15
15
|
|
16
|
-
class IngressClient < Twirp::Client
|
16
|
+
class IngressClient < ::Twirp::Client
|
17
17
|
client_for IngressService
|
18
18
|
end
|
19
19
|
end
|
@@ -27,8 +27,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
27
27
|
optional :can_subscribe, :bool, 1
|
28
28
|
optional :can_publish, :bool, 2
|
29
29
|
optional :can_publish_data, :bool, 3
|
30
|
+
repeated :can_publish_sources, :enum, 9, "livekit.TrackSource"
|
30
31
|
optional :hidden, :bool, 7
|
31
32
|
optional :recorder, :bool, 8
|
33
|
+
optional :can_update_metadata, :bool, 10
|
32
34
|
end
|
33
35
|
add_message "livekit.ParticipantInfo" do
|
34
36
|
optional :sid, :string, 1
|
@@ -49,6 +51,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
49
51
|
value :ACTIVE, 2
|
50
52
|
value :DISCONNECTED, 3
|
51
53
|
end
|
54
|
+
add_message "livekit.Encryption" do
|
55
|
+
end
|
56
|
+
add_enum "livekit.Encryption.Type" do
|
57
|
+
value :NONE, 0
|
58
|
+
value :GCM, 1
|
59
|
+
value :CUSTOM, 2
|
60
|
+
end
|
52
61
|
add_message "livekit.SimulcastCodecInfo" do
|
53
62
|
optional :mime_type, :string, 1
|
54
63
|
optional :mid, :string, 2
|
@@ -71,6 +80,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
71
80
|
repeated :codecs, :message, 13, "livekit.SimulcastCodecInfo"
|
72
81
|
optional :stereo, :bool, 14
|
73
82
|
optional :disable_red, :bool, 15
|
83
|
+
optional :encryption, :enum, 16, "livekit.Encryption.Type"
|
74
84
|
end
|
75
85
|
add_message "livekit.VideoLayer" do
|
76
86
|
optional :quality, :enum, 1, "livekit.VideoQuality"
|
@@ -102,6 +112,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
102
112
|
optional :participant_sid, :string, 1
|
103
113
|
optional :payload, :bytes, 2
|
104
114
|
repeated :destination_sids, :string, 3
|
115
|
+
proto3_optional :topic, :string, 4
|
105
116
|
end
|
106
117
|
add_message "livekit.ParticipantTracks" do
|
107
118
|
optional :participant_sid, :string, 1
|
@@ -139,6 +150,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
139
150
|
value :FLUTTER, 4
|
140
151
|
value :GO, 5
|
141
152
|
value :UNITY, 6
|
153
|
+
value :REACT_NATIVE, 7
|
154
|
+
value :RUST, 8
|
142
155
|
end
|
143
156
|
add_message "livekit.ClientConfiguration" do
|
144
157
|
optional :video, :message, 1, "livekit.VideoConfiguration"
|
@@ -200,6 +213,18 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
200
213
|
optional :unix_micro, :int64, 1
|
201
214
|
optional :ticks, :int32, 2
|
202
215
|
end
|
216
|
+
add_enum "livekit.AudioCodec" do
|
217
|
+
value :DEFAULT_AC, 0
|
218
|
+
value :OPUS, 1
|
219
|
+
value :AAC, 2
|
220
|
+
end
|
221
|
+
add_enum "livekit.VideoCodec" do
|
222
|
+
value :DEFAULT_VC, 0
|
223
|
+
value :H264_BASELINE, 1
|
224
|
+
value :H264_MAIN, 2
|
225
|
+
value :H264_HIGH, 3
|
226
|
+
value :VP8, 4
|
227
|
+
end
|
203
228
|
add_enum "livekit.TrackType" do
|
204
229
|
value :AUDIO, 0
|
205
230
|
value :VIDEO, 1
|
@@ -238,6 +263,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
238
263
|
value :STATE_MISMATCH, 6
|
239
264
|
value :JOIN_FAILURE, 7
|
240
265
|
end
|
266
|
+
add_enum "livekit.ReconnectReason" do
|
267
|
+
value :RR_UNKOWN, 0
|
268
|
+
value :RR_SIGNAL_DISCONNECTED, 1
|
269
|
+
value :RR_PUBLISHER_FAILED, 2
|
270
|
+
value :RR_SUBSCRIBER_FAILED, 3
|
271
|
+
value :RR_SWITCH_CANDIDATE, 4
|
272
|
+
end
|
241
273
|
end
|
242
274
|
end
|
243
275
|
|
@@ -248,6 +280,8 @@ module LiveKit
|
|
248
280
|
ParticipantPermission = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantPermission").msgclass
|
249
281
|
ParticipantInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo").msgclass
|
250
282
|
ParticipantInfo::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo.State").enummodule
|
283
|
+
Encryption = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Encryption").msgclass
|
284
|
+
Encryption::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Encryption.Type").enummodule
|
251
285
|
SimulcastCodecInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SimulcastCodecInfo").msgclass
|
252
286
|
TrackInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackInfo").msgclass
|
253
287
|
VideoLayer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoLayer").msgclass
|
@@ -266,11 +300,14 @@ module LiveKit
|
|
266
300
|
DisabledCodecs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DisabledCodecs").msgclass
|
267
301
|
RTPStats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPStats").msgclass
|
268
302
|
TimedVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TimedVersion").msgclass
|
303
|
+
AudioCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AudioCodec").enummodule
|
304
|
+
VideoCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoCodec").enummodule
|
269
305
|
TrackType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackType").enummodule
|
270
306
|
TrackSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackSource").enummodule
|
271
307
|
VideoQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoQuality").enummodule
|
272
308
|
ConnectionQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ConnectionQuality").enummodule
|
273
309
|
ClientConfigSetting = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfigSetting").enummodule
|
274
310
|
DisconnectReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DisconnectReason").enummodule
|
311
|
+
ReconnectReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ReconnectReason").enummodule
|
275
312
|
end
|
276
313
|
end
|
@@ -73,6 +73,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
73
73
|
optional :data, :bytes, 2
|
74
74
|
optional :kind, :enum, 3, "livekit.DataPacket.Kind"
|
75
75
|
repeated :destination_sids, :string, 4
|
76
|
+
proto3_optional :topic, :string, 5
|
76
77
|
end
|
77
78
|
add_message "livekit.SendDataResponse" do
|
78
79
|
end
|
@@ -1,10 +1,10 @@
|
|
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_room_pb.rb'
|
4
4
|
|
5
5
|
module LiveKit
|
6
6
|
module Proto
|
7
|
-
class RoomServiceService < Twirp::Service
|
7
|
+
class RoomServiceService < ::Twirp::Service
|
8
8
|
package 'livekit'
|
9
9
|
service 'RoomService'
|
10
10
|
rpc :CreateRoom, CreateRoomRequest, Room, :ruby_method => :create_room
|
@@ -20,7 +20,7 @@ module LiveKit
|
|
20
20
|
rpc :UpdateRoomMetadata, UpdateRoomMetadataRequest, Room, :ruby_method => :update_room_metadata
|
21
21
|
end
|
22
22
|
|
23
|
-
class RoomServiceClient < Twirp::Client
|
23
|
+
class RoomServiceClient < ::Twirp::Client
|
24
24
|
client_for RoomServiceService
|
25
25
|
end
|
26
26
|
end
|
data/lib/livekit/version.rb
CHANGED
data/livekit_server_sdk.gemspec
CHANGED
@@ -26,9 +26,11 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
27
27
|
spec.require_paths = ["lib"]
|
28
28
|
|
29
|
-
spec.add_dependency "google-protobuf", "
|
30
|
-
spec.add_dependency "jwt", "
|
31
|
-
|
29
|
+
spec.add_dependency "google-protobuf", ">= 3.21.0", "< 4.0"
|
30
|
+
spec.add_dependency "jwt", ">= 2.2.3", "< 3.0"
|
31
|
+
# workaround for twirp 1.10.0 missing it
|
32
|
+
spec.add_dependency 'rack', '>= 2.2.3', "< 3.0"
|
33
|
+
spec.add_dependency "twirp", ">= 1.10.0", "< 2.0"
|
32
34
|
|
33
35
|
# For more information and examples about making a new gem, checkout our
|
34
36
|
# guide at: https://bundler.io/guides/creating_gem.html
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: livekit-server-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Omri Gabay
|
@@ -9,50 +9,88 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-04-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-protobuf
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 3.21.0
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '4.0'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- - "
|
28
|
+
- - ">="
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: 3.21.0
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '4.0'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: jwt
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
31
37
|
requirements:
|
32
|
-
- - "
|
38
|
+
- - ">="
|
33
39
|
- !ruby/object:Gem::Version
|
34
40
|
version: 2.2.3
|
41
|
+
- - "<"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3.0'
|
35
44
|
type: :runtime
|
36
45
|
prerelease: false
|
37
46
|
version_requirements: !ruby/object:Gem::Requirement
|
38
47
|
requirements:
|
39
|
-
- - "
|
48
|
+
- - ">="
|
40
49
|
- !ruby/object:Gem::Version
|
41
50
|
version: 2.2.3
|
51
|
+
- - "<"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: rack
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 2.2.3
|
61
|
+
- - "<"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '3.0'
|
64
|
+
type: :runtime
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 2.2.3
|
71
|
+
- - "<"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '3.0'
|
42
74
|
- !ruby/object:Gem::Dependency
|
43
75
|
name: twirp
|
44
76
|
requirement: !ruby/object:Gem::Requirement
|
45
77
|
requirements:
|
46
|
-
- - "
|
78
|
+
- - ">="
|
47
79
|
- !ruby/object:Gem::Version
|
48
|
-
version: 1.
|
80
|
+
version: 1.10.0
|
81
|
+
- - "<"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '2.0'
|
49
84
|
type: :runtime
|
50
85
|
prerelease: false
|
51
86
|
version_requirements: !ruby/object:Gem::Requirement
|
52
87
|
requirements:
|
53
|
-
- - "
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 1.10.0
|
91
|
+
- - "<"
|
54
92
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
93
|
+
version: '2.0'
|
56
94
|
description:
|
57
95
|
email:
|
58
96
|
- omri@omrigabay.me
|
@@ -96,7 +134,6 @@ files:
|
|
96
134
|
- lib/livekit/access_token.rb
|
97
135
|
- lib/livekit/auth_mixin.rb
|
98
136
|
- lib/livekit/egress_service_client.rb
|
99
|
-
- lib/livekit/egress_types.rb
|
100
137
|
- lib/livekit/grants.rb
|
101
138
|
- lib/livekit/ingress_service_client.rb
|
102
139
|
- lib/livekit/proto/livekit_egress_pb.rb
|
data/lib/livekit/egress_types.rb
DELETED
File without changes
|