livekit-server-sdk 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,203 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: livekit_egress.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_file("livekit_egress.proto", :syntax => :proto3) do
8
+ add_message "livekit.RoomCompositeEgressRequest" do
9
+ optional :room_name, :string, 1
10
+ optional :layout, :string, 2
11
+ optional :audio_only, :bool, 3
12
+ optional :video_only, :bool, 4
13
+ optional :custom_base_url, :string, 5
14
+ oneof :output do
15
+ optional :file, :message, 6, "livekit.EncodedFileOutput"
16
+ optional :stream, :message, 7, "livekit.StreamOutput"
17
+ end
18
+ oneof :options do
19
+ optional :preset, :enum, 8, "livekit.EncodingOptionsPreset"
20
+ optional :advanced, :message, 9, "livekit.EncodingOptions"
21
+ end
22
+ end
23
+ add_message "livekit.TrackCompositeEgressRequest" do
24
+ optional :room_name, :string, 1
25
+ optional :audio_track_id, :string, 2
26
+ optional :video_track_id, :string, 3
27
+ oneof :output do
28
+ optional :file, :message, 4, "livekit.EncodedFileOutput"
29
+ optional :stream, :message, 5, "livekit.StreamOutput"
30
+ end
31
+ oneof :options do
32
+ optional :preset, :enum, 6, "livekit.EncodingOptionsPreset"
33
+ optional :advanced, :message, 7, "livekit.EncodingOptions"
34
+ end
35
+ end
36
+ add_message "livekit.TrackEgressRequest" do
37
+ optional :room_name, :string, 1
38
+ optional :track_id, :string, 2
39
+ oneof :output do
40
+ optional :file, :message, 3, "livekit.DirectFileOutput"
41
+ optional :websocket_url, :string, 4
42
+ end
43
+ end
44
+ add_message "livekit.EncodedFileOutput" do
45
+ optional :file_type, :enum, 1, "livekit.EncodedFileType"
46
+ optional :filepath, :string, 2
47
+ oneof :output do
48
+ optional :s3, :message, 3, "livekit.S3Upload"
49
+ optional :gcp, :message, 4, "livekit.GCPUpload"
50
+ optional :azure, :message, 5, "livekit.AzureBlobUpload"
51
+ end
52
+ end
53
+ add_message "livekit.DirectFileOutput" do
54
+ optional :filepath, :string, 1
55
+ oneof :output do
56
+ optional :s3, :message, 2, "livekit.S3Upload"
57
+ optional :gcp, :message, 3, "livekit.GCPUpload"
58
+ optional :azure, :message, 4, "livekit.AzureBlobUpload"
59
+ end
60
+ end
61
+ add_message "livekit.S3Upload" do
62
+ optional :access_key, :string, 1
63
+ optional :secret, :string, 2
64
+ optional :region, :string, 3
65
+ optional :endpoint, :string, 4
66
+ optional :bucket, :string, 5
67
+ end
68
+ add_message "livekit.GCPUpload" do
69
+ optional :credentials, :bytes, 1
70
+ optional :bucket, :string, 2
71
+ end
72
+ add_message "livekit.AzureBlobUpload" do
73
+ optional :account_name, :string, 1
74
+ optional :account_key, :string, 2
75
+ optional :container_name, :string, 3
76
+ end
77
+ add_message "livekit.StreamOutput" do
78
+ optional :protocol, :enum, 1, "livekit.StreamProtocol"
79
+ repeated :urls, :string, 2
80
+ end
81
+ add_message "livekit.EncodingOptions" do
82
+ optional :width, :int32, 1
83
+ optional :height, :int32, 2
84
+ optional :depth, :int32, 3
85
+ optional :framerate, :int32, 4
86
+ optional :audio_codec, :enum, 5, "livekit.AudioCodec"
87
+ optional :audio_bitrate, :int32, 6
88
+ optional :audio_frequency, :int32, 7
89
+ optional :video_codec, :enum, 8, "livekit.VideoCodec"
90
+ optional :video_bitrate, :int32, 9
91
+ end
92
+ add_message "livekit.UpdateLayoutRequest" do
93
+ optional :egress_id, :string, 1
94
+ optional :layout, :string, 2
95
+ end
96
+ add_message "livekit.UpdateStreamRequest" do
97
+ optional :egress_id, :string, 1
98
+ repeated :add_output_urls, :string, 2
99
+ repeated :remove_output_urls, :string, 3
100
+ end
101
+ add_message "livekit.ListEgressRequest" do
102
+ optional :room_name, :string, 1
103
+ end
104
+ add_message "livekit.ListEgressResponse" do
105
+ repeated :items, :message, 1, "livekit.EgressInfo"
106
+ end
107
+ add_message "livekit.StopEgressRequest" do
108
+ optional :egress_id, :string, 1
109
+ end
110
+ add_message "livekit.EgressInfo" do
111
+ optional :egress_id, :string, 1
112
+ optional :room_id, :string, 2
113
+ optional :status, :enum, 3, "livekit.EgressStatus"
114
+ optional :started_at, :int64, 10
115
+ optional :ended_at, :int64, 11
116
+ optional :error, :string, 9
117
+ oneof :request do
118
+ optional :room_composite, :message, 4, "livekit.RoomCompositeEgressRequest"
119
+ optional :track_composite, :message, 5, "livekit.TrackCompositeEgressRequest"
120
+ optional :track, :message, 6, "livekit.TrackEgressRequest"
121
+ end
122
+ oneof :result do
123
+ optional :stream, :message, 7, "livekit.StreamInfoList"
124
+ optional :file, :message, 8, "livekit.FileInfo"
125
+ end
126
+ end
127
+ add_message "livekit.StreamInfoList" do
128
+ repeated :info, :message, 1, "livekit.StreamInfo"
129
+ end
130
+ add_message "livekit.StreamInfo" do
131
+ optional :url, :string, 1
132
+ optional :duration, :int64, 4
133
+ end
134
+ add_message "livekit.FileInfo" do
135
+ optional :filename, :string, 1
136
+ optional :duration, :int64, 6
137
+ optional :size, :int64, 4
138
+ optional :location, :string, 5
139
+ end
140
+ add_enum "livekit.EncodedFileType" do
141
+ value :DEFAULT_FILETYPE, 0
142
+ value :MP4, 1
143
+ value :OGG, 2
144
+ end
145
+ add_enum "livekit.StreamProtocol" do
146
+ value :DEFAULT_PROTOCOL, 0
147
+ value :RTMP, 1
148
+ end
149
+ add_enum "livekit.AudioCodec" do
150
+ value :DEFAULT_AC, 0
151
+ value :OPUS, 1
152
+ value :AAC, 2
153
+ end
154
+ add_enum "livekit.VideoCodec" do
155
+ value :DEFAULT_VC, 0
156
+ value :H264_BASELINE, 1
157
+ value :H264_MAIN, 2
158
+ value :H264_HIGH, 3
159
+ end
160
+ add_enum "livekit.EncodingOptionsPreset" do
161
+ value :H264_720P_30, 0
162
+ value :H264_720P_60, 1
163
+ value :H264_1080P_30, 2
164
+ value :H264_1080P_60, 3
165
+ end
166
+ add_enum "livekit.EgressStatus" do
167
+ value :EGRESS_STARTING, 0
168
+ value :EGRESS_ACTIVE, 1
169
+ value :EGRESS_ENDING, 2
170
+ value :EGRESS_COMPLETE, 3
171
+ end
172
+ end
173
+ end
174
+
175
+ module LiveKit
176
+ module Proto
177
+ RoomCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomCompositeEgressRequest").msgclass
178
+ TrackCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackCompositeEgressRequest").msgclass
179
+ TrackEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackEgressRequest").msgclass
180
+ EncodedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileOutput").msgclass
181
+ DirectFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DirectFileOutput").msgclass
182
+ S3Upload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.S3Upload").msgclass
183
+ GCPUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GCPUpload").msgclass
184
+ AzureBlobUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AzureBlobUpload").msgclass
185
+ StreamOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamOutput").msgclass
186
+ EncodingOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptions").msgclass
187
+ UpdateLayoutRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateLayoutRequest").msgclass
188
+ UpdateStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateStreamRequest").msgclass
189
+ ListEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressRequest").msgclass
190
+ ListEgressResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressResponse").msgclass
191
+ StopEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StopEgressRequest").msgclass
192
+ EgressInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressInfo").msgclass
193
+ StreamInfoList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfoList").msgclass
194
+ StreamInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfo").msgclass
195
+ FileInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.FileInfo").msgclass
196
+ EncodedFileType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileType").enummodule
197
+ StreamProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamProtocol").enummodule
198
+ AudioCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AudioCodec").enummodule
199
+ VideoCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoCodec").enummodule
200
+ EncodingOptionsPreset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptionsPreset").enummodule
201
+ EgressStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressStatus").enummodule
202
+ end
203
+ end
@@ -0,0 +1,23 @@
1
+ # Code generated by protoc-gen-twirp_ruby 1.9.0, DO NOT EDIT.
2
+ require 'twirp'
3
+ require_relative 'livekit_egress_pb.rb'
4
+
5
+ module LiveKit
6
+ module Proto
7
+ class EgressService < Twirp::Service
8
+ package 'livekit'
9
+ service 'Egress'
10
+ rpc :StartRoomCompositeEgress, RoomCompositeEgressRequest, EgressInfo, :ruby_method => :start_room_composite_egress
11
+ rpc :StartTrackCompositeEgress, TrackCompositeEgressRequest, EgressInfo, :ruby_method => :start_track_composite_egress
12
+ rpc :StartTrackEgress, TrackEgressRequest, EgressInfo, :ruby_method => :start_track_egress
13
+ rpc :UpdateLayout, UpdateLayoutRequest, EgressInfo, :ruby_method => :update_layout
14
+ rpc :UpdateStream, UpdateStreamRequest, EgressInfo, :ruby_method => :update_stream
15
+ rpc :ListEgress, ListEgressRequest, ListEgressResponse, :ruby_method => :list_egress
16
+ rpc :StopEgress, StopEgressRequest, EgressInfo, :ruby_method => :stop_egress
17
+ end
18
+
19
+ class EgressClient < Twirp::Client
20
+ client_for EgressService
21
+ end
22
+ end
23
+ end
@@ -3,6 +3,8 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
+ require 'google/protobuf/timestamp_pb'
7
+
6
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
9
  add_file("livekit_models.proto", :syntax => :proto3) do
