livekit-server-sdk 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/Gemfile.lock +4 -4
- data/Rakefile +1 -0
- data/lib/livekit/egress_service_client.rb +32 -3
- data/lib/livekit/grants.rb +7 -2
- data/lib/livekit/ingress_service_client.rb +101 -0
- data/lib/livekit/proto/livekit_egress_pb.rb +62 -0
- data/lib/livekit/proto/livekit_egress_twirp.rb +1 -0
- data/lib/livekit/proto/livekit_ingress_pb.rb +113 -0
- data/lib/livekit/proto/livekit_ingress_twirp.rb +20 -0
- data/lib/livekit/proto/livekit_models_pb.rb +37 -0
- data/lib/livekit/proto/livekit_room_pb.rb +8 -0
- data/lib/livekit/proto/livekit_webhook_pb.rb +2 -2
- data/lib/livekit/room_service_client.rb +11 -3
- data/lib/livekit/version.rb +1 -1
- data/lib/livekit.rb +1 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ca33e2d576356576a6fdffbb7ca8e7653f0dc5715138eb73fa63382c85d27cb
|
4
|
+
data.tar.gz: 76d47b446727732114c77ed92b412858f3087d71a23783af2a4aa6b677222168
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3dac51a33c69794ca2eddfff9b35c375b6cbbc0578a3273cb4ba10088b3e6d056e77db02a7092a7b97f62123e84795c8a3dd273606a1e92a438ed155a0a54412
|
7
|
+
data.tar.gz: c5d71a01a978d34cb383b57c2df3120e4dff745d691e6a4d78cf947e6fa3c156bbfc098b0b2b4aa99f69a44d0ec72059892cc87a57cbc40c11dc82eb55fe5471
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.1.2
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
livekit-server-sdk (0.
|
4
|
+
livekit-server-sdk (0.4.0)
|
5
5
|
google-protobuf (~> 3.21.0)
|
6
6
|
jwt (~> 2.2.3)
|
7
7
|
twirp (~> 1.9.0)
|
@@ -11,7 +11,7 @@ GEM
|
|
11
11
|
specs:
|
12
12
|
coderay (1.1.3)
|
13
13
|
diff-lcs (1.5.0)
|
14
|
-
faraday (1.10.
|
14
|
+
faraday (1.10.2)
|
15
15
|
faraday-em_http (~> 1.0)
|
16
16
|
faraday-em_synchrony (~> 1.0)
|
17
17
|
faraday-excon (~> 1.1)
|
@@ -34,7 +34,7 @@ GEM
|
|
34
34
|
faraday-patron (1.0.0)
|
35
35
|
faraday-rack (1.0.0)
|
36
36
|
faraday-retry (1.0.3)
|
37
|
-
google-protobuf (3.21.
|
37
|
+
google-protobuf (3.21.7)
|
38
38
|
jwt (2.2.3)
|
39
39
|
method_source (1.0.0)
|
40
40
|
multipart-post (2.2.3)
|
@@ -79,4 +79,4 @@ DEPENDENCIES
|
|
79
79
|
yard
|
80
80
|
|
81
81
|
BUNDLED WITH
|
82
|
-
2.3.
|
82
|
+
2.3.7
|
data/Rakefile
CHANGED
@@ -13,6 +13,7 @@ task :proto do
|
|
13
13
|
"--twirp_ruby_out=lib/livekit/proto",
|
14
14
|
"-Iprotocol",
|
15
15
|
"./protocol/livekit_egress.proto",
|
16
|
+
"./protocol/livekit_ingress.proto",
|
16
17
|
"./protocol/livekit_models.proto",
|
17
18
|
"./protocol/livekit_room.proto",
|
18
19
|
"./protocol/livekit_webhook.proto")
|
@@ -15,7 +15,7 @@ module LiveKit
|
|
15
15
|
|
16
16
|
def start_room_composite_egress(
|
17
17
|
room_name,
|
18
|
-
# one of EncodedFileOutput or StreamOutput
|
18
|
+
# one of EncodedFileOutput, SegmentedFileOutput or StreamOutput
|
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
|
-
# one of EncodedFileOutput or StreamOutput
|
52
|
+
# one of EncodedFileOutput, SegmentedFileOutput or StreamOutput
|
53
53
|
output,
|
54
54
|
# TrackID of an audio track
|
55
55
|
audio_track_id: nil,
|
@@ -97,6 +97,33 @@ module LiveKit
|
|
97
97
|
)
|
98
98
|
end
|
99
99
|
|
100
|
+
def start_web_egress(
|
101
|
+
url,
|
102
|
+
# one of EncodedFileOutput, SegmentedFileOutput or StreamOutput
|
103
|
+
output,
|
104
|
+
# EncodingOptionsPreset, only one of preset or advanced could be set
|
105
|
+
preset: nil,
|
106
|
+
# EncodingOptions, only one of preset or advanced could be set
|
107
|
+
advanced: nil,
|
108
|
+
# true to record only audio
|
109
|
+
audio_only: false,
|
110
|
+
# true to record only video
|
111
|
+
video_only: false
|
112
|
+
)
|
113
|
+
request = Proto::WebEgressRequest.new(
|
114
|
+
url: url,
|
115
|
+
preset: preset,
|
116
|
+
advanced: advanced,
|
117
|
+
audio_only: audio_only,
|
118
|
+
video_only: video_only,
|
119
|
+
)
|
120
|
+
self.set_output(request, output)
|
121
|
+
self.rpc(
|
122
|
+
:StartWebEgress,
|
123
|
+
request,
|
124
|
+
headers: auth_header(roomRecord: true),
|
125
|
+
)
|
126
|
+
end
|
100
127
|
|
101
128
|
def update_layout(egress_id, layout)
|
102
129
|
self.rpc(
|
@@ -148,8 +175,10 @@ module LiveKit
|
|
148
175
|
if output.nil?
|
149
176
|
raise "output cannot be nil"
|
150
177
|
end
|
151
|
-
if output.
|
178
|
+
if output.is_a? LiveKit::Proto::EncodedFileOutput or output.is_a? LiveKit::Proto::DirectFileOutput
|
152
179
|
request.file = output
|
180
|
+
elsif output.is_a? LiveKit::Proto::SegmentedFileOutput
|
181
|
+
request.segments = output
|
153
182
|
else
|
154
183
|
request.stream = output
|
155
184
|
end
|
data/lib/livekit/grants.rb
CHANGED
@@ -34,7 +34,8 @@ module LiveKit
|
|
34
34
|
|
35
35
|
class VideoGrant
|
36
36
|
attr_accessor :roomCreate, :roomJoin, :roomList, :roomRecord, :roomAdmin,
|
37
|
-
:room, :canPublish, :canSubscribe, :canPublishData, :hidden, :recorder
|
37
|
+
:room, :canPublish, :canSubscribe, :canPublishData, :hidden, :recorder,
|
38
|
+
:ingressAdmin
|
38
39
|
|
39
40
|
def initialize(
|
40
41
|
# true if can create or delete rooms
|
@@ -58,7 +59,9 @@ module LiveKit
|
|
58
59
|
# if participant should remain invisible to others
|
59
60
|
hidden: nil,
|
60
61
|
# if participant is recording the room
|
61
|
-
recorder: nil
|
62
|
+
recorder: nil,
|
63
|
+
# can create and manage Ingress
|
64
|
+
ingressAdmin: nil
|
62
65
|
)
|
63
66
|
@roomCreate = roomCreate
|
64
67
|
@roomJoin = roomJoin
|
@@ -71,6 +74,7 @@ module LiveKit
|
|
71
74
|
@canPublishData = canPublishData
|
72
75
|
@hidden = hidden
|
73
76
|
@recorder = recorder
|
77
|
+
@ingressAdmin = ingressAdmin
|
74
78
|
end
|
75
79
|
|
76
80
|
def self.from_hash(hash)
|
@@ -90,6 +94,7 @@ module LiveKit
|
|
90
94
|
canPublishData: hash["canPublishData"],
|
91
95
|
hidden: hash["hidden"],
|
92
96
|
recorder: hash["recorder"],
|
97
|
+
ingressAdmin: hash["ingressAdmin"]
|
93
98
|
)
|
94
99
|
end
|
95
100
|
|
@@ -0,0 +1,101 @@
|
|
1
|
+
require "livekit/proto/livekit_ingress_twirp"
|
2
|
+
require "livekit/auth_mixin"
|
3
|
+
|
4
|
+
module LiveKit
|
5
|
+
class IngressServiceClient < Twirp::Client
|
6
|
+
client_for Proto::IngressService
|
7
|
+
include AuthMixin
|
8
|
+
attr_accessor :api_key, :api_secret
|
9
|
+
|
10
|
+
def initialize(base_url, api_key: nil, api_secret: nil)
|
11
|
+
super(File.join(base_url, "/twirp"))
|
12
|
+
@api_key = api_key
|
13
|
+
@api_secret = api_secret
|
14
|
+
end
|
15
|
+
|
16
|
+
def create_ingress(
|
17
|
+
# currently :RTMP_INPUT is the only supported type
|
18
|
+
input_type,
|
19
|
+
# optional, name to identify the ingress
|
20
|
+
name: nil,
|
21
|
+
# optional, you can attach to a room at a later time
|
22
|
+
room_name: nil,
|
23
|
+
# optional, identity of participant to publish as
|
24
|
+
participant_identity: nil,
|
25
|
+
# optional, display name of participant
|
26
|
+
participant_name: nil,
|
27
|
+
# optional, LiveKit::Proto::IngressAudioOptions
|
28
|
+
audio: nil,
|
29
|
+
# optional, LiveKit::Proto::IngressVideoOptions
|
30
|
+
video: nil
|
31
|
+
)
|
32
|
+
request = Proto::CreateIngressRequest.new(
|
33
|
+
input_type: input_type,
|
34
|
+
name: name,
|
35
|
+
room_name: room_name,
|
36
|
+
participant_identity: participant_identity,
|
37
|
+
participant_name: participant_name,
|
38
|
+
audio: audio,
|
39
|
+
video: video,
|
40
|
+
)
|
41
|
+
self.rpc(
|
42
|
+
:CreateIngress,
|
43
|
+
request,
|
44
|
+
headers: auth_header(ingressAdmin: true),
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
def update_ingress(
|
49
|
+
ingress_id,
|
50
|
+
# optional, name to identify the ingress
|
51
|
+
name: nil,
|
52
|
+
# optional, you can attach to a room at a later time
|
53
|
+
room_name: nil,
|
54
|
+
# optional, identity of participant to publish as
|
55
|
+
participant_identity: nil,
|
56
|
+
# optional, display name of participant
|
57
|
+
participant_name: nil,
|
58
|
+
# optional, LiveKit::Proto::IngressAudioOptions
|
59
|
+
audio: nil,
|
60
|
+
# optional, LiveKit::Proto::IngressVideoOptions
|
61
|
+
video: nil
|
62
|
+
)
|
63
|
+
request = Proto::UpdateIngressRequest.new(
|
64
|
+
ingress_id: ingress_id,
|
65
|
+
name: name,
|
66
|
+
room_name: room_name,
|
67
|
+
participant_identity: participant_identity,
|
68
|
+
participant_name: participant_name,
|
69
|
+
audio: audio,
|
70
|
+
video: video,
|
71
|
+
)
|
72
|
+
self.rpc(
|
73
|
+
:UpdateIngress,
|
74
|
+
request,
|
75
|
+
headers: auth_header(ingressAdmin: true),
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
79
|
+
def list_ingress(room_name: nil)
|
80
|
+
request = Proto::ListIngressRequest.new(
|
81
|
+
room_name: room_name,
|
82
|
+
)
|
83
|
+
self.rpc(
|
84
|
+
:ListIngress,
|
85
|
+
request,
|
86
|
+
headers: auth_header(ingressAdmin: true),
|
87
|
+
)
|
88
|
+
end
|
89
|
+
|
90
|
+
def delete_ingress(ingress_id)
|
91
|
+
request = Proto::DeleteIngressRequest.new(
|
92
|
+
ingress_id: ingress_id
|
93
|
+
)
|
94
|
+
self.rpc(
|
95
|
+
:DeleteIngress,
|
96
|
+
request,
|
97
|
+
headers: auth_header(ingressAdmin: true),
|
98
|
+
)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -43,13 +43,29 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
43
43
|
optional :websocket_url, :string, 4
|
44
44
|
end
|
45
45
|
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
|
46
60
|
add_message "livekit.EncodedFileOutput" do
|
47
61
|
optional :file_type, :enum, 1, "livekit.EncodedFileType"
|
48
62
|
optional :filepath, :string, 2
|
63
|
+
optional :disable_manifest, :bool, 6
|
49
64
|
oneof :output do
|
50
65
|
optional :s3, :message, 3, "livekit.S3Upload"
|
51
66
|
optional :gcp, :message, 4, "livekit.GCPUpload"
|
52
67
|
optional :azure, :message, 5, "livekit.AzureBlobUpload"
|
68
|
+
optional :aliOSS, :message, 7, "livekit.AliOSSUpload"
|
53
69
|
end
|
54
70
|
end
|
55
71
|
add_message "livekit.SegmentedFileOutput" do
|
@@ -57,18 +73,22 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
57
73
|
optional :filename_prefix, :string, 2
|
58
74
|
optional :playlist_name, :string, 3
|
59
75
|
optional :segment_duration, :uint32, 4
|
76
|
+
optional :disable_manifest, :bool, 8
|
60
77
|
oneof :output do
|
61
78
|
optional :s3, :message, 5, "livekit.S3Upload"
|
62
79
|
optional :gcp, :message, 6, "livekit.GCPUpload"
|
63
80
|
optional :azure, :message, 7, "livekit.AzureBlobUpload"
|
81
|
+
optional :aliOSS, :message, 9, "livekit.AliOSSUpload"
|
64
82
|
end
|
65
83
|
end
|
66
84
|
add_message "livekit.DirectFileOutput" do
|
67
85
|
optional :filepath, :string, 1
|
86
|
+
optional :disable_manifest, :bool, 5
|
68
87
|
oneof :output do
|
69
88
|
optional :s3, :message, 2, "livekit.S3Upload"
|
70
89
|
optional :gcp, :message, 3, "livekit.GCPUpload"
|
71
90
|
optional :azure, :message, 4, "livekit.AzureBlobUpload"
|
91
|
+
optional :aliOSS, :message, 6, "livekit.AliOSSUpload"
|
72
92
|
end
|
73
93
|
end
|
74
94
|
add_message "livekit.S3Upload" do
|
@@ -77,6 +97,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
77
97
|
optional :region, :string, 3
|
78
98
|
optional :endpoint, :string, 4
|
79
99
|
optional :bucket, :string, 5
|
100
|
+
optional :force_path_style, :bool, 6
|
101
|
+
map :metadata, :string, :string, 7
|
102
|
+
optional :tagging, :string, 8
|
80
103
|
end
|
81
104
|
add_message "livekit.GCPUpload" do
|
82
105
|
optional :credentials, :bytes, 1
|
@@ -87,6 +110,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
87
110
|
optional :account_key, :string, 2
|
88
111
|
optional :container_name, :string, 3
|
89
112
|
end
|
113
|
+
add_message "livekit.AliOSSUpload" do
|
114
|
+
optional :access_key, :string, 1
|
115
|
+
optional :secret, :string, 2
|
116
|
+
optional :region, :string, 3
|
117
|
+
optional :endpoint, :string, 4
|
118
|
+
optional :bucket, :string, 5
|
119
|
+
end
|
90
120
|
add_message "livekit.StreamOutput" do
|
91
121
|
optional :protocol, :enum, 1, "livekit.StreamProtocol"
|
92
122
|
repeated :urls, :string, 2
|
@@ -123,6 +153,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
123
153
|
add_message "livekit.EgressInfo" do
|
124
154
|
optional :egress_id, :string, 1
|
125
155
|
optional :room_id, :string, 2
|
156
|
+
optional :room_name, :string, 13
|
126
157
|
optional :status, :enum, 3, "livekit.EgressStatus"
|
127
158
|
optional :started_at, :int64, 10
|
128
159
|
optional :ended_at, :int64, 11
|
@@ -131,6 +162,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
131
162
|
optional :room_composite, :message, 4, "livekit.RoomCompositeEgressRequest"
|
132
163
|
optional :track_composite, :message, 5, "livekit.TrackCompositeEgressRequest"
|
133
164
|
optional :track, :message, 6, "livekit.TrackEgressRequest"
|
165
|
+
optional :web, :message, 14, "livekit.WebEgressRequest"
|
134
166
|
end
|
135
167
|
oneof :result do
|
136
168
|
optional :stream, :message, 7, "livekit.StreamInfoList"
|
@@ -143,10 +175,20 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
143
175
|
end
|
144
176
|
add_message "livekit.StreamInfo" do
|
145
177
|
optional :url, :string, 1
|
178
|
+
optional :started_at, :int64, 2
|
179
|
+
optional :ended_at, :int64, 3
|
146
180
|
optional :duration, :int64, 4
|
181
|
+
optional :status, :enum, 5, "livekit.StreamInfo.Status"
|
182
|
+
end
|
183
|
+
add_enum "livekit.StreamInfo.Status" do
|
184
|
+
value :ACTIVE, 0
|
185
|
+
value :FINISHED, 1
|
186
|
+
value :FAILED, 2
|
147
187
|
end
|
148
188
|
add_message "livekit.FileInfo" do
|
149
189
|
optional :filename, :string, 1
|
190
|
+
optional :started_at, :int64, 2
|
191
|
+
optional :ended_at, :int64, 3
|
150
192
|
optional :duration, :int64, 6
|
151
193
|
optional :size, :int64, 4
|
152
194
|
optional :location, :string, 5
|
@@ -157,6 +199,17 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
157
199
|
optional :size, :int64, 3
|
158
200
|
optional :playlist_location, :string, 4
|
159
201
|
optional :segment_count, :int64, 5
|
202
|
+
optional :started_at, :int64, 6
|
203
|
+
optional :ended_at, :int64, 7
|
204
|
+
end
|
205
|
+
add_message "livekit.AutoTrackEgress" do
|
206
|
+
optional :filepath, :string, 1
|
207
|
+
optional :disable_manifest, :bool, 5
|
208
|
+
oneof :output do
|
209
|
+
optional :s3, :message, 2, "livekit.S3Upload"
|
210
|
+
optional :gcp, :message, 3, "livekit.GCPUpload"
|
211
|
+
optional :azure, :message, 4, "livekit.AzureBlobUpload"
|
212
|
+
end
|
160
213
|
end
|
161
214
|
add_enum "livekit.EncodedFileType" do
|
162
215
|
value :DEFAULT_FILETYPE, 0
|
@@ -187,6 +240,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
187
240
|
value :H264_720P_60, 1
|
188
241
|
value :H264_1080P_30, 2
|
189
242
|
value :H264_1080P_60, 3
|
243
|
+
value :PORTRAIT_H264_720P_30, 4
|
244
|
+
value :PORTRAIT_H264_720P_60, 5
|
245
|
+
value :PORTRAIT_H264_1080P_30, 6
|
246
|
+
value :PORTRAIT_H264_1080P_60, 7
|
190
247
|
end
|
191
248
|
add_enum "livekit.EgressStatus" do
|
192
249
|
value :EGRESS_STARTING, 0
|
@@ -195,6 +252,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
195
252
|
value :EGRESS_COMPLETE, 3
|
196
253
|
value :EGRESS_FAILED, 4
|
197
254
|
value :EGRESS_ABORTED, 5
|
255
|
+
value :EGRESS_LIMIT_REACHED, 6
|
198
256
|
end
|
199
257
|
end
|
200
258
|
end
|
@@ -204,12 +262,14 @@ module LiveKit
|
|
204
262
|
RoomCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomCompositeEgressRequest").msgclass
|
205
263
|
TrackCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackCompositeEgressRequest").msgclass
|
206
264
|
TrackEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackEgressRequest").msgclass
|
265
|
+
WebEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.WebEgressRequest").msgclass
|
207
266
|
EncodedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileOutput").msgclass
|
208
267
|
SegmentedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileOutput").msgclass
|
209
268
|
DirectFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DirectFileOutput").msgclass
|
210
269
|
S3Upload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.S3Upload").msgclass
|
211
270
|
GCPUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GCPUpload").msgclass
|
212
271
|
AzureBlobUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AzureBlobUpload").msgclass
|
272
|
+
AliOSSUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AliOSSUpload").msgclass
|
213
273
|
StreamOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamOutput").msgclass
|
214
274
|
EncodingOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptions").msgclass
|
215
275
|
UpdateLayoutRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateLayoutRequest").msgclass
|
@@ -220,8 +280,10 @@ module LiveKit
|
|
220
280
|
EgressInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressInfo").msgclass
|
221
281
|
StreamInfoList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfoList").msgclass
|
222
282
|
StreamInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfo").msgclass
|
283
|
+
StreamInfo::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfo.Status").enummodule
|
223
284
|
FileInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.FileInfo").msgclass
|
224
285
|
SegmentsInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentsInfo").msgclass
|
286
|
+
AutoTrackEgress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AutoTrackEgress").msgclass
|
225
287
|
EncodedFileType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileType").enummodule
|
226
288
|
StreamProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamProtocol").enummodule
|
227
289
|
SegmentedFileProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileProtocol").enummodule
|
@@ -10,6 +10,7 @@ module LiveKit
|
|
10
10
|
rpc :StartRoomCompositeEgress, RoomCompositeEgressRequest, EgressInfo, :ruby_method => :start_room_composite_egress
|
11
11
|
rpc :StartTrackCompositeEgress, TrackCompositeEgressRequest, EgressInfo, :ruby_method => :start_track_composite_egress
|
12
12
|
rpc :StartTrackEgress, TrackEgressRequest, EgressInfo, :ruby_method => :start_track_egress
|
13
|
+
rpc :StartWebEgress, WebEgressRequest, EgressInfo, :ruby_method => :start_web_egress
|
13
14
|
rpc :UpdateLayout, UpdateLayoutRequest, EgressInfo, :ruby_method => :update_layout
|
14
15
|
rpc :UpdateStream, UpdateStreamRequest, EgressInfo, :ruby_method => :update_stream
|
15
16
|
rpc :ListEgress, ListEgressRequest, ListEgressResponse, :ruby_method => :list_egress
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: livekit_ingress.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'livekit_models_pb'
|
7
|
+
|
8
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
9
|
+
add_file("livekit_ingress.proto", :syntax => :proto3) do
|
10
|
+
add_message "livekit.CreateIngressRequest" do
|
11
|
+
optional :input_type, :enum, 1, "livekit.IngressInput"
|
12
|
+
optional :name, :string, 2
|
13
|
+
optional :room_name, :string, 3
|
14
|
+
optional :participant_identity, :string, 4
|
15
|
+
optional :participant_name, :string, 5
|
16
|
+
optional :audio, :message, 6, "livekit.IngressAudioOptions"
|
17
|
+
optional :video, :message, 7, "livekit.IngressVideoOptions"
|
18
|
+
end
|
19
|
+
add_message "livekit.IngressAudioOptions" do
|
20
|
+
optional :name, :string, 1
|
21
|
+
optional :source, :enum, 2, "livekit.TrackSource"
|
22
|
+
optional :mime_type, :string, 3
|
23
|
+
optional :bitrate, :uint32, 4
|
24
|
+
optional :disable_dtx, :bool, 5
|
25
|
+
optional :channels, :uint32, 6
|
26
|
+
end
|
27
|
+
add_message "livekit.IngressVideoOptions" do
|
28
|
+
optional :name, :string, 1
|
29
|
+
optional :source, :enum, 2, "livekit.TrackSource"
|
30
|
+
optional :mime_type, :string, 3
|
31
|
+
repeated :layers, :message, 4, "livekit.VideoLayer"
|
32
|
+
end
|
33
|
+
add_message "livekit.IngressInfo" do
|
34
|
+
optional :ingress_id, :string, 1
|
35
|
+
optional :name, :string, 2
|
36
|
+
optional :stream_key, :string, 3
|
37
|
+
optional :url, :string, 4
|
38
|
+
optional :input_type, :enum, 5, "livekit.IngressInput"
|
39
|
+
optional :audio, :message, 6, "livekit.IngressAudioOptions"
|
40
|
+
optional :video, :message, 7, "livekit.IngressVideoOptions"
|
41
|
+
optional :room_name, :string, 8
|
42
|
+
optional :participant_identity, :string, 9
|
43
|
+
optional :participant_name, :string, 10
|
44
|
+
optional :reusable, :bool, 11
|
45
|
+
optional :state, :message, 12, "livekit.IngressState"
|
46
|
+
end
|
47
|
+
add_message "livekit.IngressState" do
|
48
|
+
optional :status, :enum, 1, "livekit.IngressState.Status"
|
49
|
+
optional :error, :string, 2
|
50
|
+
optional :video, :message, 3, "livekit.InputVideoState"
|
51
|
+
optional :audio, :message, 4, "livekit.InputAudioState"
|
52
|
+
optional :room_id, :string, 5
|
53
|
+
optional :started_at, :int64, 7
|
54
|
+
repeated :tracks, :message, 6, "livekit.TrackInfo"
|
55
|
+
end
|
56
|
+
add_enum "livekit.IngressState.Status" do
|
57
|
+
value :ENDPOINT_INACTIVE, 0
|
58
|
+
value :ENDPOINT_BUFFERING, 1
|
59
|
+
value :ENDPOINT_PUBLISHING, 2
|
60
|
+
value :ENDPOINT_ERROR, 3
|
61
|
+
end
|
62
|
+
add_message "livekit.InputVideoState" do
|
63
|
+
optional :mime_type, :uint32, 1
|
64
|
+
optional :width, :uint32, 3
|
65
|
+
optional :height, :uint32, 4
|
66
|
+
optional :framerate, :uint32, 5
|
67
|
+
end
|
68
|
+
add_message "livekit.InputAudioState" do
|
69
|
+
optional :mime_type, :uint32, 1
|
70
|
+
optional :channels, :uint32, 3
|
71
|
+
optional :sample_rate, :uint32, 4
|
72
|
+
end
|
73
|
+
add_message "livekit.UpdateIngressRequest" do
|
74
|
+
optional :ingress_id, :string, 1
|
75
|
+
optional :name, :string, 2
|
76
|
+
optional :room_name, :string, 3
|
77
|
+
optional :participant_identity, :string, 4
|
78
|
+
optional :participant_name, :string, 5
|
79
|
+
optional :audio, :message, 6, "livekit.IngressAudioOptions"
|
80
|
+
optional :video, :message, 7, "livekit.IngressVideoOptions"
|
81
|
+
end
|
82
|
+
add_message "livekit.ListIngressRequest" do
|
83
|
+
optional :room_name, :string, 1
|
84
|
+
end
|
85
|
+
add_message "livekit.ListIngressResponse" do
|
86
|
+
repeated :items, :message, 1, "livekit.IngressInfo"
|
87
|
+
end
|
88
|
+
add_message "livekit.DeleteIngressRequest" do
|
89
|
+
optional :ingress_id, :string, 1
|
90
|
+
end
|
91
|
+
add_enum "livekit.IngressInput" do
|
92
|
+
value :RTMP_INPUT, 0
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
module LiveKit
|
98
|
+
module Proto
|
99
|
+
CreateIngressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.CreateIngressRequest").msgclass
|
100
|
+
IngressAudioOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressAudioOptions").msgclass
|
101
|
+
IngressVideoOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressVideoOptions").msgclass
|
102
|
+
IngressInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressInfo").msgclass
|
103
|
+
IngressState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressState").msgclass
|
104
|
+
IngressState::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressState.Status").enummodule
|
105
|
+
InputVideoState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.InputVideoState").msgclass
|
106
|
+
InputAudioState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.InputAudioState").msgclass
|
107
|
+
UpdateIngressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateIngressRequest").msgclass
|
108
|
+
ListIngressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListIngressRequest").msgclass
|
109
|
+
ListIngressResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListIngressResponse").msgclass
|
110
|
+
DeleteIngressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DeleteIngressRequest").msgclass
|
111
|
+
IngressInput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.IngressInput").enummodule
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Code generated by protoc-gen-twirp_ruby 1.9.0, DO NOT EDIT.
|
2
|
+
require 'twirp'
|
3
|
+
require_relative 'livekit_ingress_pb.rb'
|
4
|
+
|
5
|
+
module LiveKit
|
6
|
+
module Proto
|
7
|
+
class IngressService < Twirp::Service
|
8
|
+
package 'livekit'
|
9
|
+
service 'Ingress'
|
10
|
+
rpc :CreateIngress, CreateIngressRequest, IngressInfo, :ruby_method => :create_ingress
|
11
|
+
rpc :UpdateIngress, UpdateIngressRequest, IngressInfo, :ruby_method => :update_ingress
|
12
|
+
rpc :ListIngress, ListIngressRequest, ListIngressResponse, :ruby_method => :list_ingress
|
13
|
+
rpc :DeleteIngress, DeleteIngressRequest, IngressInfo, :ruby_method => :delete_ingress
|
14
|
+
end
|
15
|
+
|
16
|
+
class IngressClient < Twirp::Client
|
17
|
+
client_for IngressService
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -69,6 +69,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
69
69
|
optional :mime_type, :string, 11
|
70
70
|
optional :mid, :string, 12
|
71
71
|
repeated :codecs, :message, 13, "livekit.SimulcastCodecInfo"
|
72
|
+
optional :stereo, :bool, 14
|
73
|
+
optional :disable_red, :bool, 15
|
72
74
|
end
|
73
75
|
add_message "livekit.VideoLayer" do
|
74
76
|
optional :quality, :enum, 1, "livekit.VideoQuality"
|
@@ -105,6 +107,18 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
105
107
|
optional :participant_sid, :string, 1
|
106
108
|
repeated :track_sids, :string, 2
|
107
109
|
end
|
110
|
+
add_message "livekit.ServerInfo" do
|
111
|
+
optional :edition, :enum, 1, "livekit.ServerInfo.Edition"
|
112
|
+
optional :version, :string, 2
|
113
|
+
optional :protocol, :int32, 3
|
114
|
+
optional :region, :string, 4
|
115
|
+
optional :node_id, :string, 5
|
116
|
+
optional :debug_info, :string, 6
|
117
|
+
end
|
118
|
+
add_enum "livekit.ServerInfo.Edition" do
|
119
|
+
value :Standard, 0
|
120
|
+
value :Cloud, 1
|
121
|
+
end
|
108
122
|
add_message "livekit.ClientInfo" do
|
109
123
|
optional :sdk, :enum, 1, "livekit.ClientInfo.SDK"
|
110
124
|
optional :version, :string, 2
|
@@ -115,6 +129,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
115
129
|
optional :browser, :string, 7
|
116
130
|
optional :browser_version, :string, 8
|
117
131
|
optional :address, :string, 9
|
132
|
+
optional :network, :string, 10
|
118
133
|
end
|
119
134
|
add_enum "livekit.ClientInfo.SDK" do
|
120
135
|
value :UNKNOWN, 0
|
@@ -130,6 +145,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
130
145
|
optional :screen, :message, 2, "livekit.VideoConfiguration"
|
131
146
|
optional :resume_connection, :enum, 3, "livekit.ClientConfigSetting"
|
132
147
|
optional :disabled_codecs, :message, 4, "livekit.DisabledCodecs"
|
148
|
+
optional :force_relay, :enum, 5, "livekit.ClientConfigSetting"
|
133
149
|
end
|
134
150
|
add_message "livekit.VideoConfiguration" do
|
135
151
|
optional :hardware_encoder, :enum, 1, "livekit.ClientConfigSetting"
|
@@ -144,6 +160,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
144
160
|
optional :packets, :uint32, 4
|
145
161
|
optional :packet_rate, :double, 5
|
146
162
|
optional :bytes, :uint64, 6
|
163
|
+
optional :header_bytes, :uint64, 39
|
147
164
|
optional :bitrate, :double, 7
|
148
165
|
optional :packets_lost, :uint32, 8
|
149
166
|
optional :packet_loss_rate, :double, 9
|
@@ -151,10 +168,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
151
168
|
optional :packets_duplicate, :uint32, 11
|
152
169
|
optional :packet_duplicate_rate, :double, 12
|
153
170
|
optional :bytes_duplicate, :uint64, 13
|
171
|
+
optional :header_bytes_duplicate, :uint64, 40
|
154
172
|
optional :bitrate_duplicate, :double, 14
|
155
173
|
optional :packets_padding, :uint32, 15
|
156
174
|
optional :packet_padding_rate, :double, 16
|
157
175
|
optional :bytes_padding, :uint64, 17
|
176
|
+
optional :header_bytes_padding, :uint64, 41
|
158
177
|
optional :bitrate_padding, :double, 18
|
159
178
|
optional :packets_out_of_order, :uint32, 19
|
160
179
|
optional :frames, :uint32, 20
|
@@ -177,6 +196,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
177
196
|
optional :layer_lock_plis, :uint32, 35
|
178
197
|
optional :last_layer_lock_pli, :message, 36, "google.protobuf.Timestamp"
|
179
198
|
end
|
199
|
+
add_message "livekit.TimedVersion" do
|
200
|
+
optional :unix_micro, :int64, 1
|
201
|
+
optional :ticks, :int32, 2
|
202
|
+
end
|
180
203
|
add_enum "livekit.TrackType" do
|
181
204
|
value :AUDIO, 0
|
182
205
|
value :VIDEO, 1
|
@@ -205,6 +228,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
205
228
|
value :DISABLED, 1
|
206
229
|
value :ENABLED, 2
|
207
230
|
end
|
231
|
+
add_enum "livekit.DisconnectReason" do
|
232
|
+
value :UNKNOWN_REASON, 0
|
233
|
+
value :CLIENT_INITIATED, 1
|
234
|
+
value :DUPLICATE_IDENTITY, 2
|
235
|
+
value :SERVER_SHUTDOWN, 3
|
236
|
+
value :PARTICIPANT_REMOVED, 4
|
237
|
+
value :ROOM_DELETED, 5
|
238
|
+
value :STATE_MISMATCH, 6
|
239
|
+
value :JOIN_FAILURE, 7
|
240
|
+
end
|
208
241
|
end
|
209
242
|
end
|
210
243
|
|
@@ -224,16 +257,20 @@ module LiveKit
|
|
224
257
|
SpeakerInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SpeakerInfo").msgclass
|
225
258
|
UserPacket = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UserPacket").msgclass
|
226
259
|
ParticipantTracks = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantTracks").msgclass
|
260
|
+
ServerInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ServerInfo").msgclass
|
261
|
+
ServerInfo::Edition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ServerInfo.Edition").enummodule
|
227
262
|
ClientInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientInfo").msgclass
|
228
263
|
ClientInfo::SDK = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientInfo.SDK").enummodule
|
229
264
|
ClientConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfiguration").msgclass
|
230
265
|
VideoConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoConfiguration").msgclass
|
231
266
|
DisabledCodecs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DisabledCodecs").msgclass
|
232
267
|
RTPStats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPStats").msgclass
|
268
|
+
TimedVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TimedVersion").msgclass
|
233
269
|
TrackType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackType").enummodule
|
234
270
|
TrackSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackSource").enummodule
|
235
271
|
VideoQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoQuality").enummodule
|
236
272
|
ConnectionQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ConnectionQuality").enummodule
|
237
273
|
ClientConfigSetting = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfigSetting").enummodule
|
274
|
+
DisconnectReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DisconnectReason").enummodule
|
238
275
|
end
|
239
276
|
end
|
@@ -4,6 +4,7 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
require 'livekit_models_pb'
|
7
|
+
require 'livekit_egress_pb'
|
7
8
|
|
8
9
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
9
10
|
add_file("livekit_room.proto", :syntax => :proto3) do
|
@@ -13,6 +14,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
13
14
|
optional :max_participants, :uint32, 3
|
14
15
|
optional :node_id, :string, 4
|
15
16
|
optional :metadata, :string, 5
|
17
|
+
optional :egress, :message, 6, "livekit.RoomEgress"
|
18
|
+
end
|
19
|
+
add_message "livekit.RoomEgress" do
|
20
|
+
optional :room, :message, 1, "livekit.RoomCompositeEgressRequest"
|
21
|
+
optional :tracks, :message, 2, "livekit.AutoTrackEgress"
|
16
22
|
end
|
17
23
|
add_message "livekit.ListRoomsRequest" do
|
18
24
|
repeated :names, :string, 1
|
@@ -51,6 +57,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
51
57
|
optional :identity, :string, 2
|
52
58
|
optional :metadata, :string, 3
|
53
59
|
optional :permission, :message, 4, "livekit.ParticipantPermission"
|
60
|
+
optional :name, :string, 5
|
54
61
|
end
|
55
62
|
add_message "livekit.UpdateSubscriptionsRequest" do
|
56
63
|
optional :room, :string, 1
|
@@ -79,6 +86,7 @@ end
|
|
79
86
|
module LiveKit
|
80
87
|
module Proto
|
81
88
|
CreateRoomRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.CreateRoomRequest").msgclass
|
89
|
+
RoomEgress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomEgress").msgclass
|
82
90
|
ListRoomsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListRoomsRequest").msgclass
|
83
91
|
ListRoomsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListRoomsResponse").msgclass
|
84
92
|
DeleteRoomRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DeleteRoomRequest").msgclass
|
@@ -5,7 +5,7 @@ require 'google/protobuf'
|
|
5
5
|
|
6
6
|
require 'livekit_models_pb'
|
7
7
|
require 'livekit_egress_pb'
|
8
|
-
require '
|
8
|
+
require 'livekit_ingress_pb'
|
9
9
|
|
10
10
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
11
11
|
add_file("livekit_webhook.proto", :syntax => :proto3) do
|
@@ -13,8 +13,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
13
13
|
optional :event, :string, 1
|
14
14
|
optional :room, :message, 2, "livekit.Room"
|
15
15
|
optional :participant, :message, 3, "livekit.ParticipantInfo"
|
16
|
-
optional :recording_info, :message, 5, "livekit.RecordingInfo"
|
17
16
|
optional :egress_info, :message, 9, "livekit.EgressInfo"
|
17
|
+
optional :ingress_info, :message, 10, "livekit.IngressInfo"
|
18
18
|
optional :track, :message, 8, "livekit.TrackInfo"
|
19
19
|
optional :id, :string, 6
|
20
20
|
optional :created_at, :int64, 7
|
@@ -13,10 +13,15 @@ module LiveKit
|
|
13
13
|
@api_secret = api_secret
|
14
14
|
end
|
15
15
|
|
16
|
-
def create_room(name, empty_timeout: nil, max_participants: nil)
|
16
|
+
def create_room(name, empty_timeout: nil, max_participants: nil, egress: nil)
|
17
17
|
self.rpc(
|
18
18
|
:CreateRoom,
|
19
|
-
Proto::CreateRoomRequest.new(
|
19
|
+
Proto::CreateRoomRequest.new(
|
20
|
+
name: name,
|
21
|
+
empty_timeout: empty_timeout,
|
22
|
+
max_participants: max_participants,
|
23
|
+
egress: egress,
|
24
|
+
),
|
20
25
|
headers: auth_header(roomCreate: true),
|
21
26
|
)
|
22
27
|
end
|
@@ -82,7 +87,7 @@ module LiveKit
|
|
82
87
|
)
|
83
88
|
end
|
84
89
|
|
85
|
-
def update_participant(room:, identity:, metadata: nil, permission: nil)
|
90
|
+
def update_participant(room:, identity:, metadata: nil, permission: nil, name: nil)
|
86
91
|
req = Proto::UpdateParticipantRequest.new(room: room, identity: identity)
|
87
92
|
if metadata
|
88
93
|
req.metadata = metadata
|
@@ -90,6 +95,9 @@ module LiveKit
|
|
90
95
|
if permission
|
91
96
|
req.permission = permission
|
92
97
|
end
|
98
|
+
if name
|
99
|
+
req.name = name
|
100
|
+
end
|
93
101
|
self.rpc(
|
94
102
|
:UpdateParticipant,
|
95
103
|
req,
|
data/lib/livekit/version.rb
CHANGED
data/lib/livekit.rb
CHANGED
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.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Omri Gabay
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-11-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-protobuf
|
@@ -98,8 +98,11 @@ files:
|
|
98
98
|
- lib/livekit/egress_service_client.rb
|
99
99
|
- lib/livekit/egress_types.rb
|
100
100
|
- lib/livekit/grants.rb
|
101
|
+
- lib/livekit/ingress_service_client.rb
|
101
102
|
- lib/livekit/proto/livekit_egress_pb.rb
|
102
103
|
- lib/livekit/proto/livekit_egress_twirp.rb
|
104
|
+
- lib/livekit/proto/livekit_ingress_pb.rb
|
105
|
+
- lib/livekit/proto/livekit_ingress_twirp.rb
|
103
106
|
- lib/livekit/proto/livekit_models_pb.rb
|
104
107
|
- lib/livekit/proto/livekit_models_twirp.rb
|
105
108
|
- lib/livekit/proto/livekit_room_pb.rb
|
@@ -130,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
133
|
- !ruby/object:Gem::Version
|
131
134
|
version: '0'
|
132
135
|
requirements: []
|
133
|
-
rubygems_version: 3.3.
|
136
|
+
rubygems_version: 3.3.7
|
134
137
|
signing_key:
|
135
138
|
specification_version: 4
|
136
139
|
summary: LiveKit Server SDK for Ruby
|