livekit-server-sdk 0.2.1 → 0.3.1

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,233 @@
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
+ optional :segments, :message, 10, "livekit.SegmentedFileOutput"
18
+ end
19
+ oneof :options do
20
+ optional :preset, :enum, 8, "livekit.EncodingOptionsPreset"
21
+ optional :advanced, :message, 9, "livekit.EncodingOptions"
22
+ end
23
+ end
24
+ add_message "livekit.TrackCompositeEgressRequest" do
25
+ optional :room_name, :string, 1
26
+ optional :audio_track_id, :string, 2
27
+ optional :video_track_id, :string, 3
28
+ oneof :output do
29
+ optional :file, :message, 4, "livekit.EncodedFileOutput"
30
+ optional :stream, :message, 5, "livekit.StreamOutput"
31
+ optional :segments, :message, 8, "livekit.SegmentedFileOutput"
32
+ end
33
+ oneof :options do
34
+ optional :preset, :enum, 6, "livekit.EncodingOptionsPreset"
35
+ optional :advanced, :message, 7, "livekit.EncodingOptions"
36
+ end
37
+ end
38
+ add_message "livekit.TrackEgressRequest" do
39
+ optional :room_name, :string, 1
40
+ optional :track_id, :string, 2
41
+ oneof :output do
42
+ optional :file, :message, 3, "livekit.DirectFileOutput"
43
+ optional :websocket_url, :string, 4
44
+ end
45
+ end
46
+ add_message "livekit.EncodedFileOutput" do
47
+ optional :file_type, :enum, 1, "livekit.EncodedFileType"
48
+ optional :filepath, :string, 2
49
+ oneof :output do
50
+ optional :s3, :message, 3, "livekit.S3Upload"
51
+ optional :gcp, :message, 4, "livekit.GCPUpload"
52
+ optional :azure, :message, 5, "livekit.AzureBlobUpload"
53
+ end
54
+ end
55
+ add_message "livekit.SegmentedFileOutput" do
56
+ optional :protocol, :enum, 1, "livekit.SegmentedFileProtocol"
57
+ optional :filename_prefix, :string, 2
58
+ optional :playlist_name, :string, 3
59
+ optional :segment_duration, :uint32, 4
60
+ oneof :output do
61
+ optional :s3, :message, 5, "livekit.S3Upload"
62
+ optional :gcp, :message, 6, "livekit.GCPUpload"
63
+ optional :azure, :message, 7, "livekit.AzureBlobUpload"
64
+ end
65
+ end
66
+ add_message "livekit.DirectFileOutput" do
67
+ optional :filepath, :string, 1
68
+ oneof :output do
69
+ optional :s3, :message, 2, "livekit.S3Upload"
70
+ optional :gcp, :message, 3, "livekit.GCPUpload"
71
+ optional :azure, :message, 4, "livekit.AzureBlobUpload"
72
+ end
73
+ end
74
+ add_message "livekit.S3Upload" do
75
+ optional :access_key, :string, 1
76
+ optional :secret, :string, 2
77
+ optional :region, :string, 3
78
+ optional :endpoint, :string, 4
79
+ optional :bucket, :string, 5
80
+ end
81
+ add_message "livekit.GCPUpload" do
82
+ optional :credentials, :bytes, 1
83
+ optional :bucket, :string, 2
84
+ end
85
+ add_message "livekit.AzureBlobUpload" do
86
+ optional :account_name, :string, 1
87
+ optional :account_key, :string, 2
88
+ optional :container_name, :string, 3
89
+ end
90
+ add_message "livekit.StreamOutput" do
91
+ optional :protocol, :enum, 1, "livekit.StreamProtocol"
92
+ repeated :urls, :string, 2
93
+ end
94
+ add_message "livekit.EncodingOptions" do
95
+ optional :width, :int32, 1
96
+ optional :height, :int32, 2
97
+ optional :depth, :int32, 3
98
+ optional :framerate, :int32, 4
99
+ optional :audio_codec, :enum, 5, "livekit.AudioCodec"
100
+ optional :audio_bitrate, :int32, 6
101
+ optional :audio_frequency, :int32, 7
102
+ optional :video_codec, :enum, 8, "livekit.VideoCodec"
103
+ optional :video_bitrate, :int32, 9
104
+ end
105
+ add_message "livekit.UpdateLayoutRequest" do
106
+ optional :egress_id, :string, 1
107
+ optional :layout, :string, 2
108
+ end
109
+ add_message "livekit.UpdateStreamRequest" do
110
+ optional :egress_id, :string, 1
111
+ repeated :add_output_urls, :string, 2
112
+ repeated :remove_output_urls, :string, 3
113
+ end
114
+ add_message "livekit.ListEgressRequest" do
115
+ optional :room_name, :string, 1
116
+ end
117
+ add_message "livekit.ListEgressResponse" do
118
+ repeated :items, :message, 1, "livekit.EgressInfo"
119
+ end
120
+ add_message "livekit.StopEgressRequest" do
121
+ optional :egress_id, :string, 1
122
+ end
123
+ add_message "livekit.EgressInfo" do
124
+ optional :egress_id, :string, 1
125
+ optional :room_id, :string, 2
126
+ optional :status, :enum, 3, "livekit.EgressStatus"
127
+ optional :started_at, :int64, 10
128
+ optional :ended_at, :int64, 11
129
+ optional :error, :string, 9
130
+ oneof :request do
131
+ optional :room_composite, :message, 4, "livekit.RoomCompositeEgressRequest"
132
+ optional :track_composite, :message, 5, "livekit.TrackCompositeEgressRequest"
133
+ optional :track, :message, 6, "livekit.TrackEgressRequest"
134
+ end
135
+ oneof :result do
136
+ optional :stream, :message, 7, "livekit.StreamInfoList"
137
+ optional :file, :message, 8, "livekit.FileInfo"
138
+ optional :segments, :message, 12, "livekit.SegmentsInfo"
139
+ end
140
+ end
141
+ add_message "livekit.StreamInfoList" do
142
+ repeated :info, :message, 1, "livekit.StreamInfo"
143
+ end
144
+ add_message "livekit.StreamInfo" do
145
+ optional :url, :string, 1
146
+ optional :duration, :int64, 4
147
+ end
148
+ add_message "livekit.FileInfo" do
149
+ optional :filename, :string, 1
150
+ optional :duration, :int64, 6
151
+ optional :size, :int64, 4
152
+ optional :location, :string, 5
153
+ end
154
+ add_message "livekit.SegmentsInfo" do
155
+ optional :playlist_name, :string, 1
156
+ optional :duration, :int64, 2
157
+ optional :size, :int64, 3
158
+ optional :playlist_location, :string, 4
159
+ optional :segment_count, :int64, 5
160
+ end
161
+ add_enum "livekit.EncodedFileType" do
162
+ value :DEFAULT_FILETYPE, 0
163
+ value :MP4, 1
164
+ value :OGG, 2
165
+ end
166
+ add_enum "livekit.StreamProtocol" do
167
+ value :DEFAULT_PROTOCOL, 0
168
+ value :RTMP, 1
169
+ end
170
+ add_enum "livekit.SegmentedFileProtocol" do
171
+ value :DEFAULT_SEGMENTED_FILE_PROTOCOL, 0
172
+ value :HLS_PROTOCOL, 1
173
+ end
174
+ add_enum "livekit.AudioCodec" do
175
+ value :DEFAULT_AC, 0
176
+ value :OPUS, 1
177
+ value :AAC, 2
178
+ end
179
+ add_enum "livekit.VideoCodec" do
180
+ value :DEFAULT_VC, 0
181
+ value :H264_BASELINE, 1
182
+ value :H264_MAIN, 2
183
+ value :H264_HIGH, 3
184
+ end
185
+ add_enum "livekit.EncodingOptionsPreset" do
186
+ value :H264_720P_30, 0
187
+ value :H264_720P_60, 1
188
+ value :H264_1080P_30, 2
189
+ value :H264_1080P_60, 3
190
+ end
191
+ add_enum "livekit.EgressStatus" do
192
+ value :EGRESS_STARTING, 0
193
+ value :EGRESS_ACTIVE, 1
194
+ value :EGRESS_ENDING, 2
195
+ value :EGRESS_COMPLETE, 3
196
+ value :EGRESS_FAILED, 4
197
+ value :EGRESS_ABORTED, 5
198
+ end
199
+ end
200
+ end
201
+
202
+ module LiveKit
203
+ module Proto
204
+ RoomCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomCompositeEgressRequest").msgclass
205
+ TrackCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackCompositeEgressRequest").msgclass
206
+ TrackEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackEgressRequest").msgclass
207
+ EncodedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileOutput").msgclass
208
+ SegmentedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileOutput").msgclass
209
+ DirectFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DirectFileOutput").msgclass
210
+ S3Upload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.S3Upload").msgclass
211
+ GCPUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GCPUpload").msgclass
212
+ AzureBlobUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AzureBlobUpload").msgclass
213
+ StreamOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamOutput").msgclass
214
+ EncodingOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptions").msgclass
215
+ UpdateLayoutRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateLayoutRequest").msgclass
216
+ UpdateStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateStreamRequest").msgclass
217
+ ListEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressRequest").msgclass
218
+ ListEgressResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressResponse").msgclass
219
+ StopEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StopEgressRequest").msgclass
220
+ EgressInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressInfo").msgclass
221
+ StreamInfoList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfoList").msgclass
222
+ StreamInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfo").msgclass
223
+ FileInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.FileInfo").msgclass
224
+ SegmentsInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentsInfo").msgclass
225
+ EncodedFileType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileType").enummodule
226
+ StreamProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamProtocol").enummodule
227
+ SegmentedFileProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileProtocol").enummodule
228
+ AudioCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AudioCodec").enummodule
229
+ VideoCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoCodec").enummodule
230
+ EncodingOptionsPreset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptionsPreset").enummodule
231
+ EgressStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressStatus").enummodule
232
+ end
233
+ 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,78 @@ 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
+ optional :disabled_codecs, :message, 4, "livekit.DisabledCodecs"
133
+ end
134
+ add_message "livekit.VideoConfiguration" do
135
+ optional :hardware_encoder, :enum, 1, "livekit.ClientConfigSetting"
136
+ end
137
+ add_message "livekit.DisabledCodecs" do
138
+ repeated :codecs, :message, 1, "livekit.Codec"
139
+ end
140
+ add_message "livekit.RTPStats" do
141
+ optional :start_time, :message, 1, "google.protobuf.Timestamp"
142
+ optional :end_time, :message, 2, "google.protobuf.Timestamp"
143
+ optional :duration, :double, 3
144
+ optional :packets, :uint32, 4
145
+ optional :packet_rate, :double, 5
146
+ optional :bytes, :uint64, 6
147
+ optional :bitrate, :double, 7
148
+ optional :packets_lost, :uint32, 8
149
+ optional :packet_loss_rate, :double, 9
150
+ optional :packet_loss_percentage, :float, 10
151
+ optional :packets_duplicate, :uint32, 11
152
+ optional :packet_duplicate_rate, :double, 12
153
+ optional :bytes_duplicate, :uint64, 13
154
+ optional :bitrate_duplicate, :double, 14
155
+ optional :packets_padding, :uint32, 15
156
+ optional :packet_padding_rate, :double, 16
157
+ optional :bytes_padding, :uint64, 17
158
+ optional :bitrate_padding, :double, 18
159
+ optional :packets_out_of_order, :uint32, 19
160
+ optional :frames, :uint32, 20
161
+ optional :frame_rate, :double, 21
162
+ optional :jitter_current, :double, 22
163
+ optional :jitter_max, :double, 23
164
+ map :gap_histogram, :int32, :uint32, 24
165
+ optional :nacks, :uint32, 25
166
+ optional :nack_acks, :uint32, 37
167
+ optional :nack_misses, :uint32, 26
168
+ optional :nack_repeated, :uint32, 38
169
+ optional :plis, :uint32, 27
170
+ optional :last_pli, :message, 28, "google.protobuf.Timestamp"
171
+ optional :firs, :uint32, 29
172
+ optional :last_fir, :message, 30, "google.protobuf.Timestamp"
173
+ optional :rtt_current, :uint32, 31
174
+ optional :rtt_max, :uint32, 32
175
+ optional :key_frames, :uint32, 33
176
+ optional :last_key_frame, :message, 34, "google.protobuf.Timestamp"
177
+ optional :layer_lock_plis, :uint32, 35
178
+ optional :last_layer_lock_pli, :message, 36, "google.protobuf.Timestamp"
179
+ end
88
180
  add_enum "livekit.TrackType" do