8
10
  add_message "livekit.Room" do
@@ -21,6 +23,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
21
23
  optional :mime, :string, 1
22
24
  optional :fmtp_line, :string, 2
23
25
  end
26
+ add_message "livekit.ParticipantPermission" do
27
+ optional :can_subscribe, :bool, 1
28
+ optional :can_publish, :bool, 2
29
+ optional :can_publish_data, :bool, 3
30
+ optional :hidden, :bool, 7
31
+ optional :recorder, :bool, 8
32
+ end
24
33
  add_message "livekit.ParticipantInfo" do
25
34
  optional :sid, :string, 1
26
35
  optional :identity, :string, 2
@@ -28,9 +37,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
28
37
  repeated :tracks, :message, 4, "livekit.TrackInfo"
29
38
  optional :metadata, :string, 5
30
39
  optional :joined_at, :int64, 6
31
- optional :hidden, :bool, 7
32
- optional :recorder, :bool, 8
33
40
  optional :name, :string, 9
41
+ optional :version, :uint32, 10
42
+ optional :permission, :message, 11, "livekit.ParticipantPermission"
43
+ optional :region, :string, 12
44
+ optional :is_publisher, :bool, 13
34
45
  end
35
46
  add_enum "livekit.ParticipantInfo.State" do
36
47
  value :JOINING, 0