89
181
  value :AUDIO, 0
90
182
  value :VIDEO, 1
@@ -108,6 +200,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
108
200
  value :GOOD, 1
109
201
  value :EXCELLENT, 2
110
202
  end
203
+ add_enum "livekit.ClientConfigSetting" do
204
+ value :UNSET, 0
205
+ value :DISABLED, 1
206
+ value :ENABLED, 2
207
+ end
111
208
  end
112
209
  end
113
210
 
@@ -115,8 +212,10 @@ module LiveKit
115
212
  module Proto
116
213
  Room = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Room").msgclass
117
214
  Codec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Codec").msgclass
215
+ ParticipantPermission = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantPermission").msgclass
118
216
  ParticipantInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo").msgclass
119
217
  ParticipantInfo::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo.State").enummodule
218
+ SimulcastCodecInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SimulcastCodecInfo").msgclass
120
219
  TrackInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackInfo").msgclass
121
220
  VideoLayer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoLayer").msgclass
122
221
  DataPacket = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataPacket").msgclass
@@ -125,9 +224,16 @@ module LiveKit
125
224
  SpeakerInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SpeakerInfo").msgclass
126
225
  UserPacket = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UserPacket").msgclass
127
226
  ParticipantTracks = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantTracks").msgclass
227
+ ClientInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientInfo").msgclass
228
+ ClientInfo::SDK = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientInfo.SDK").enummodule
229
+ ClientConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfiguration").msgclass
230
+ VideoConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoConfiguration").msgclass
231
+ DisabledCodecs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DisabledCodecs").msgclass
232
+ RTPStats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPStats").msgclass
128
233
  TrackType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackType").enummodule
129
234
  TrackSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackSource").enummodule
130
235
  VideoQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoQuality").enummodule
131
236
  ConnectionQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ConnectionQuality").enummodule
237
+ ClientConfigSetting = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfigSetting").enummodule
132
238
  end
133
239
  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.1"
4
+ VERSION = "0.3.1"
5
5
  end
data/lib/livekit.rb CHANGED
@@ -9,3 +9,4 @@ require "livekit/version"
9
9
  # required since generated protobufs does use `require` instead of `require_relative`
10
10
  $LOAD_PATH.unshift(File.expand_path("livekit/proto", __dir__))
11
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 "google-protobuf", "~> 3.19.2"
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,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: livekit-server-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.1
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-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-protobuf
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 3.19.2
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.19.2
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.