@@ -38,6 +49,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
38
49
  value :ACTIVE, 2
39
50
  value :DISCONNECTED, 3
40
51
  end
52
+ add_message "livekit.SimulcastCodecInfo" do
53
+ optional :mime_type, :string, 1
54
+ optional :mid, :string, 2
55
+ optional :cid, :string, 3
56
+ repeated :layers, :message, 4, "livekit.VideoLayer"
57
+ end
41
58
  add_message "livekit.TrackInfo" do
42
59
  optional :sid, :string, 1
43
60
  optional :type, :enum, 2, "livekit.TrackType"
@@ -50,12 +67,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
50
67
  optional :source, :enum, 9, "livekit.TrackSource"
51
68
  repeated :layers, :message, 10, "livekit.VideoLayer"
52
69
  optional :mime_type, :string, 11
70
+ optional :mid, :string, 12
71
+ repeated :codecs, :message, 13, "livekit.SimulcastCodecInfo"
53
72
  end
54
73
  add_message "livekit.VideoLayer" do
55
74
  optional :quality, :enum, 1, "livekit.VideoQuality"
56
75
  optional :width, :uint32, 2
57
76
  optional :height, :uint32, 3
58
77
  optional :bitrate, :uint32, 4
78
+ optional :ssrc, :uint32, 5
59
79
  end
60
80
  add_message "livekit.DataPacket" do
61
81
  optional :kind, :enum, 1, "livekit.DataPacket.Kind"
@@ -85,6 +105,74 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
85
105
  optional :participant_sid, :string, 1
86
106
  repeated :track_sids, :string, 2
87
107
  end
108
+ add_message "livekit.ClientInfo" do
109
+ optional :sdk, :enum, 1, "livekit.ClientInfo.SDK"
110
+ optional :version, :string, 2
111
+ optional :protocol, :int32, 3
112
+ optional :os, :string, 4
113
+ optional :os_version, :string, 5
114
+ optional :device_model, :string, 6
115
+ optional :browser, :string, 7
116
+ optional :browser_version, :string, 8
117
+ optional :address, :string, 9
118
+ end
119
+ add_enum "livekit.ClientInfo.SDK" do
120
+ value :UNKNOWN, 0
121
+ value :JS, 1
122
+ value :SWIFT, 2
123
+ value :ANDROID, 3
124
+ value :FLUTTER, 4
125
+ value :GO, 5
126
+ value :UNITY, 6
127
+ end
128
+ add_message "livekit.ClientConfiguration" do
129
+ optional :video, :message, 1, "livekit.VideoConfiguration"
130
+ optional :screen, :message, 2, "livekit.VideoConfiguration"
131
+ optional :resume_connection, :enum, 3, "livekit.ClientConfigSetting"
132
+ end
133
+ add_message "livekit.VideoConfiguration" do
134
+ optional :hardware_encoder, :enum, 1, "livekit.ClientConfigSetting"
135
+ end
136
+ add_message "livekit.RTPStats" do
137
+ optional :start_time, :message, 1, "google.protobuf.Timestamp"
138
+ optional :end_time, :message, 2, "google.protobuf.Timestamp"
139
+ optional :duration, :double, 3
140
+ optional :packets, :uint32, 4
141
+ optional :packet_rate, :double, 5
142
+ optional :bytes, :uint64, 6
143
+ optional :bitrate, :double, 7
144
+ optional :packets_lost, :uint32, 8
145
+ optional :packet_loss_rate, :double, 9
146
+ optional :packet_loss_percentage, :float, 10
147
+ optional :packets_duplicate, :uint32, 11
148
+ optional :packet_duplicate_rate, :double, 12
149
+ optional :bytes_duplicate, :uint64, 13
150
+ optional :bitrate_duplicate, :double, 14
151
+ optional :packets_padding, :uint32, 15
152
+ optional :packet_padding_rate, :double, 16
153
+ optional :bytes_padding, :uint64, 17
154
+ optional :bitrate_padding, :double, 18
155
+ optional :packets_out_of_order, :uint32, 19
156
+ optional :frames, :uint32, 20
157
+ optional :frame_rate, :double, 21
158
+ optional :jitter_current, :double, 22
159
+ optional :jitter_max, :double, 23
160
+ map :gap_histogram, :int32, :uint32, 24
161
+ optional :nacks, :uint32, 25
162
+ optional :nack_acks, :uint32, 37
163
+ optional :nack_misses, :uint32, 26
164
+ optional :nack_repeated, :uint32, 38
165
+ optional :plis, :uint32, 27
166
+ optional :last_pli, :message, 28, "google.protobuf.Timestamp"
167
+ optional :firs, :uint32, 29
168
+ optional :last_fir, :message, 30, "google.protobuf.Timestamp"
169
+ optional :rtt_current, :uint32, 31
170
+ optional :rtt_max, :uint32, 32
171
+ optional :key_frames, :uint32, 33
172
+ optional :last_key_frame, :message, 34, "google.protobuf.Timestamp"
173
+ optional :layer_lock_plis, :uint32, 35
174
+ optional :last_layer_lock_pli, :message, 36, "google.protobuf.Timestamp"
175
+ end
88
176
  add_enum "livekit.TrackType" do
89
177
  value :AUDIO, 0
90
178
  value :VIDEO, 1
@@ -108,6 +196,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
108
196
  value :GOOD, 1
109
197
  value :EXCELLENT, 2
110
198
  end
199
+ add_enum "livekit.ClientConfigSetting" do
200
+ value :UNSET, 0
201
+ value :DISABLED, 1
202
+ value :ENABLED, 2
203
+ end
111
204
  end
112
205
  end
113
206
 
@@ -115,8 +208,10 @@ module LiveKit
115
208
  module Proto
116
209
  Room = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Room").msgclass
117
210
  Codec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Codec").msgclass
211
+ ParticipantPermission = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantPermission").msgclass
118
212
  ParticipantInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo").msgclass
119
213
  ParticipantInfo::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo.State").enummodule
214
+ SimulcastCodecInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SimulcastCodecInfo").msgclass
120
215
  TrackInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackInfo").msgclass
121
216
  VideoLayer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoLayer").msgclass
122
217
  DataPacket = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataPacket").msgclass
@@ -125,9 +220,15 @@ module LiveKit
125
220
  SpeakerInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SpeakerInfo").msgclass
126
221
  UserPacket = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UserPacket").msgclass
127
222
  ParticipantTracks = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantTracks").msgclass
223
+ ClientInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientInfo").msgclass
224
+ ClientInfo::SDK = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientInfo.SDK").enummodule
225
+ ClientConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfiguration").msgclass
226
+ VideoConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoConfiguration").msgclass
227
+ RTPStats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPStats").msgclass
128
228
  TrackType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackType").enummodule
129
229
  TrackSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackSource").enummodule
130
230
  VideoQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoQuality").enummodule
131
231
  ConnectionQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ConnectionQuality").enummodule
232
+ ClientConfigSetting = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfigSetting").enummodule
132
233
  end
133
234
  end
@@ -46,11 +46,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
46
46
  add_message "livekit.MuteRoomTrackResponse" do
47
47
  optional :track, :message, 1, "livekit.TrackInfo"
48
48
  end
49
- add_message "livekit.ParticipantPermission" do
50
- optional :can_subscribe, :bool, 1
51
- optional :can_publish, :bool, 2
52
- optional :can_publish_data, :bool, 3
53
- end
54
49
  add_message "livekit.UpdateParticipantRequest" do
55
50
  optional :room, :string, 1
56
51
  optional :identity, :string, 2
@@ -94,7 +89,6 @@ module LiveKit
94
89
  RemoveParticipantResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RemoveParticipantResponse").msgclass
95
90
  MuteRoomTrackRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.MuteRoomTrackRequest").msgclass
96
91
  MuteRoomTrackResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.MuteRoomTrackResponse").msgclass
97
- ParticipantPermission = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantPermission").msgclass
98
92
  UpdateParticipantRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateParticipantRequest").msgclass
99
93
  UpdateSubscriptionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateSubscriptionsRequest").msgclass
100
94
  UpdateSubscriptionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateSubscriptionsResponse").msgclass
@@ -4,6 +4,7 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  require 'livekit_models_pb'
7
+ require 'livekit_egress_pb'
7
8
  require 'livekit_recording_pb'
8
9
 
9
10
  Google::Protobuf::DescriptorPool.generated_pool.build do
@@ -13,6 +14,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
13
14
  optional :room, :message, 2, "livekit.Room"
14
15
  optional :participant, :message, 3, "livekit.ParticipantInfo"
15
16
  optional :recording_info, :message, 5, "livekit.RecordingInfo"
17
+ optional :egress_info, :message, 9, "livekit.EgressInfo"
18
+ optional :track, :message, 8, "livekit.TrackInfo"
16
19
  optional :id, :string, 6
17
20
  optional :created_at, :int64, 7
18
21
  end
@@ -13,16 +13,14 @@ module LiveKit
13
13
  @api_secret = api_secret
14
14
  end
15
15
 
16
- # creates a new room with name
17
16
  def create_room(name, empty_timeout: nil, max_participants: nil)
18
17
  self.rpc(
19
18
  :CreateRoom,
20
- Proto::ListRoomsRequest(name: name, empty_timeout: empty_timeout, max_participants: max_participants),
19
+ Proto::CreateRoomRequest.new(name: name, empty_timeout: empty_timeout, max_participants: max_participants),
21
20
  headers: auth_header(roomCreate: true),
22
21
  )
23
22
  end
24
23
 
25
- # Lists rooms, when names is set, only list matching rooms
26
24
  def list_rooms(names: nil)
27
25
  self.rpc(
28
26
  :ListRooms,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LiveKit
4
- VERSION = '0.2.0'
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/livekit.rb CHANGED
@@ -7,6 +7,6 @@ require "livekit/utils"
7
7
  require "livekit/version"
8
8
 
9
9
  # required since generated protobufs does use `require` instead of `require_relative`
10
- FOLDER = Pathname.new(File.expand_path("lib/livekit/proto"))
11
- $LOAD_PATH.unshift(FOLDER.to_s)
10
+ $LOAD_PATH.unshift(File.expand_path("livekit/proto", __dir__))
12
11
  require "livekit/room_service_client"
12
+ require "livekit/egress_service_client"
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
 
11
11
  spec.summary = "LiveKit Server SDK for Ruby"
12
12
  spec.homepage = "https://livekit.io"
13
- spec.license = "MIT"
13
+ spec.license = "Apache-2.0"
14
14
  spec.required_ruby_version = ">= 2.6.0"
15
15
 
16
16
  # spec.metadata["homepage_uri"] = spec.homepage
@@ -26,7 +26,7 @@ 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 "protobuf", "~> 3.10.5"
29
+ spec.add_dependency "google-protobuf", "~> 3.21.0"
30
30
  spec.add_dependency "jwt", "~> 2.2.3"
31
31
  spec.add_dependency "twirp", "~> 1.9.0"
32
32
 
metadata CHANGED
@@ -1,30 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: livekit-server-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Omri Gabay
8
8
  - David Zhao
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-01-09 00:00:00.000000000 Z
12
+ date: 2022-06-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: protobuf
15
+ name: google-protobuf
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 3.10.5
20
+ version: 3.21.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 3.10.5
27
+ version: 3.21.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: jwt
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +53,7 @@ dependencies:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: 1.9.0
56
- description:
56
+ description:
57
57
  email:
58
58
  - omri@omrigabay.me
59
59
  - dz@livekit.io
@@ -74,7 +74,7 @@ files:
74
74
  - CODE_OF_CONDUCT.md
75
75
  - Gemfile
76
76
  - Gemfile.lock
77
- - LICENSE.txt
77
+ - LICENSE
78
78
  - README.md
79
79
  - Rakefile
80
80
  - bin/bootstrap.sh
@@ -95,11 +95,13 @@ files:
95
95
  - lib/livekit.rb
96
96
  - lib/livekit/access_token.rb
97
97
  - lib/livekit/auth_mixin.rb
98
+ - lib/livekit/egress_service_client.rb
99
+ - lib/livekit/egress_types.rb
98
100
  - lib/livekit/grants.rb
101
+ - lib/livekit/proto/livekit_egress_pb.rb
102
+ - lib/livekit/proto/livekit_egress_twirp.rb
99
103
  - lib/livekit/proto/livekit_models_pb.rb
100
104
  - lib/livekit/proto/livekit_models_twirp.rb
101
- - lib/livekit/proto/livekit_recording_pb.rb
102
- - lib/livekit/proto/livekit_recording_twirp.rb
103
105
  - lib/livekit/proto/livekit_room_pb.rb
104
106
  - lib/livekit/proto/livekit_room_twirp.rb
105
107
  - lib/livekit/proto/livekit_webhook_pb.rb
@@ -111,9 +113,9 @@ files:
111
113
  - livekit_server_sdk.gemspec
112
114
  homepage: https://livekit.io
113
115
  licenses:
114
- - MIT
116
+ - Apache-2.0
115
117
  metadata: {}
116
- post_install_message:
118
+ post_install_message:
117
119
  rdoc_options: []
118
120
  require_paths:
119
121
  - lib
@@ -128,8 +130,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
130
  - !ruby/object:Gem::Version
129
131
  version: '0'
130
132
  requirements: []
131
- rubygems_version: 3.0.3.1
132
- signing_key:
133
+ rubygems_version: 3.3.11
134
+ signing_key:
133
135
  specification_version: 4
134
136
  summary: LiveKit Server SDK for Ruby
135
137
  test_files: []
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2021 Omri Gabay
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.