livekit-server-sdk 0.5.6 → 0.6.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/livekit/egress_service_client.rb +33 -1
- data/lib/livekit/ingress_service_client.rb +7 -1
- data/lib/livekit/proto/livekit_egress_pb.rb +30 -262
- data/lib/livekit/proto/livekit_egress_twirp.rb +4 -2
- data/lib/livekit/proto/livekit_ingress_pb.rb +25 -120
- data/lib/livekit/proto/livekit_ingress_twirp.rb +1 -1
- data/lib/livekit/proto/livekit_models_pb.rb +27 -281
- data/lib/livekit/proto/livekit_models_twirp.rb +1 -1
- data/lib/livekit/proto/livekit_room_pb.rb +26 -75
- data/lib/livekit/proto/livekit_room_twirp.rb +1 -1
- data/lib/livekit/proto/livekit_webhook_pb.rb +27 -12
- data/lib/livekit/proto/livekit_webhook_twirp.rb +1 -1
- data/lib/livekit/room_service_client.rb +18 -2
- data/lib/livekit/version.rb +1 -1
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 51137f678f50ef3652432c99668b6527dfb093dde25c27c8ba4fc04fdc8fdad3
         | 
| 4 | 
            +
              data.tar.gz: 392a2871432328d709db03111b85ca86a02f1bb6ad07838f15a98ccc1949bfd3
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 56df6fa9c838c106d5a1629845c4da83895604f7f47364af042433cbc76604a4fb0a5fdca724601f4075eae82f1fe1cb1dec77edac6e0c928b2239f53aee7ec5
         | 
| 7 | 
            +
              data.tar.gz: 0ef597a3f6bddd58b7ae5daefd502f201b6cdc058791d730c8f94d1e5643d3f8681b74ed0289c7ffbde1e0f875c565ece8e51d7c9e6ad69a8d3c2e3e2e1ebc09
         | 
    
        data/Gemfile.lock
    CHANGED
    
    
| @@ -47,6 +47,33 @@ module LiveKit | |
| 47 47 | 
             
                  )
         | 
| 48 48 | 
             
                end
         | 
| 49 49 |  | 
| 50 | 
            +
                def start_participant_egress(
         | 
| 51 | 
            +
                  room_name,
         | 
| 52 | 
            +
                  identity,
         | 
| 53 | 
            +
                  # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each
         | 
| 54 | 
            +
                  output,
         | 
| 55 | 
            +
                  # true to record the participant's screenshare and screenshare_audio track
         | 
| 56 | 
            +
                  screen_share: false,
         | 
| 57 | 
            +
                  # EncodingOptionsPreset, only one of preset or advanced could be set
         | 
| 58 | 
            +
                  preset: nil,
         | 
| 59 | 
            +
                  # EncodingOptions, only one of preset or advanced could be set
         | 
| 60 | 
            +
                  advanced: nil
         | 
| 61 | 
            +
                )
         | 
| 62 | 
            +
                  request = Proto::ParticipantEgressRequest.new(
         | 
| 63 | 
            +
                    room_name: room_name,
         | 
| 64 | 
            +
                    identity: identity,
         | 
| 65 | 
            +
                    screen_share: screen_share,
         | 
| 66 | 
            +
                    preset: preset,
         | 
| 67 | 
            +
                    advanced: advanced,
         | 
| 68 | 
            +
                  )
         | 
| 69 | 
            +
                  self.set_output(request, output)
         | 
| 70 | 
            +
                  self.rpc(
         | 
| 71 | 
            +
                    :StartParticipantEgress,
         | 
| 72 | 
            +
                    request,
         | 
| 73 | 
            +
                    headers: auth_header(roomRecord: true),
         | 
| 74 | 
            +
                  )
         | 
| 75 | 
            +
                end
         | 
| 76 | 
            +
             | 
| 50 77 | 
             
                def start_track_composite_egress(
         | 
| 51 78 | 
             
                  room_name,
         | 
| 52 79 | 
             
                  # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each
         | 
| @@ -157,11 +184,16 @@ module LiveKit | |
| 157 184 | 
             
                # list all egress or only egress for a room
         | 
| 158 185 | 
             
                def list_egress(
         | 
| 159 186 | 
             
                  room_name: nil,
         | 
| 187 | 
            +
                  egress_id: nil,
         | 
| 160 188 | 
             
                  active: false
         | 
| 161 189 | 
             
                )
         | 
| 162 190 | 
             
                  self.rpc(
         | 
| 163 191 | 
             
                    :ListEgress,
         | 
| 164 | 
            -
                    Proto::ListEgressRequest.new( | 
| 192 | 
            +
                    Proto::ListEgressRequest.new(
         | 
| 193 | 
            +
                      room_name: room_name,
         | 
| 194 | 
            +
                      active: active,
         | 
| 195 | 
            +
                      egress_id: egress_id,
         | 
| 196 | 
            +
                    ),
         | 
| 165 197 | 
             
                    headers: auth_header(roomRecord: true),
         | 
| 166 198 | 
             
                  )
         | 
| 167 199 | 
             
                end
         | 
| @@ -84,9 +84,15 @@ module LiveKit | |
| 84 84 | 
             
                  )
         | 
| 85 85 | 
             
                end
         | 
| 86 86 |  | 
| 87 | 
            -
                def list_ingress( | 
| 87 | 
            +
                def list_ingress(
         | 
| 88 | 
            +
                  # optional, filter by room name
         | 
| 89 | 
            +
                  room_name: nil,
         | 
| 90 | 
            +
                  # optional, list by ingress id
         | 
| 91 | 
            +
                  ingress_id: nil
         | 
| 92 | 
            +
                )
         | 
| 88 93 | 
             
                  request = Proto::ListIngressRequest.new(
         | 
| 89 94 | 
             
                    room_name: room_name,
         | 
| 95 | 
            +
                    ingress_id: ingress_id,
         | 
| 90 96 | 
             
                  )
         | 
| 91 97 | 
             
                  self.rpc(
         | 
| 92 98 | 
             
                    :ListIngress,
         | 
| @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 1 2 | 
             
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 3 | 
             
            # source: livekit_egress.proto
         | 
| 3 4 |  | 
| @@ -5,281 +6,44 @@ require 'google/protobuf' | |
| 5 6 |  | 
| 6 7 | 
             
            require 'livekit_models_pb'
         | 
| 7 8 |  | 
| 8 | 
            -
             | 
| 9 | 
            -
              add_file("livekit_egress.proto", :syntax => :proto3) do
         | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
                add_message "livekit.WebEgressRequest" do
         | 
| 30 | 
            -
                  optional :url, :string, 1
         | 
| 31 | 
            -
                  optional :audio_only, :bool, 2
         | 
| 32 | 
            -
                  optional :video_only, :bool, 3
         | 
| 33 | 
            -
                  optional :await_start_signal, :bool, 12
         | 
| 34 | 
            -
                  repeated :file_outputs, :message, 9, "livekit.EncodedFileOutput"
         | 
| 35 | 
            -
                  repeated :stream_outputs, :message, 10, "livekit.StreamOutput"
         | 
| 36 | 
            -
                  repeated :segment_outputs, :message, 11, "livekit.SegmentedFileOutput"
         | 
| 37 | 
            -
                  oneof :output do
         | 
| 38 | 
            -
                    optional :file, :message, 4, "livekit.EncodedFileOutput"
         | 
| 39 | 
            -
                    optional :stream, :message, 5, "livekit.StreamOutput"
         | 
| 40 | 
            -
                    optional :segments, :message, 6, "livekit.SegmentedFileOutput"
         | 
| 41 | 
            -
                  end
         | 
| 42 | 
            -
                  oneof :options do
         | 
| 43 | 
            -
                    optional :preset, :enum, 7, "livekit.EncodingOptionsPreset"
         | 
| 44 | 
            -
                    optional :advanced, :message, 8, "livekit.EncodingOptions"
         | 
| 45 | 
            -
                  end
         | 
| 46 | 
            -
                end
         | 
| 47 | 
            -
                add_message "livekit.TrackCompositeEgressRequest" do
         | 
| 48 | 
            -
                  optional :room_name, :string, 1
         | 
| 49 | 
            -
                  optional :audio_track_id, :string, 2
         | 
| 50 | 
            -
                  optional :video_track_id, :string, 3
         | 
| 51 | 
            -
                  repeated :file_outputs, :message, 11, "livekit.EncodedFileOutput"
         | 
| 52 | 
            -
                  repeated :stream_outputs, :message, 12, "livekit.StreamOutput"
         | 
| 53 | 
            -
                  repeated :segment_outputs, :message, 13, "livekit.SegmentedFileOutput"
         | 
| 54 | 
            -
                  oneof :output do
         | 
| 55 | 
            -
                    optional :file, :message, 4, "livekit.EncodedFileOutput"
         | 
| 56 | 
            -
                    optional :stream, :message, 5, "livekit.StreamOutput"
         | 
| 57 | 
            -
                    optional :segments, :message, 8, "livekit.SegmentedFileOutput"
         | 
| 58 | 
            -
                  end
         | 
| 59 | 
            -
                  oneof :options do
         | 
| 60 | 
            -
                    optional :preset, :enum, 6, "livekit.EncodingOptionsPreset"
         | 
| 61 | 
            -
                    optional :advanced, :message, 7, "livekit.EncodingOptions"
         | 
| 62 | 
            -
                  end
         | 
| 63 | 
            -
                end
         | 
| 64 | 
            -
                add_message "livekit.TrackEgressRequest" do
         | 
| 65 | 
            -
                  optional :room_name, :string, 1
         | 
| 66 | 
            -
                  optional :track_id, :string, 2
         | 
| 67 | 
            -
                  oneof :output do
         | 
| 68 | 
            -
                    optional :file, :message, 3, "livekit.DirectFileOutput"
         | 
| 69 | 
            -
                    optional :websocket_url, :string, 4
         | 
| 70 | 
            -
                  end
         | 
| 71 | 
            -
                end
         | 
| 72 | 
            -
                add_message "livekit.EncodedFileOutput" do
         | 
| 73 | 
            -
                  optional :file_type, :enum, 1, "livekit.EncodedFileType"
         | 
| 74 | 
            -
                  optional :filepath, :string, 2
         | 
| 75 | 
            -
                  optional :disable_manifest, :bool, 6
         | 
| 76 | 
            -
                  oneof :output do
         | 
| 77 | 
            -
                    optional :s3, :message, 3, "livekit.S3Upload"
         | 
| 78 | 
            -
                    optional :gcp, :message, 4, "livekit.GCPUpload"
         | 
| 79 | 
            -
                    optional :azure, :message, 5, "livekit.AzureBlobUpload"
         | 
| 80 | 
            -
                    optional :aliOSS, :message, 7, "livekit.AliOSSUpload"
         | 
| 81 | 
            -
                  end
         | 
| 82 | 
            -
                end
         | 
| 83 | 
            -
                add_message "livekit.SegmentedFileOutput" do
         | 
| 84 | 
            -
                  optional :protocol, :enum, 1, "livekit.SegmentedFileProtocol"
         | 
| 85 | 
            -
                  optional :filename_prefix, :string, 2
         | 
| 86 | 
            -
                  optional :playlist_name, :string, 3
         | 
| 87 | 
            -
                  optional :segment_duration, :uint32, 4
         | 
| 88 | 
            -
                  optional :filename_suffix, :enum, 10, "livekit.SegmentedFileSuffix"
         | 
| 89 | 
            -
                  optional :disable_manifest, :bool, 8
         | 
| 90 | 
            -
                  oneof :output do
         | 
| 91 | 
            -
                    optional :s3, :message, 5, "livekit.S3Upload"
         | 
| 92 | 
            -
                    optional :gcp, :message, 6, "livekit.GCPUpload"
         | 
| 93 | 
            -
                    optional :azure, :message, 7, "livekit.AzureBlobUpload"
         | 
| 94 | 
            -
                    optional :aliOSS, :message, 9, "livekit.AliOSSUpload"
         | 
| 95 | 
            -
                  end
         | 
| 96 | 
            -
                end
         | 
| 97 | 
            -
                add_message "livekit.DirectFileOutput" do
         | 
| 98 | 
            -
                  optional :filepath, :string, 1
         | 
| 99 | 
            -
                  optional :disable_manifest, :bool, 5
         | 
| 100 | 
            -
                  oneof :output do
         | 
| 101 | 
            -
                    optional :s3, :message, 2, "livekit.S3Upload"
         | 
| 102 | 
            -
                    optional :gcp, :message, 3, "livekit.GCPUpload"
         | 
| 103 | 
            -
                    optional :azure, :message, 4, "livekit.AzureBlobUpload"
         | 
| 104 | 
            -
                    optional :aliOSS, :message, 6, "livekit.AliOSSUpload"
         | 
| 105 | 
            -
                  end
         | 
| 106 | 
            -
                end
         | 
| 107 | 
            -
                add_message "livekit.S3Upload" do
         | 
| 108 | 
            -
                  optional :access_key, :string, 1
         | 
| 109 | 
            -
                  optional :secret, :string, 2
         | 
| 110 | 
            -
                  optional :region, :string, 3
         | 
| 111 | 
            -
                  optional :endpoint, :string, 4
         | 
| 112 | 
            -
                  optional :bucket, :string, 5
         | 
| 113 | 
            -
                  optional :force_path_style, :bool, 6
         | 
| 114 | 
            -
                  map :metadata, :string, :string, 7
         | 
| 115 | 
            -
                  optional :tagging, :string, 8
         | 
| 116 | 
            -
                end
         | 
| 117 | 
            -
                add_message "livekit.GCPUpload" do
         | 
| 118 | 
            -
                  optional :credentials, :string, 1
         | 
| 119 | 
            -
                  optional :bucket, :string, 2
         | 
| 120 | 
            -
                end
         | 
| 121 | 
            -
                add_message "livekit.AzureBlobUpload" do
         | 
| 122 | 
            -
                  optional :account_name, :string, 1
         | 
| 123 | 
            -
                  optional :account_key, :string, 2
         | 
| 124 | 
            -
                  optional :container_name, :string, 3
         | 
| 125 | 
            -
                end
         | 
| 126 | 
            -
                add_message "livekit.AliOSSUpload" do
         | 
| 127 | 
            -
                  optional :access_key, :string, 1
         | 
| 128 | 
            -
                  optional :secret, :string, 2
         | 
| 129 | 
            -
                  optional :region, :string, 3
         | 
| 130 | 
            -
                  optional :endpoint, :string, 4
         | 
| 131 | 
            -
                  optional :bucket, :string, 5
         | 
| 132 | 
            -
                end
         | 
| 133 | 
            -
                add_message "livekit.StreamOutput" do
         | 
| 134 | 
            -
                  optional :protocol, :enum, 1, "livekit.StreamProtocol"
         | 
| 135 | 
            -
                  repeated :urls, :string, 2
         | 
| 136 | 
            -
                end
         | 
| 137 | 
            -
                add_message "livekit.EncodingOptions" do
         | 
| 138 | 
            -
                  optional :width, :int32, 1
         | 
| 139 | 
            -
                  optional :height, :int32, 2
         | 
| 140 | 
            -
                  optional :depth, :int32, 3
         | 
| 141 | 
            -
                  optional :framerate, :int32, 4
         | 
| 142 | 
            -
                  optional :audio_codec, :enum, 5, "livekit.AudioCodec"
         | 
| 143 | 
            -
                  optional :audio_bitrate, :int32, 6
         | 
| 144 | 
            -
                  optional :audio_frequency, :int32, 7
         | 
| 145 | 
            -
                  optional :video_codec, :enum, 8, "livekit.VideoCodec"
         | 
| 146 | 
            -
                  optional :video_bitrate, :int32, 9
         | 
| 147 | 
            -
                  optional :key_frame_interval, :double, 10
         | 
| 148 | 
            -
                end
         | 
| 149 | 
            -
                add_message "livekit.UpdateLayoutRequest" do
         | 
| 150 | 
            -
                  optional :egress_id, :string, 1
         | 
| 151 | 
            -
                  optional :layout, :string, 2
         | 
| 152 | 
            -
                end
         | 
| 153 | 
            -
                add_message "livekit.UpdateStreamRequest" do
         | 
| 154 | 
            -
                  optional :egress_id, :string, 1
         | 
| 155 | 
            -
                  repeated :add_output_urls, :string, 2
         | 
| 156 | 
            -
                  repeated :remove_output_urls, :string, 3
         | 
| 157 | 
            -
                end
         | 
| 158 | 
            -
                add_message "livekit.ListEgressRequest" do
         | 
| 159 | 
            -
                  optional :room_name, :string, 1
         | 
| 160 | 
            -
                  optional :egress_id, :string, 2
         | 
| 161 | 
            -
                  optional :active, :bool, 3
         | 
| 162 | 
            -
                end
         | 
| 163 | 
            -
                add_message "livekit.ListEgressResponse" do
         | 
| 164 | 
            -
                  repeated :items, :message, 1, "livekit.EgressInfo"
         | 
| 165 | 
            -
                end
         | 
| 166 | 
            -
                add_message "livekit.StopEgressRequest" do
         | 
| 167 | 
            -
                  optional :egress_id, :string, 1
         | 
| 168 | 
            -
                end
         | 
| 169 | 
            -
                add_message "livekit.EgressInfo" do
         | 
| 170 | 
            -
                  optional :egress_id, :string, 1
         | 
| 171 | 
            -
                  optional :room_id, :string, 2
         | 
| 172 | 
            -
                  optional :room_name, :string, 13
         | 
| 173 | 
            -
                  optional :status, :enum, 3, "livekit.EgressStatus"
         | 
| 174 | 
            -
                  optional :started_at, :int64, 10
         | 
| 175 | 
            -
                  optional :ended_at, :int64, 11
         | 
| 176 | 
            -
                  optional :updated_at, :int64, 18
         | 
| 177 | 
            -
                  optional :error, :string, 9
         | 
| 178 | 
            -
                  repeated :stream_results, :message, 15, "livekit.StreamInfo"
         | 
| 179 | 
            -
                  repeated :file_results, :message, 16, "livekit.FileInfo"
         | 
| 180 | 
            -
                  repeated :segment_results, :message, 17, "livekit.SegmentsInfo"
         | 
| 181 | 
            -
                  oneof :request do
         | 
| 182 | 
            -
                    optional :room_composite, :message, 4, "livekit.RoomCompositeEgressRequest"
         | 
| 183 | 
            -
                    optional :track_composite, :message, 5, "livekit.TrackCompositeEgressRequest"
         | 
| 184 | 
            -
                    optional :track, :message, 6, "livekit.TrackEgressRequest"
         | 
| 185 | 
            -
                    optional :web, :message, 14, "livekit.WebEgressRequest"
         | 
| 186 | 
            -
                  end
         | 
| 187 | 
            -
                  oneof :result do
         | 
| 188 | 
            -
                    optional :stream, :message, 7, "livekit.StreamInfoList"
         | 
| 189 | 
            -
                    optional :file, :message, 8, "livekit.FileInfo"
         | 
| 190 | 
            -
                    optional :segments, :message, 12, "livekit.SegmentsInfo"
         | 
| 191 | 
            -
                  end
         | 
| 192 | 
            -
                end
         | 
| 193 | 
            -
                add_message "livekit.StreamInfoList" do
         | 
| 194 | 
            -
                  repeated :info, :message, 1, "livekit.StreamInfo"
         | 
| 195 | 
            -
                end
         | 
| 196 | 
            -
                add_message "livekit.StreamInfo" do
         | 
| 197 | 
            -
                  optional :url, :string, 1
         | 
| 198 | 
            -
                  optional :started_at, :int64, 2
         | 
| 199 | 
            -
                  optional :ended_at, :int64, 3
         | 
| 200 | 
            -
                  optional :duration, :int64, 4
         | 
| 201 | 
            -
                  optional :status, :enum, 5, "livekit.StreamInfo.Status"
         | 
| 202 | 
            -
                  optional :error, :string, 6
         | 
| 203 | 
            -
                end
         | 
| 204 | 
            -
                add_enum "livekit.StreamInfo.Status" do
         | 
| 205 | 
            -
                  value :ACTIVE, 0
         | 
| 206 | 
            -
                  value :FINISHED, 1
         | 
| 207 | 
            -
                  value :FAILED, 2
         | 
| 208 | 
            -
                end
         | 
| 209 | 
            -
                add_message "livekit.FileInfo" do
         | 
| 210 | 
            -
                  optional :filename, :string, 1
         | 
| 211 | 
            -
                  optional :started_at, :int64, 2
         | 
| 212 | 
            -
                  optional :ended_at, :int64, 3
         | 
| 213 | 
            -
                  optional :duration, :int64, 6
         | 
| 214 | 
            -
                  optional :size, :int64, 4
         | 
| 215 | 
            -
                  optional :location, :string, 5
         | 
| 216 | 
            -
                end
         | 
| 217 | 
            -
                add_message "livekit.SegmentsInfo" do
         | 
| 218 | 
            -
                  optional :playlist_name, :string, 1
         | 
| 219 | 
            -
                  optional :duration, :int64, 2
         | 
| 220 | 
            -
                  optional :size, :int64, 3
         | 
| 221 | 
            -
                  optional :playlist_location, :string, 4
         | 
| 222 | 
            -
                  optional :segment_count, :int64, 5
         | 
| 223 | 
            -
                  optional :started_at, :int64, 6
         | 
| 224 | 
            -
                  optional :ended_at, :int64, 7
         | 
| 225 | 
            -
                end
         | 
| 226 | 
            -
                add_message "livekit.AutoTrackEgress" do
         | 
| 227 | 
            -
                  optional :filepath, :string, 1
         | 
| 228 | 
            -
                  optional :disable_manifest, :bool, 5
         | 
| 229 | 
            -
                  oneof :output do
         | 
| 230 | 
            -
                    optional :s3, :message, 2, "livekit.S3Upload"
         | 
| 231 | 
            -
                    optional :gcp, :message, 3, "livekit.GCPUpload"
         | 
| 232 | 
            -
                    optional :azure, :message, 4, "livekit.AzureBlobUpload"
         | 
| 233 | 
            -
                  end
         | 
| 234 | 
            -
                end
         | 
| 235 | 
            -
                add_enum "livekit.EncodedFileType" do
         | 
| 236 | 
            -
                  value :DEFAULT_FILETYPE, 0
         | 
| 237 | 
            -
                  value :MP4, 1
         | 
| 238 | 
            -
                  value :OGG, 2
         | 
| 239 | 
            -
                end
         | 
| 240 | 
            -
                add_enum "livekit.SegmentedFileProtocol" do
         | 
| 241 | 
            -
                  value :DEFAULT_SEGMENTED_FILE_PROTOCOL, 0
         | 
| 242 | 
            -
                  value :HLS_PROTOCOL, 1
         | 
| 243 | 
            -
                end
         | 
| 244 | 
            -
                add_enum "livekit.SegmentedFileSuffix" do
         | 
| 245 | 
            -
                  value :INDEX, 0
         | 
| 246 | 
            -
                  value :TIMESTAMP, 1
         | 
| 247 | 
            -
                end
         | 
| 248 | 
            -
                add_enum "livekit.StreamProtocol" do
         | 
| 249 | 
            -
                  value :DEFAULT_PROTOCOL, 0
         | 
| 250 | 
            -
                  value :RTMP, 1
         | 
| 251 | 
            -
                end
         | 
| 252 | 
            -
                add_enum "livekit.EncodingOptionsPreset" do
         | 
| 253 | 
            -
                  value :H264_720P_30, 0
         | 
| 254 | 
            -
                  value :H264_720P_60, 1
         | 
| 255 | 
            -
                  value :H264_1080P_30, 2
         | 
| 256 | 
            -
                  value :H264_1080P_60, 3
         | 
| 257 | 
            -
                  value :PORTRAIT_H264_720P_30, 4
         | 
| 258 | 
            -
                  value :PORTRAIT_H264_720P_60, 5
         | 
| 259 | 
            -
                  value :PORTRAIT_H264_1080P_30, 6
         | 
| 260 | 
            -
                  value :PORTRAIT_H264_1080P_60, 7
         | 
| 261 | 
            -
                end
         | 
| 262 | 
            -
                add_enum "livekit.EgressStatus" do
         | 
| 263 | 
            -
                  value :EGRESS_STARTING, 0
         | 
| 264 | 
            -
                  value :EGRESS_ACTIVE, 1
         | 
| 265 | 
            -
                  value :EGRESS_ENDING, 2
         | 
| 266 | 
            -
                  value :EGRESS_COMPLETE, 3
         | 
| 267 | 
            -
                  value :EGRESS_FAILED, 4
         | 
| 268 | 
            -
                  value :EGRESS_ABORTED, 5
         | 
| 269 | 
            -
                  value :EGRESS_LIMIT_REACHED, 6
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            descriptor_data = "\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\"\xcd\x04\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutputB\x08\n\x06outputB\t\n\x07options\"\xb0\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutputB\x08\n\x06outputB\t\n\x07options\"\x85\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutputB\t\n\x07options\"\xad\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61udio_track_id\x18\x02 \x01(\t\x12\x16\n\x0evideo_track_id\x18\x03 \x01(\t\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutputB\x08\n\x06outputB\t\n\x07options\"\x87\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08track_id\x18\x02 \x01(\t\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x42\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xef\x01\n\x08S3Upload\x12\x12\n\naccess_key\x18\x01 \x01(\t\x12\x0e\n\x06secret\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x31\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntry\x12\x0f\n\x07tagging\x18\x08 \x01(\t\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\tGCPUpload\x12\x13\n\x0b\x63redentials\x18\x01 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\"T\n\x0f\x41zureBlobUpload\x12\x14\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"d\n\x0c\x41liOSSUpload\x12\x12\n\naccess_key\x18\x01 \x01(\t\x12\x0e\n\x06secret\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\"G\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\"\x89\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\"8\n\x13UpdateLayoutRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\"]\n\x13UpdateStreamRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\"\x8e\x01\n\x14UpdateOutputsRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12/\n\x11\x61\x64\x64_image_outputs\x18\x02 \x03(\x0b\x32\x14.livekit.ImageOutput\x12\x32\n\x14remove_image_outputs\x18\x03 \x03(\x0b\x32\x14.livekit.ImageOutput\"I\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x11\n\tegress_id\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"8\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\"&\n\x11StopEgressRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\"\x91\x06\n\nEgressInfo\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x0f\n\x07room_id\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\r \x01(\t\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12\r\n\x05\x65rror\x18\t \x01(\t\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfoB\t\n\x07requestB\x08\n\x06result\"7\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo:\x02\x18\x01\"\xbc\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"G\n\nImagesInfo\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xb6\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x42\x08\n\x06output*9\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02*N\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*E\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01*0\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01*\xcf\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06\x32\xe1\x05\n\x06\x45gress\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x43\n\rUpdateOutputs\x12\x1d.livekit.UpdateOutputsRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            begin
         | 
| 15 | 
            +
              pool.add_serialized_file(descriptor_data)
         | 
| 16 | 
            +
            rescue TypeError => e
         | 
| 17 | 
            +
              # Compatibility code: will be removed in the next major version.
         | 
| 18 | 
            +
              require 'google/protobuf/descriptor_pb'
         | 
| 19 | 
            +
              parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
         | 
| 20 | 
            +
              parsed.clear_dependency
         | 
| 21 | 
            +
              serialized = parsed.class.encode(parsed)
         | 
| 22 | 
            +
              file = pool.add_serialized_file(serialized)
         | 
| 23 | 
            +
              warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
         | 
| 24 | 
            +
              imports = [
         | 
| 25 | 
            +
              ]
         | 
| 26 | 
            +
              imports.each do |type_name, expected_filename|
         | 
| 27 | 
            +
                import_file = pool.lookup(type_name).file_descriptor
         | 
| 28 | 
            +
                if import_file.name != expected_filename
         | 
| 29 | 
            +
                  warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
         | 
| 270 30 | 
             
                end
         | 
| 271 31 | 
             
              end
         | 
| 32 | 
            +
              warn "Each proto file must use a consistent fully-qualified name."
         | 
| 33 | 
            +
              warn "This will become an error in the next major version."
         | 
| 272 34 | 
             
            end
         | 
| 273 35 |  | 
| 274 36 | 
             
            module LiveKit
         | 
| 275 37 | 
             
              module Proto
         | 
| 276 38 | 
             
                RoomCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomCompositeEgressRequest").msgclass
         | 
| 277 39 | 
             
                WebEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.WebEgressRequest").msgclass
         | 
| 40 | 
            +
                ParticipantEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantEgressRequest").msgclass
         | 
| 278 41 | 
             
                TrackCompositeEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackCompositeEgressRequest").msgclass
         | 
| 279 42 | 
             
                TrackEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackEgressRequest").msgclass
         | 
| 280 43 | 
             
                EncodedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileOutput").msgclass
         | 
| 281 44 | 
             
                SegmentedFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileOutput").msgclass
         | 
| 282 45 | 
             
                DirectFileOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DirectFileOutput").msgclass
         | 
| 46 | 
            +
                ImageOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageOutput").msgclass
         | 
| 283 47 | 
             
                S3Upload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.S3Upload").msgclass
         | 
| 284 48 | 
             
                GCPUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GCPUpload").msgclass
         | 
| 285 49 | 
             
                AzureBlobUpload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AzureBlobUpload").msgclass
         | 
| @@ -288,6 +52,7 @@ module LiveKit | |
| 288 52 | 
             
                EncodingOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptions").msgclass
         | 
| 289 53 | 
             
                UpdateLayoutRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateLayoutRequest").msgclass
         | 
| 290 54 | 
             
                UpdateStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateStreamRequest").msgclass
         | 
| 55 | 
            +
                UpdateOutputsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateOutputsRequest").msgclass
         | 
| 291 56 | 
             
                ListEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressRequest").msgclass
         | 
| 292 57 | 
             
                ListEgressResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressResponse").msgclass
         | 
| 293 58 | 
             
                StopEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StopEgressRequest").msgclass
         | 
| @@ -297,10 +62,13 @@ module LiveKit | |
| 297 62 | 
             
                StreamInfo::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfo.Status").enummodule
         | 
| 298 63 | 
             
                FileInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.FileInfo").msgclass
         | 
| 299 64 | 
             
                SegmentsInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentsInfo").msgclass
         | 
| 65 | 
            +
                ImagesInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImagesInfo").msgclass
         | 
| 66 | 
            +
                AutoParticipantEgress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AutoParticipantEgress").msgclass
         | 
| 300 67 | 
             
                AutoTrackEgress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AutoTrackEgress").msgclass
         | 
| 301 68 | 
             
                EncodedFileType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodedFileType").enummodule
         | 
| 302 69 | 
             
                SegmentedFileProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileProtocol").enummodule
         | 
| 303 70 | 
             
                SegmentedFileSuffix = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SegmentedFileSuffix").enummodule
         | 
| 71 | 
            +
                ImageFileSuffix = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageFileSuffix").enummodule
         | 
| 304 72 | 
             
                StreamProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamProtocol").enummodule
         | 
| 305 73 | 
             
                EncodingOptionsPreset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncodingOptionsPreset").enummodule
         | 
| 306 74 | 
             
                EgressStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressStatus").enummodule
         | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            # Code generated by protoc-gen-twirp_ruby 1. | 
| 1 | 
            +
            # Code generated by protoc-gen-twirp_ruby 1.10.0, DO NOT EDIT.
         | 
| 2 2 | 
             
            require 'twirp'
         | 
| 3 3 | 
             
            require_relative 'livekit_egress_pb.rb'
         | 
| 4 4 |  | 
| @@ -8,11 +8,13 @@ module LiveKit | |
| 8 8 | 
             
                  package 'livekit'
         | 
| 9 9 | 
             
                  service 'Egress'
         | 
| 10 10 | 
             
                  rpc :StartRoomCompositeEgress, RoomCompositeEgressRequest, EgressInfo, :ruby_method => :start_room_composite_egress
         | 
| 11 | 
            +
                  rpc :StartWebEgress, WebEgressRequest, EgressInfo, :ruby_method => :start_web_egress
         | 
| 12 | 
            +
                  rpc :StartParticipantEgress, ParticipantEgressRequest, EgressInfo, :ruby_method => :start_participant_egress
         | 
| 11 13 | 
             
                  rpc :StartTrackCompositeEgress, TrackCompositeEgressRequest, EgressInfo, :ruby_method => :start_track_composite_egress
         | 
| 12 14 | 
             
                  rpc :StartTrackEgress, TrackEgressRequest, EgressInfo, :ruby_method => :start_track_egress
         | 
| 13 | 
            -
                  rpc :StartWebEgress, WebEgressRequest, EgressInfo, :ruby_method => :start_web_egress
         | 
| 14 15 | 
             
                  rpc :UpdateLayout, UpdateLayoutRequest, EgressInfo, :ruby_method => :update_layout
         | 
| 15 16 | 
             
                  rpc :UpdateStream, UpdateStreamRequest, EgressInfo, :ruby_method => :update_stream
         | 
| 17 | 
            +
                  rpc :UpdateOutputs, UpdateOutputsRequest, EgressInfo, :ruby_method => :update_outputs
         | 
| 16 18 | 
             
                  rpc :ListEgress, ListEgressRequest, ListEgressResponse, :ruby_method => :list_egress
         | 
| 17 19 | 
             
                  rpc :StopEgress, StopEgressRequest, EgressInfo, :ruby_method => :stop_egress
         | 
| 18 20 | 
             
                end
         | 
| @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 1 2 | 
             
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 3 | 
             
            # source: livekit_ingress.proto
         | 
| 3 4 |  | 
| @@ -5,128 +6,32 @@ require 'google/protobuf' | |
| 5 6 |  | 
| 6 7 | 
             
            require 'livekit_models_pb'
         | 
| 7 8 |  | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
                 | 
| 29 | 
            -
             | 
| 30 | 
            -
                  optional :name, :string, 1
         | 
| 31 | 
            -
                  optional :source, :enum, 2, "livekit.TrackSource"
         | 
| 32 | 
            -
                  oneof :encoding_options do
         | 
| 33 | 
            -
                    optional :preset, :enum, 3, "livekit.IngressVideoEncodingPreset"
         | 
| 34 | 
            -
                    optional :options, :message, 4, "livekit.IngressVideoEncodingOptions"
         | 
| 35 | 
            -
                  end
         | 
| 36 | 
            -
                end
         | 
| 37 | 
            -
                add_message "livekit.IngressAudioEncodingOptions" do
         | 
| 38 | 
            -
                  optional :audio_codec, :enum, 1, "livekit.AudioCodec"
         | 
| 39 | 
            -
                  optional :bitrate, :uint32, 2
         | 
| 40 | 
            -
                  optional :disable_dtx, :bool, 3
         | 
| 41 | 
            -
                  optional :channels, :uint32, 4
         | 
| 42 | 
            -
                end
         | 
| 43 | 
            -
                add_message "livekit.IngressVideoEncodingOptions" do
         | 
| 44 | 
            -
                  optional :video_codec, :enum, 1, "livekit.VideoCodec"
         | 
| 45 | 
            -
                  optional :frame_rate, :double, 2
         | 
| 46 | 
            -
                  repeated :layers, :message, 3, "livekit.VideoLayer"
         | 
| 47 | 
            -
                end
         | 
| 48 | 
            -
                add_message "livekit.IngressInfo" do
         | 
| 49 | 
            -
                  optional :ingress_id, :string, 1
         | 
| 50 | 
            -
                  optional :name, :string, 2
         | 
| 51 | 
            -
                  optional :stream_key, :string, 3
         | 
| 52 | 
            -
                  optional :url, :string, 4
         | 
| 53 | 
            -
                  optional :input_type, :enum, 5, "livekit.IngressInput"
         | 
| 54 | 
            -
                  optional :bypass_transcoding, :bool, 13
         | 
| 55 | 
            -
                  optional :audio, :message, 6, "livekit.IngressAudioOptions"
         | 
| 56 | 
            -
                  optional :video, :message, 7, "livekit.IngressVideoOptions"
         | 
| 57 | 
            -
                  optional :room_name, :string, 8
         | 
| 58 | 
            -
                  optional :participant_identity, :string, 9
         | 
| 59 | 
            -
                  optional :participant_name, :string, 10
         | 
| 60 | 
            -
                  optional :reusable, :bool, 11
         | 
| 61 | 
            -
                  optional :state, :message, 12, "livekit.IngressState"
         | 
| 62 | 
            -
                end
         | 
| 63 | 
            -
                add_message "livekit.IngressState" do
         | 
| 64 | 
            -
                  optional :status, :enum, 1, "livekit.IngressState.Status"
         | 
| 65 | 
            -
                  optional :error, :string, 2
         | 
| 66 | 
            -
                  optional :video, :message, 3, "livekit.InputVideoState"
         | 
| 67 | 
            -
                  optional :audio, :message, 4, "livekit.InputAudioState"
         | 
| 68 | 
            -
                  optional :room_id, :string, 5
         | 
| 69 | 
            -
                  optional :started_at, :int64, 7
         | 
| 70 | 
            -
                  optional :ended_at, :int64, 8
         | 
| 71 | 
            -
                  optional :resource_id, :string, 9
         | 
| 72 | 
            -
                  repeated :tracks, :message, 6, "livekit.TrackInfo"
         | 
| 73 | 
            -
                end
         | 
| 74 | 
            -
                add_enum "livekit.IngressState.Status" do
         | 
| 75 | 
            -
                  value :ENDPOINT_INACTIVE, 0
         | 
| 76 | 
            -
                  value :ENDPOINT_BUFFERING, 1
         | 
| 77 | 
            -
                  value :ENDPOINT_PUBLISHING, 2
         | 
| 78 | 
            -
                  value :ENDPOINT_ERROR, 3
         | 
| 79 | 
            -
                end
         | 
| 80 | 
            -
                add_message "livekit.InputVideoState" do
         | 
| 81 | 
            -
                  optional :mime_type, :string, 1
         | 
| 82 | 
            -
                  optional :average_bitrate, :uint32, 2
         | 
| 83 | 
            -
                  optional :width, :uint32, 3
         | 
| 84 | 
            -
                  optional :height, :uint32, 4
         | 
| 85 | 
            -
                  optional :framerate, :double, 5
         | 
| 86 | 
            -
                end
         | 
| 87 | 
            -
                add_message "livekit.InputAudioState" do
         | 
| 88 | 
            -
                  optional :mime_type, :string, 1
         | 
| 89 | 
            -
                  optional :average_bitrate, :uint32, 2
         | 
| 90 | 
            -
                  optional :channels, :uint32, 3
         | 
| 91 | 
            -
                  optional :sample_rate, :uint32, 4
         | 
| 92 | 
            -
                end
         | 
| 93 | 
            -
                add_message "livekit.UpdateIngressRequest" do
         | 
| 94 | 
            -
                  optional :ingress_id, :string, 1
         | 
| 95 | 
            -
                  optional :name, :string, 2
         | 
| 96 | 
            -
                  optional :room_name, :string, 3
         | 
| 97 | 
            -
                  optional :participant_identity, :string, 4
         | 
| 98 | 
            -
                  optional :participant_name, :string, 5
         | 
| 99 | 
            -
                  proto3_optional :bypass_transcoding, :bool, 8
         | 
| 100 | 
            -
                  optional :audio, :message, 6, "livekit.IngressAudioOptions"
         | 
| 101 | 
            -
                  optional :video, :message, 7, "livekit.IngressVideoOptions"
         | 
| 102 | 
            -
                end
         | 
| 103 | 
            -
                add_message "livekit.ListIngressRequest" do
         | 
| 104 | 
            -
                  optional :room_name, :string, 1
         | 
| 105 | 
            -
                  optional :ingress_id, :string, 2
         | 
| 106 | 
            -
                end
         | 
| 107 | 
            -
                add_message "livekit.ListIngressResponse" do
         | 
| 108 | 
            -
                  repeated :items, :message, 1, "livekit.IngressInfo"
         | 
| 109 | 
            -
                end
         | 
| 110 | 
            -
                add_message "livekit.DeleteIngressRequest" do
         | 
| 111 | 
            -
                  optional :ingress_id, :string, 1
         | 
| 112 | 
            -
                end
         | 
| 113 | 
            -
                add_enum "livekit.IngressInput" do
         | 
| 114 | 
            -
                  value :RTMP_INPUT, 0
         | 
| 115 | 
            -
                  value :WHIP_INPUT, 1
         | 
| 116 | 
            -
                  value :URL_INPUT, 2
         | 
| 117 | 
            -
                end
         | 
| 118 | 
            -
                add_enum "livekit.IngressAudioEncodingPreset" do
         | 
| 119 | 
            -
                  value :OPUS_STEREO_96KBPS, 0
         | 
| 120 | 
            -
                  value :OPUS_MONO_64KBS, 1
         | 
| 121 | 
            -
                end
         | 
| 122 | 
            -
                add_enum "livekit.IngressVideoEncodingPreset" do
         | 
| 123 | 
            -
                  value :H264_720P_30FPS_3_LAYERS, 0
         | 
| 124 | 
            -
                  value :H264_1080P_30FPS_3_LAYERS, 1
         | 
| 125 | 
            -
                  value :H264_540P_25FPS_2_LAYERS, 2
         | 
| 126 | 
            -
                  value :H264_720P_30FPS_1_LAYER, 3
         | 
| 127 | 
            -
                  value :H264_1080P_30FPS_1_LAYER, 4
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            descriptor_data = "\n\x15livekit_ingress.proto\x12\x07livekit\x1a\x14livekit_models.proto\"\x9d\x02\n\x14\x43reateIngressRequest\x12)\n\ninput_type\x18\x01 \x01(\x0e\x32\x15.livekit.IngressInput\x12\x0b\n\x03url\x18\t \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x18\n\x10participant_name\x18\x05 \x01(\t\x12\x1a\n\x12\x62ypass_transcoding\x18\x08 \x01(\x08\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\"\xcd\x01\n\x13IngressAudioOptions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x06source\x18\x02 \x01(\x0e\x32\x14.livekit.TrackSource\x12\x35\n\x06preset\x18\x03 \x01(\x0e\x32#.livekit.IngressAudioEncodingPresetH\x00\x12\x37\n\x07options\x18\x04 \x01(\x0b\x32$.livekit.IngressAudioEncodingOptionsH\x00\x42\x12\n\x10\x65ncoding_options\"\xcd\x01\n\x13IngressVideoOptions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x06source\x18\x02 \x01(\x0e\x32\x14.livekit.TrackSource\x12\x35\n\x06preset\x18\x03 \x01(\x0e\x32#.livekit.IngressVideoEncodingPresetH\x00\x12\x37\n\x07options\x18\x04 \x01(\x0b\x32$.livekit.IngressVideoEncodingOptionsH\x00\x42\x12\n\x10\x65ncoding_options\"\x7f\n\x1bIngressAudioEncodingOptions\x12(\n\x0b\x61udio_codec\x18\x01 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x0f\n\x07\x62itrate\x18\x02 \x01(\r\x12\x13\n\x0b\x64isable_dtx\x18\x03 \x01(\x08\x12\x10\n\x08\x63hannels\x18\x04 \x01(\r\"\x80\x01\n\x1bIngressVideoEncodingOptions\x12(\n\x0bvideo_codec\x18\x01 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x12\n\nframe_rate\x18\x02 \x01(\x01\x12#\n\x06layers\x18\x03 \x03(\x0b\x32\x13.livekit.VideoLayer\"\xf4\x02\n\x0bIngressInfo\x12\x12\n\ningress_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nstream_key\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12)\n\ninput_type\x18\x05 \x01(\x0e\x32\x15.livekit.IngressInput\x12\x1a\n\x12\x62ypass_transcoding\x18\r \x01(\x08\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\x12\x11\n\troom_name\x18\x08 \x01(\t\x12\x1c\n\x14participant_identity\x18\t \x01(\t\x12\x18\n\x10participant_name\x18\n \x01(\t\x12\x10\n\x08reusable\x18\x0b \x01(\x08\x12$\n\x05state\x18\x0c \x01(\x0b\x32\x15.livekit.IngressState\"\x8a\x03\n\x0cIngressState\x12,\n\x06status\x18\x01 \x01(\x0e\x32\x1c.livekit.IngressState.Status\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\'\n\x05video\x18\x03 \x01(\x0b\x32\x18.livekit.InputVideoState\x12\'\n\x05\x61udio\x18\x04 \x01(\x0b\x32\x18.livekit.InputAudioState\x12\x0f\n\x07room_id\x18\x05 \x01(\t\x12\x12\n\nstarted_at\x18\x07 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x08 \x01(\x03\x12\x13\n\x0bresource_id\x18\t \x01(\t\x12\"\n\x06tracks\x18\x06 \x03(\x0b\x32\x12.livekit.TrackInfo\"{\n\x06Status\x12\x15\n\x11\x45NDPOINT_INACTIVE\x10\x00\x12\x16\n\x12\x45NDPOINT_BUFFERING\x10\x01\x12\x17\n\x13\x45NDPOINT_PUBLISHING\x10\x02\x12\x12\n\x0e\x45NDPOINT_ERROR\x10\x03\x12\x15\n\x11\x45NDPOINT_COMPLETE\x10\x04\"o\n\x0fInputVideoState\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x17\n\x0f\x61verage_bitrate\x18\x02 \x01(\r\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0e\n\x06height\x18\x04 \x01(\r\x12\x11\n\tframerate\x18\x05 \x01(\x01\"d\n\x0fInputAudioState\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x17\n\x0f\x61verage_bitrate\x18\x02 \x01(\r\x12\x10\n\x08\x63hannels\x18\x03 \x01(\r\x12\x13\n\x0bsample_rate\x18\x04 \x01(\r\"\x95\x02\n\x14UpdateIngressRequest\x12\x12\n\ningress_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x18\n\x10participant_name\x18\x05 \x01(\t\x12\x1f\n\x12\x62ypass_transcoding\x18\x08 \x01(\x08H\x00\x88\x01\x01\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptionsB\x15\n\x13_bypass_transcoding\";\n\x12ListIngressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x12\n\ningress_id\x18\x02 \x01(\t\":\n\x13ListIngressResponse\x12#\n\x05items\x18\x01 \x03(\x0b\x32\x14.livekit.IngressInfo\"*\n\x14\x44\x65leteIngressRequest\x12\x12\n\ningress_id\x18\x01 \x01(\t*=\n\x0cIngressInput\x12\x0e\n\nRTMP_INPUT\x10\x00\x12\x0e\n\nWHIP_INPUT\x10\x01\x12\r\n\tURL_INPUT\x10\x02*I\n\x1aIngressAudioEncodingPreset\x12\x16\n\x12OPUS_STEREO_96KBPS\x10\x00\x12\x13\n\x0fOPUS_MONO_64KBS\x10\x01*\x84\x03\n\x1aIngressVideoEncodingPreset\x12\x1c\n\x18H264_720P_30FPS_3_LAYERS\x10\x00\x12\x1d\n\x19H264_1080P_30FPS_3_LAYERS\x10\x01\x12\x1c\n\x18H264_540P_25FPS_2_LAYERS\x10\x02\x12\x1b\n\x17H264_720P_30FPS_1_LAYER\x10\x03\x12\x1c\n\x18H264_1080P_30FPS_1_LAYER\x10\x04\x12(\n$H264_720P_30FPS_3_LAYERS_HIGH_MOTION\x10\x05\x12)\n%H264_1080P_30FPS_3_LAYERS_HIGH_MOTION\x10\x06\x12(\n$H264_540P_25FPS_2_LAYERS_HIGH_MOTION\x10\x07\x12\'\n#H264_720P_30FPS_1_LAYER_HIGH_MOTION\x10\x08\x12(\n$H264_1080P_30FPS_1_LAYER_HIGH_MOTION\x10\t2\xa5\x02\n\x07Ingress\x12\x44\n\rCreateIngress\x12\x1d.livekit.CreateIngressRequest\x1a\x14.livekit.IngressInfo\x12\x44\n\rUpdateIngress\x12\x1d.livekit.UpdateIngressRequest\x1a\x14.livekit.IngressInfo\x12H\n\x0bListIngress\x12\x1b.livekit.ListIngressRequest\x1a\x1c.livekit.ListIngressResponse\x12\x44\n\rDeleteIngress\x12\x1d.livekit.DeleteIngressRequest\x1a\x14.livekit.IngressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            begin
         | 
| 15 | 
            +
              pool.add_serialized_file(descriptor_data)
         | 
| 16 | 
            +
            rescue TypeError => e
         | 
| 17 | 
            +
              # Compatibility code: will be removed in the next major version.
         | 
| 18 | 
            +
              require 'google/protobuf/descriptor_pb'
         | 
| 19 | 
            +
              parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
         | 
| 20 | 
            +
              parsed.clear_dependency
         | 
| 21 | 
            +
              serialized = parsed.class.encode(parsed)
         | 
| 22 | 
            +
              file = pool.add_serialized_file(serialized)
         | 
| 23 | 
            +
              warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
         | 
| 24 | 
            +
              imports = [
         | 
| 25 | 
            +
                ["livekit.VideoLayer", "livekit_models.proto"],
         | 
| 26 | 
            +
              ]
         | 
| 27 | 
            +
              imports.each do |type_name, expected_filename|
         | 
| 28 | 
            +
                import_file = pool.lookup(type_name).file_descriptor
         | 
| 29 | 
            +
                if import_file.name != expected_filename
         | 
| 30 | 
            +
                  warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
         | 
| 128 31 | 
             
                end
         | 
| 129 32 | 
             
              end
         | 
| 33 | 
            +
              warn "Each proto file must use a consistent fully-qualified name."
         | 
| 34 | 
            +
              warn "This will become an error in the next major version."
         | 
| 130 35 | 
             
            end
         | 
| 131 36 |  | 
| 132 37 | 
             
            module LiveKit
         | 
| @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 1 2 | 
             
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 3 | 
             
            # source: livekit_models.proto
         | 
| 3 4 |  | 
| @@ -5,289 +6,32 @@ require 'google/protobuf' | |
| 5 6 |  | 
| 6 7 | 
             
            require 'google/protobuf/timestamp_pb'
         | 
| 7 8 |  | 
| 8 | 
            -
             | 
| 9 | 
            -
              add_file("livekit_models.proto", :syntax => :proto3) do
         | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
                 | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
                 | 
| 28 | 
            -
                 | 
| 29 | 
            -
                   | 
| 30 | 
            -
                  optional :min, :uint32, 2
         | 
| 31 | 
            -
                end
         | 
| 32 | 
            -
                add_message "livekit.ParticipantPermission" do
         | 
| 33 | 
            -
                  optional :can_subscribe, :bool, 1
         | 
| 34 | 
            -
                  optional :can_publish, :bool, 2
         | 
| 35 | 
            -
                  optional :can_publish_data, :bool, 3
         | 
| 36 | 
            -
                  repeated :can_publish_sources, :enum, 9, "livekit.TrackSource"
         | 
| 37 | 
            -
                  optional :hidden, :bool, 7
         | 
| 38 | 
            -
                  optional :recorder, :bool, 8
         | 
| 39 | 
            -
                  optional :can_update_metadata, :bool, 10
         | 
| 40 | 
            -
                end
         | 
| 41 | 
            -
                add_message "livekit.ParticipantInfo" do
         | 
| 42 | 
            -
                  optional :sid, :string, 1
         | 
| 43 | 
            -
                  optional :identity, :string, 2
         | 
| 44 | 
            -
                  optional :state, :enum, 3, "livekit.ParticipantInfo.State"
         | 
| 45 | 
            -
                  repeated :tracks, :message, 4, "livekit.TrackInfo"
         | 
| 46 | 
            -
                  optional :metadata, :string, 5
         | 
| 47 | 
            -
                  optional :joined_at, :int64, 6
         | 
| 48 | 
            -
                  optional :name, :string, 9
         | 
| 49 | 
            -
                  optional :version, :uint32, 10
         | 
| 50 | 
            -
                  optional :permission, :message, 11, "livekit.ParticipantPermission"
         | 
| 51 | 
            -
                  optional :region, :string, 12
         | 
| 52 | 
            -
                  optional :is_publisher, :bool, 13
         | 
| 53 | 
            -
                end
         | 
| 54 | 
            -
                add_enum "livekit.ParticipantInfo.State" do
         | 
| 55 | 
            -
                  value :JOINING, 0
         | 
| 56 | 
            -
                  value :JOINED, 1
         | 
| 57 | 
            -
                  value :ACTIVE, 2
         | 
| 58 | 
            -
                  value :DISCONNECTED, 3
         | 
| 59 | 
            -
                end
         | 
| 60 | 
            -
                add_message "livekit.Encryption" do
         | 
| 61 | 
            -
                end
         | 
| 62 | 
            -
                add_enum "livekit.Encryption.Type" do
         | 
| 63 | 
            -
                  value :NONE, 0
         | 
| 64 | 
            -
                  value :GCM, 1
         | 
| 65 | 
            -
                  value :CUSTOM, 2
         | 
| 66 | 
            -
                end
         | 
| 67 | 
            -
                add_message "livekit.SimulcastCodecInfo" do
         | 
| 68 | 
            -
                  optional :mime_type, :string, 1
         | 
| 69 | 
            -
                  optional :mid, :string, 2
         | 
| 70 | 
            -
                  optional :cid, :string, 3
         | 
| 71 | 
            -
                  repeated :layers, :message, 4, "livekit.VideoLayer"
         | 
| 72 | 
            -
                end
         | 
| 73 | 
            -
                add_message "livekit.TrackInfo" do
         | 
| 74 | 
            -
                  optional :sid, :string, 1
         | 
| 75 | 
            -
                  optional :type, :enum, 2, "livekit.TrackType"
         | 
| 76 | 
            -
                  optional :name, :string, 3
         | 
| 77 | 
            -
                  optional :muted, :bool, 4
         | 
| 78 | 
            -
                  optional :width, :uint32, 5
         | 
| 79 | 
            -
                  optional :height, :uint32, 6
         | 
| 80 | 
            -
                  optional :simulcast, :bool, 7
         | 
| 81 | 
            -
                  optional :disable_dtx, :bool, 8
         | 
| 82 | 
            -
                  optional :source, :enum, 9, "livekit.TrackSource"
         | 
| 83 | 
            -
                  repeated :layers, :message, 10, "livekit.VideoLayer"
         | 
| 84 | 
            -
                  optional :mime_type, :string, 11
         | 
| 85 | 
            -
                  optional :mid, :string, 12
         | 
| 86 | 
            -
                  repeated :codecs, :message, 13, "livekit.SimulcastCodecInfo"
         | 
| 87 | 
            -
                  optional :stereo, :bool, 14
         | 
| 88 | 
            -
                  optional :disable_red, :bool, 15
         | 
| 89 | 
            -
                  optional :encryption, :enum, 16, "livekit.Encryption.Type"
         | 
| 90 | 
            -
                  optional :stream, :string, 17
         | 
| 91 | 
            -
                end
         | 
| 92 | 
            -
                add_message "livekit.VideoLayer" do
         | 
| 93 | 
            -
                  optional :quality, :enum, 1, "livekit.VideoQuality"
         | 
| 94 | 
            -
                  optional :width, :uint32, 2
         | 
| 95 | 
            -
                  optional :height, :uint32, 3
         | 
| 96 | 
            -
                  optional :bitrate, :uint32, 4
         | 
| 97 | 
            -
                  optional :ssrc, :uint32, 5
         | 
| 98 | 
            -
                end
         | 
| 99 | 
            -
                add_message "livekit.DataPacket" do
         | 
| 100 | 
            -
                  optional :kind, :enum, 1, "livekit.DataPacket.Kind"
         | 
| 101 | 
            -
                  oneof :value do
         | 
| 102 | 
            -
                    optional :user, :message, 2, "livekit.UserPacket"
         | 
| 103 | 
            -
                    optional :speaker, :message, 3, "livekit.ActiveSpeakerUpdate"
         | 
| 104 | 
            -
                  end
         | 
| 105 | 
            -
                end
         | 
| 106 | 
            -
                add_enum "livekit.DataPacket.Kind" do
         | 
| 107 | 
            -
                  value :RELIABLE, 0
         | 
| 108 | 
            -
                  value :LOSSY, 1
         | 
| 109 | 
            -
                end
         | 
| 110 | 
            -
                add_message "livekit.ActiveSpeakerUpdate" do
         | 
| 111 | 
            -
                  repeated :speakers, :message, 1, "livekit.SpeakerInfo"
         | 
| 112 | 
            -
                end
         | 
| 113 | 
            -
                add_message "livekit.SpeakerInfo" do
         | 
| 114 | 
            -
                  optional :sid, :string, 1
         | 
| 115 | 
            -
                  optional :level, :float, 2
         | 
| 116 | 
            -
                  optional :active, :bool, 3
         | 
| 117 | 
            -
                end
         | 
| 118 | 
            -
                add_message "livekit.UserPacket" do
         | 
| 119 | 
            -
                  optional :participant_sid, :string, 1
         | 
| 120 | 
            -
                  optional :payload, :bytes, 2
         | 
| 121 | 
            -
                  repeated :destination_sids, :string, 3
         | 
| 122 | 
            -
                  proto3_optional :topic, :string, 4
         | 
| 123 | 
            -
                end
         | 
| 124 | 
            -
                add_message "livekit.ParticipantTracks" do
         | 
| 125 | 
            -
                  optional :participant_sid, :string, 1
         | 
| 126 | 
            -
                  repeated :track_sids, :string, 2
         | 
| 127 | 
            -
                end
         | 
| 128 | 
            -
                add_message "livekit.ServerInfo" do
         | 
| 129 | 
            -
                  optional :edition, :enum, 1, "livekit.ServerInfo.Edition"
         | 
| 130 | 
            -
                  optional :version, :string, 2
         | 
| 131 | 
            -
                  optional :protocol, :int32, 3
         | 
| 132 | 
            -
                  optional :region, :string, 4
         | 
| 133 | 
            -
                  optional :node_id, :string, 5
         | 
| 134 | 
            -
                  optional :debug_info, :string, 6
         | 
| 135 | 
            -
                end
         | 
| 136 | 
            -
                add_enum "livekit.ServerInfo.Edition" do
         | 
| 137 | 
            -
                  value :Standard, 0
         | 
| 138 | 
            -
                  value :Cloud, 1
         | 
| 139 | 
            -
                end
         | 
| 140 | 
            -
                add_message "livekit.ClientInfo" do
         | 
| 141 | 
            -
                  optional :sdk, :enum, 1, "livekit.ClientInfo.SDK"
         | 
| 142 | 
            -
                  optional :version, :string, 2
         | 
| 143 | 
            -
                  optional :protocol, :int32, 3
         | 
| 144 | 
            -
                  optional :os, :string, 4
         | 
| 145 | 
            -
                  optional :os_version, :string, 5
         | 
| 146 | 
            -
                  optional :device_model, :string, 6
         | 
| 147 | 
            -
                  optional :browser, :string, 7
         | 
| 148 | 
            -
                  optional :browser_version, :string, 8
         | 
| 149 | 
            -
                  optional :address, :string, 9
         | 
| 150 | 
            -
                  optional :network, :string, 10
         | 
| 151 | 
            -
                end
         | 
| 152 | 
            -
                add_enum "livekit.ClientInfo.SDK" do
         | 
| 153 | 
            -
                  value :UNKNOWN, 0
         | 
| 154 | 
            -
                  value :JS, 1
         | 
| 155 | 
            -
                  value :SWIFT, 2
         | 
| 156 | 
            -
                  value :ANDROID, 3
         | 
| 157 | 
            -
                  value :FLUTTER, 4
         | 
| 158 | 
            -
                  value :GO, 5
         | 
| 159 | 
            -
                  value :UNITY, 6
         | 
| 160 | 
            -
                  value :REACT_NATIVE, 7
         | 
| 161 | 
            -
                  value :RUST, 8
         | 
| 162 | 
            -
                  value :PYTHON, 9
         | 
| 163 | 
            -
                  value :CPP, 10
         | 
| 164 | 
            -
                end
         | 
| 165 | 
            -
                add_message "livekit.ClientConfiguration" do
         | 
| 166 | 
            -
                  optional :video, :message, 1, "livekit.VideoConfiguration"
         | 
| 167 | 
            -
                  optional :screen, :message, 2, "livekit.VideoConfiguration"
         | 
| 168 | 
            -
                  optional :resume_connection, :enum, 3, "livekit.ClientConfigSetting"
         | 
| 169 | 
            -
                  optional :disabled_codecs, :message, 4, "livekit.DisabledCodecs"
         | 
| 170 | 
            -
                  optional :force_relay, :enum, 5, "livekit.ClientConfigSetting"
         | 
| 171 | 
            -
                end
         | 
| 172 | 
            -
                add_message "livekit.VideoConfiguration" do
         | 
| 173 | 
            -
                  optional :hardware_encoder, :enum, 1, "livekit.ClientConfigSetting"
         | 
| 174 | 
            -
                end
         | 
| 175 | 
            -
                add_message "livekit.DisabledCodecs" do
         | 
| 176 | 
            -
                  repeated :codecs, :message, 1, "livekit.Codec"
         | 
| 177 | 
            -
                  repeated :publish, :message, 2, "livekit.Codec"
         | 
| 178 | 
            -
                end
         | 
| 179 | 
            -
                add_message "livekit.RTPStats" do
         | 
| 180 | 
            -
                  optional :start_time, :message, 1, "google.protobuf.Timestamp"
         | 
| 181 | 
            -
                  optional :end_time, :message, 2, "google.protobuf.Timestamp"
         | 
| 182 | 
            -
                  optional :duration, :double, 3
         | 
| 183 | 
            -
                  optional :packets, :uint32, 4
         | 
| 184 | 
            -
                  optional :packet_rate, :double, 5
         | 
| 185 | 
            -
                  optional :bytes, :uint64, 6
         | 
| 186 | 
            -
                  optional :header_bytes, :uint64, 39
         | 
| 187 | 
            -
                  optional :bitrate, :double, 7
         | 
| 188 | 
            -
                  optional :packets_lost, :uint32, 8
         | 
| 189 | 
            -
                  optional :packet_loss_rate, :double, 9
         | 
| 190 | 
            -
                  optional :packet_loss_percentage, :float, 10
         | 
| 191 | 
            -
                  optional :packets_duplicate, :uint32, 11
         | 
| 192 | 
            -
                  optional :packet_duplicate_rate, :double, 12
         | 
| 193 | 
            -
                  optional :bytes_duplicate, :uint64, 13
         | 
| 194 | 
            -
                  optional :header_bytes_duplicate, :uint64, 40
         | 
| 195 | 
            -
                  optional :bitrate_duplicate, :double, 14
         | 
| 196 | 
            -
                  optional :packets_padding, :uint32, 15
         | 
| 197 | 
            -
                  optional :packet_padding_rate, :double, 16
         | 
| 198 | 
            -
                  optional :bytes_padding, :uint64, 17
         | 
| 199 | 
            -
                  optional :header_bytes_padding, :uint64, 41
         | 
| 200 | 
            -
                  optional :bitrate_padding, :double, 18
         | 
| 201 | 
            -
                  optional :packets_out_of_order, :uint32, 19
         | 
| 202 | 
            -
                  optional :frames, :uint32, 20
         | 
| 203 | 
            -
                  optional :frame_rate, :double, 21
         | 
| 204 | 
            -
                  optional :jitter_current, :double, 22
         | 
| 205 | 
            -
                  optional :jitter_max, :double, 23
         | 
| 206 | 
            -
                  map :gap_histogram, :int32, :uint32, 24
         | 
| 207 | 
            -
                  optional :nacks, :uint32, 25
         | 
| 208 | 
            -
                  optional :nack_acks, :uint32, 37
         | 
| 209 | 
            -
                  optional :nack_misses, :uint32, 26
         | 
| 210 | 
            -
                  optional :nack_repeated, :uint32, 38
         | 
| 211 | 
            -
                  optional :plis, :uint32, 27
         | 
| 212 | 
            -
                  optional :last_pli, :message, 28, "google.protobuf.Timestamp"
         | 
| 213 | 
            -
                  optional :firs, :uint32, 29
         | 
| 214 | 
            -
                  optional :last_fir, :message, 30, "google.protobuf.Timestamp"
         | 
| 215 | 
            -
                  optional :rtt_current, :uint32, 31
         | 
| 216 | 
            -
                  optional :rtt_max, :uint32, 32
         | 
| 217 | 
            -
                  optional :key_frames, :uint32, 33
         | 
| 218 | 
            -
                  optional :last_key_frame, :message, 34, "google.protobuf.Timestamp"
         | 
| 219 | 
            -
                  optional :layer_lock_plis, :uint32, 35
         | 
| 220 | 
            -
                  optional :last_layer_lock_pli, :message, 36, "google.protobuf.Timestamp"
         | 
| 221 | 
            -
                  optional :sample_rate, :double, 42
         | 
| 222 | 
            -
                  optional :drift_ms, :double, 43
         | 
| 223 | 
            -
                end
         | 
| 224 | 
            -
                add_message "livekit.TimedVersion" do
         | 
| 225 | 
            -
                  optional :unix_micro, :int64, 1
         | 
| 226 | 
            -
                  optional :ticks, :int32, 2
         | 
| 227 | 
            -
                end
         | 
| 228 | 
            -
                add_enum "livekit.AudioCodec" do
         | 
| 229 | 
            -
                  value :DEFAULT_AC, 0
         | 
| 230 | 
            -
                  value :OPUS, 1
         | 
| 231 | 
            -
                  value :AAC, 2
         | 
| 232 | 
            -
                end
         | 
| 233 | 
            -
                add_enum "livekit.VideoCodec" do
         | 
| 234 | 
            -
                  value :DEFAULT_VC, 0
         | 
| 235 | 
            -
                  value :H264_BASELINE, 1
         | 
| 236 | 
            -
                  value :H264_MAIN, 2
         | 
| 237 | 
            -
                  value :H264_HIGH, 3
         | 
| 238 | 
            -
                  value :VP8, 4
         | 
| 239 | 
            -
                end
         | 
| 240 | 
            -
                add_enum "livekit.TrackType" do
         | 
| 241 | 
            -
                  value :AUDIO, 0
         | 
| 242 | 
            -
                  value :VIDEO, 1
         | 
| 243 | 
            -
                  value :DATA, 2
         | 
| 244 | 
            -
                end
         | 
| 245 | 
            -
                add_enum "livekit.TrackSource" do
         | 
| 246 | 
            -
                  value :UNKNOWN, 0
         | 
| 247 | 
            -
                  value :CAMERA, 1
         | 
| 248 | 
            -
                  value :MICROPHONE, 2
         | 
| 249 | 
            -
                  value :SCREEN_SHARE, 3
         | 
| 250 | 
            -
                  value :SCREEN_SHARE_AUDIO, 4
         | 
| 251 | 
            -
                end
         | 
| 252 | 
            -
                add_enum "livekit.VideoQuality" do
         | 
| 253 | 
            -
                  value :LOW, 0
         | 
| 254 | 
            -
                  value :MEDIUM, 1
         | 
| 255 | 
            -
                  value :HIGH, 2
         | 
| 256 | 
            -
                  value :OFF, 3
         | 
| 257 | 
            -
                end
         | 
| 258 | 
            -
                add_enum "livekit.ConnectionQuality" do
         | 
| 259 | 
            -
                  value :POOR, 0
         | 
| 260 | 
            -
                  value :GOOD, 1
         | 
| 261 | 
            -
                  value :EXCELLENT, 2
         | 
| 262 | 
            -
                end
         | 
| 263 | 
            -
                add_enum "livekit.ClientConfigSetting" do
         | 
| 264 | 
            -
                  value :UNSET, 0
         | 
| 265 | 
            -
                  value :DISABLED, 1
         | 
| 266 | 
            -
                  value :ENABLED, 2
         | 
| 267 | 
            -
                end
         | 
| 268 | 
            -
                add_enum "livekit.DisconnectReason" do
         | 
| 269 | 
            -
                  value :UNKNOWN_REASON, 0
         | 
| 270 | 
            -
                  value :CLIENT_INITIATED, 1
         | 
| 271 | 
            -
                  value :DUPLICATE_IDENTITY, 2
         | 
| 272 | 
            -
                  value :SERVER_SHUTDOWN, 3
         | 
| 273 | 
            -
                  value :PARTICIPANT_REMOVED, 4
         | 
| 274 | 
            -
                  value :ROOM_DELETED, 5
         | 
| 275 | 
            -
                  value :STATE_MISMATCH, 6
         | 
| 276 | 
            -
                  value :JOIN_FAILURE, 7
         | 
| 277 | 
            -
                end
         | 
| 278 | 
            -
                add_enum "livekit.ReconnectReason" do
         | 
| 279 | 
            -
                  value :RR_UNKNOWN, 0
         | 
| 280 | 
            -
                  value :RR_SIGNAL_DISCONNECTED, 1
         | 
| 281 | 
            -
                  value :RR_PUBLISHER_FAILED, 2
         | 
| 282 | 
            -
                  value :RR_SUBSCRIBER_FAILED, 3
         | 
| 283 | 
            -
                  value :RR_SWITCH_CANDIDATE, 4
         | 
| 284 | 
            -
                end
         | 
| 285 | 
            -
                add_enum "livekit.SubscriptionError" do
         | 
| 286 | 
            -
                  value :SE_UNKNOWN, 0
         | 
| 287 | 
            -
                  value :SE_CODEC_UNSUPPORTED, 1
         | 
| 288 | 
            -
                  value :SE_TRACK_NOTFOUND, 2
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            descriptor_data = "\n\x14livekit_models.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\"\x86\x02\n\x04Room\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rempty_timeout\x18\x03 \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x15\n\rcreation_time\x18\x05 \x01(\x03\x12\x15\n\rturn_password\x18\x06 \x01(\t\x12&\n\x0e\x65nabled_codecs\x18\x07 \x03(\x0b\x32\x0e.livekit.Codec\x12\x10\n\x08metadata\x18\x08 \x01(\t\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\xcf\x01\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x10\n\x08recorder\x18\x08 \x01(\x08\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\"\xe1\x02\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x0c\n\x04name\x18\t \x01(\t\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"f\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\"\x99\x03\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x11\n\tsimulcast\x18\x07 \x01(\x08\x12\x13\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12#\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x0e\n\x06stereo\x18\x0e \x01(\x08\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\"r\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\"\xb4\x01\n\nDataPacket\x12&\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12/\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateH\x00\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"=\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xac\x01\n\nUserPacket\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x18\n\x10\x64\x65stination_sids\x18\x03 \x03(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xb6\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x0f\n\x07node_id\x18\x05 \x01(\t\x12\x12\n\ndebug_info\x18\x06 \x01(\t\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\xdd\x02\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\"\x83\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xef\t\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18  \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12\'\n\x0creport_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05*/\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*6\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xba\x01\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            begin
         | 
| 15 | 
            +
              pool.add_serialized_file(descriptor_data)
         | 
| 16 | 
            +
            rescue TypeError => e
         | 
| 17 | 
            +
              # Compatibility code: will be removed in the next major version.
         | 
| 18 | 
            +
              require 'google/protobuf/descriptor_pb'
         | 
| 19 | 
            +
              parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
         | 
| 20 | 
            +
              parsed.clear_dependency
         | 
| 21 | 
            +
              serialized = parsed.class.encode(parsed)
         | 
| 22 | 
            +
              file = pool.add_serialized_file(serialized)
         | 
| 23 | 
            +
              warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
         | 
| 24 | 
            +
              imports = [
         | 
| 25 | 
            +
                ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
         | 
| 26 | 
            +
              ]
         | 
| 27 | 
            +
              imports.each do |type_name, expected_filename|
         | 
| 28 | 
            +
                import_file = pool.lookup(type_name).file_descriptor
         | 
| 29 | 
            +
                if import_file.name != expected_filename
         | 
| 30 | 
            +
                  warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
         | 
| 289 31 | 
             
                end
         | 
| 290 32 | 
             
              end
         | 
| 33 | 
            +
              warn "Each proto file must use a consistent fully-qualified name."
         | 
| 34 | 
            +
              warn "This will become an error in the next major version."
         | 
| 291 35 | 
             
            end
         | 
| 292 36 |  | 
| 293 37 | 
             
            module LiveKit
         | 
| @@ -316,10 +60,12 @@ module LiveKit | |
| 316 60 | 
             
                ClientConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfiguration").msgclass
         | 
| 317 61 | 
             
                VideoConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoConfiguration").msgclass
         | 
| 318 62 | 
             
                DisabledCodecs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DisabledCodecs").msgclass
         | 
| 63 | 
            +
                RTPDrift = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPDrift").msgclass
         | 
| 319 64 | 
             
                RTPStats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RTPStats").msgclass
         | 
| 320 65 | 
             
                TimedVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TimedVersion").msgclass
         | 
| 321 66 | 
             
                AudioCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AudioCodec").enummodule
         | 
| 322 67 | 
             
                VideoCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoCodec").enummodule
         | 
| 68 | 
            +
                ImageCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageCodec").enummodule
         | 
| 323 69 | 
             
                TrackType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackType").enummodule
         | 
| 324 70 | 
             
                TrackSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackSource").enummodule
         | 
| 325 71 | 
             
                VideoQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoQuality").enummodule
         | 
| @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 1 2 | 
             
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 3 | 
             
            # source: livekit_room.proto
         | 
| 3 4 |  | 
| @@ -6,83 +7,33 @@ require 'google/protobuf' | |
| 6 7 | 
             
            require 'livekit_models_pb'
         | 
| 7 8 | 
             
            require 'livekit_egress_pb'
         | 
| 8 9 |  | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
                 | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
                 | 
| 30 | 
            -
                 | 
| 31 | 
            -
                   | 
| 32 | 
            -
                end
         | 
| 33 | 
            -
                add_message "livekit.DeleteRoomResponse" do
         | 
| 34 | 
            -
                end
         | 
| 35 | 
            -
                add_message "livekit.ListParticipantsRequest" do
         | 
| 36 | 
            -
                  optional :room, :string, 1
         | 
| 37 | 
            -
                end
         | 
| 38 | 
            -
                add_message "livekit.ListParticipantsResponse" do
         | 
| 39 | 
            -
                  repeated :participants, :message, 1, "livekit.ParticipantInfo"
         | 
| 40 | 
            -
                end
         | 
| 41 | 
            -
                add_message "livekit.RoomParticipantIdentity" do
         | 
| 42 | 
            -
                  optional :room, :string, 1
         | 
| 43 | 
            -
                  optional :identity, :string, 2
         | 
| 44 | 
            -
                end
         | 
| 45 | 
            -
                add_message "livekit.RemoveParticipantResponse" do
         | 
| 46 | 
            -
                end
         | 
| 47 | 
            -
                add_message "livekit.MuteRoomTrackRequest" do
         | 
| 48 | 
            -
                  optional :room, :string, 1
         | 
| 49 | 
            -
                  optional :identity, :string, 2
         | 
| 50 | 
            -
                  optional :track_sid, :string, 3
         | 
| 51 | 
            -
                  optional :muted, :bool, 4
         | 
| 52 | 
            -
                end
         | 
| 53 | 
            -
                add_message "livekit.MuteRoomTrackResponse" do
         | 
| 54 | 
            -
                  optional :track, :message, 1, "livekit.TrackInfo"
         | 
| 55 | 
            -
                end
         | 
| 56 | 
            -
                add_message "livekit.UpdateParticipantRequest" do
         | 
| 57 | 
            -
                  optional :room, :string, 1
         | 
| 58 | 
            -
                  optional :identity, :string, 2
         | 
| 59 | 
            -
                  optional :metadata, :string, 3
         | 
| 60 | 
            -
                  optional :permission, :message, 4, "livekit.ParticipantPermission"
         | 
| 61 | 
            -
                  optional :name, :string, 5
         | 
| 62 | 
            -
                end
         | 
| 63 | 
            -
                add_message "livekit.UpdateSubscriptionsRequest" do
         | 
| 64 | 
            -
                  optional :room, :string, 1
         | 
| 65 | 
            -
                  optional :identity, :string, 2
         | 
| 66 | 
            -
                  repeated :track_sids, :string, 3
         | 
| 67 | 
            -
                  optional :subscribe, :bool, 4
         | 
| 68 | 
            -
                  repeated :participant_tracks, :message, 5, "livekit.ParticipantTracks"
         | 
| 69 | 
            -
                end
         | 
| 70 | 
            -
                add_message "livekit.UpdateSubscriptionsResponse" do
         | 
| 71 | 
            -
                end
         | 
| 72 | 
            -
                add_message "livekit.SendDataRequest" do
         | 
| 73 | 
            -
                  optional :room, :string, 1
         | 
| 74 | 
            -
                  optional :data, :bytes, 2
         | 
| 75 | 
            -
                  optional :kind, :enum, 3, "livekit.DataPacket.Kind"
         | 
| 76 | 
            -
                  repeated :destination_sids, :string, 4
         | 
| 77 | 
            -
                  proto3_optional :topic, :string, 5
         | 
| 78 | 
            -
                end
         | 
| 79 | 
            -
                add_message "livekit.SendDataResponse" do
         | 
| 80 | 
            -
                end
         | 
| 81 | 
            -
                add_message "livekit.UpdateRoomMetadataRequest" do
         | 
| 82 | 
            -
                  optional :room, :string, 1
         | 
| 83 | 
            -
                  optional :metadata, :string, 2
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            descriptor_data = "\n\x12livekit_room.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\"\xe6\x01\n\x11\x43reateRoomRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x18\n\x10max_participants\x18\x03 \x01(\r\x12\x0f\n\x07node_id\x18\x04 \x01(\t\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12#\n\x06\x65gress\x18\x06 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\"\x9e\x01\n\nRoomEgress\x12\x31\n\x04room\x18\x01 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequest\x12\x33\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x1e.livekit.AutoParticipantEgress\x12(\n\x06tracks\x18\x02 \x01(\x0b\x32\x18.livekit.AutoTrackEgress\"!\n\x10ListRoomsRequest\x12\r\n\x05names\x18\x01 \x03(\t\"1\n\x11ListRoomsResponse\x12\x1c\n\x05rooms\x18\x01 \x03(\x0b\x32\r.livekit.Room\"!\n\x11\x44\x65leteRoomRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"\x14\n\x12\x44\x65leteRoomResponse\"\'\n\x17ListParticipantsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"J\n\x18ListParticipantsResponse\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"9\n\x17RoomParticipantIdentity\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\"\x1b\n\x19RemoveParticipantResponse\"X\n\x14MuteRoomTrackRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\":\n\x15MuteRoomTrackResponse\x12!\n\x05track\x18\x01 \x01(\x0b\x32\x12.livekit.TrackInfo\"\x8e\x01\n\x18UpdateParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\x12\x32\n\npermission\x18\x04 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0c\n\x04name\x18\x05 \x01(\t\"\x9b\x01\n\x1aUpdateSubscriptionsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x11\n\tsubscribe\x18\x04 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x05 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\x1d\n\x1bUpdateSubscriptionsResponse\"\xb1\x01\n\x0fSendDataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12&\n\x04kind\x18\x03 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12\x1c\n\x10\x64\x65stination_sids\x18\x04 \x03(\tB\x02\x18\x01\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"\x12\n\x10SendDataResponse\";\n\x19UpdateRoomMetadataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08metadata\x18\x02 \x01(\t2\xe6\x06\n\x0bRoomService\x12\x37\n\nCreateRoom\x12\x1a.livekit.CreateRoomRequest\x1a\r.livekit.Room\x12\x42\n\tListRooms\x12\x19.livekit.ListRoomsRequest\x1a\x1a.livekit.ListRoomsResponse\x12\x45\n\nDeleteRoom\x12\x1a.livekit.DeleteRoomRequest\x1a\x1b.livekit.DeleteRoomResponse\x12W\n\x10ListParticipants\x12 .livekit.ListParticipantsRequest\x1a!.livekit.ListParticipantsResponse\x12L\n\x0eGetParticipant\x12 .livekit.RoomParticipantIdentity\x1a\x18.livekit.ParticipantInfo\x12Y\n\x11RemoveParticipant\x12 .livekit.RoomParticipantIdentity\x1a\".livekit.RemoveParticipantResponse\x12S\n\x12MutePublishedTrack\x12\x1d.livekit.MuteRoomTrackRequest\x1a\x1e.livekit.MuteRoomTrackResponse\x12P\n\x11UpdateParticipant\x12!.livekit.UpdateParticipantRequest\x1a\x18.livekit.ParticipantInfo\x12`\n\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\x12?\n\x08SendData\x12\x18.livekit.SendDataRequest\x1a\x19.livekit.SendDataResponse\x12G\n\x12UpdateRoomMetadata\x12\".livekit.UpdateRoomMetadataRequest\x1a\r.livekit.RoomBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            begin
         | 
| 16 | 
            +
              pool.add_serialized_file(descriptor_data)
         | 
| 17 | 
            +
            rescue TypeError => e
         | 
| 18 | 
            +
              # Compatibility code: will be removed in the next major version.
         | 
| 19 | 
            +
              require 'google/protobuf/descriptor_pb'
         | 
| 20 | 
            +
              parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
         | 
| 21 | 
            +
              parsed.clear_dependency
         | 
| 22 | 
            +
              serialized = parsed.class.encode(parsed)
         | 
| 23 | 
            +
              file = pool.add_serialized_file(serialized)
         | 
| 24 | 
            +
              warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
         | 
| 25 | 
            +
              imports = [
         | 
| 26 | 
            +
                ["livekit.RoomCompositeEgressRequest", "livekit_egress.proto"],
         | 
| 27 | 
            +
                ["livekit.Room", "livekit_models.proto"],
         | 
| 28 | 
            +
              ]
         | 
| 29 | 
            +
              imports.each do |type_name, expected_filename|
         | 
| 30 | 
            +
                import_file = pool.lookup(type_name).file_descriptor
         | 
| 31 | 
            +
                if import_file.name != expected_filename
         | 
| 32 | 
            +
                  warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
         | 
| 84 33 | 
             
                end
         | 
| 85 34 | 
             
              end
         | 
| 35 | 
            +
              warn "Each proto file must use a consistent fully-qualified name."
         | 
| 36 | 
            +
              warn "This will become an error in the next major version."
         | 
| 86 37 | 
             
            end
         | 
| 87 38 |  | 
| 88 39 | 
             
            module LiveKit
         | 
| @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 1 2 | 
             
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 3 | 
             
            # source: livekit_webhook.proto
         | 
| 3 4 |  | 
| @@ -7,20 +8,34 @@ require 'livekit_models_pb' | |
| 7 8 | 
             
            require 'livekit_egress_pb'
         | 
| 8 9 | 
             
            require 'livekit_ingress_pb'
         | 
| 9 10 |  | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 11 | 
            +
             | 
| 12 | 
            +
            descriptor_data = "\n\x15livekit_webhook.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x15livekit_ingress.proto\"\x97\x02\n\x0cWebhookEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x1b\n\x04room\x18\x02 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12(\n\x0b\x65gress_info\x18\t \x01(\x0b\x32\x13.livekit.EgressInfo\x12*\n\x0cingress_info\x18\n \x01(\x0b\x32\x14.livekit.IngressInfo\x12!\n\x05track\x18\x08 \x01(\x0b\x32\x12.livekit.TrackInfo\x12\n\n\x02id\x18\x06 \x01(\t\x12\x12\n\ncreated_at\x18\x07 \x01(\x03\x12\x13\n\x0bnum_dropped\x18\x0b \x01(\x05\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            begin
         | 
| 17 | 
            +
              pool.add_serialized_file(descriptor_data)
         | 
| 18 | 
            +
            rescue TypeError => e
         | 
| 19 | 
            +
              # Compatibility code: will be removed in the next major version.
         | 
| 20 | 
            +
              require 'google/protobuf/descriptor_pb'
         | 
| 21 | 
            +
              parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
         | 
| 22 | 
            +
              parsed.clear_dependency
         | 
| 23 | 
            +
              serialized = parsed.class.encode(parsed)
         | 
| 24 | 
            +
              file = pool.add_serialized_file(serialized)
         | 
| 25 | 
            +
              warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
         | 
| 26 | 
            +
              imports = [
         | 
| 27 | 
            +
                ["livekit.Room", "livekit_models.proto"],
         | 
| 28 | 
            +
                ["livekit.EgressInfo", "livekit_egress.proto"],
         | 
| 29 | 
            +
                ["livekit.IngressInfo", "livekit_ingress.proto"],
         | 
| 30 | 
            +
              ]
         | 
| 31 | 
            +
              imports.each do |type_name, expected_filename|
         | 
| 32 | 
            +
                import_file = pool.lookup(type_name).file_descriptor
         | 
| 33 | 
            +
                if import_file.name != expected_filename
         | 
| 34 | 
            +
                  warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
         | 
| 22 35 | 
             
                end
         | 
| 23 36 | 
             
              end
         | 
| 37 | 
            +
              warn "Each proto file must use a consistent fully-qualified name."
         | 
| 38 | 
            +
              warn "This will become an error in the next major version."
         | 
| 24 39 | 
             
            end
         | 
| 25 40 |  | 
| 26 41 | 
             
            module LiveKit
         | 
| @@ -13,7 +13,15 @@ module LiveKit | |
| 13 13 | 
             
                  @api_secret = api_secret
         | 
| 14 14 | 
             
                end
         | 
| 15 15 |  | 
| 16 | 
            -
                def create_room(name, | 
| 16 | 
            +
                def create_room(name,
         | 
| 17 | 
            +
                    empty_timeout: nil,
         | 
| 18 | 
            +
                    max_participants: nil,
         | 
| 19 | 
            +
                    egress: nil,
         | 
| 20 | 
            +
                    metadata: nil,
         | 
| 21 | 
            +
                    min_playout_delay: nil,
         | 
| 22 | 
            +
                    max_playout_delay: nil,
         | 
| 23 | 
            +
                    sync_streams: nil
         | 
| 24 | 
            +
                  )
         | 
| 17 25 | 
             
                  self.rpc(
         | 
| 18 26 | 
             
                    :CreateRoom,
         | 
| 19 27 | 
             
                    Proto::CreateRoomRequest.new(
         | 
| @@ -21,6 +29,10 @@ module LiveKit | |
| 21 29 | 
             
                      empty_timeout: empty_timeout,
         | 
| 22 30 | 
             
                      max_participants: max_participants,
         | 
| 23 31 | 
             
                      egress: egress,
         | 
| 32 | 
            +
                      metadata: metadata,
         | 
| 33 | 
            +
                      min_playout_delay: min_playout_delay,
         | 
| 34 | 
            +
                      max_playout_delay: max_playout_delay,
         | 
| 35 | 
            +
                      sync_streams: sync_streams
         | 
| 24 36 | 
             
                    ),
         | 
| 25 37 | 
             
                    headers: auth_header(roomCreate: true),
         | 
| 26 38 | 
             
                  )
         | 
| @@ -118,7 +130,10 @@ module LiveKit | |
| 118 130 | 
             
                  )
         | 
| 119 131 | 
             
                end
         | 
| 120 132 |  | 
| 121 | 
            -
                def send_data(room:, data:, kind:, | 
| 133 | 
            +
                def send_data(room:, data:, kind:,
         | 
| 134 | 
            +
                    destination_sids: [],
         | 
| 135 | 
            +
                    destination_identities: []
         | 
| 136 | 
            +
                  )
         | 
| 122 137 | 
             
                  self.rpc(
         | 
| 123 138 | 
             
                    :SendData,
         | 
| 124 139 | 
             
                    Proto::SendDataRequest.new(
         | 
| @@ -126,6 +141,7 @@ module LiveKit | |
| 126 141 | 
             
                      data: data,
         | 
| 127 142 | 
             
                      kind: kind,
         | 
| 128 143 | 
             
                      destination_sids: destination_sids,
         | 
| 144 | 
            +
                      destination_identities: destination_identities,
         | 
| 129 145 | 
             
                    ),
         | 
| 130 146 | 
             
                    headers: auth_header(roomAdmin: true, room: room),
         | 
| 131 147 | 
             
                  )
         | 
    
        data/lib/livekit/version.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.6.1
         | 
| 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: 2023- | 
| 12 | 
            +
            date: 2023-10-20 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: google-protobuf
         | 
| @@ -172,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 172 172 | 
             
                - !ruby/object:Gem::Version
         | 
| 173 173 | 
             
                  version: '0'
         | 
| 174 174 | 
             
            requirements: []
         | 
| 175 | 
            -
            rubygems_version: 3. | 
| 175 | 
            +
            rubygems_version: 3.3.7
         | 
| 176 176 | 
             
            signing_key:
         | 
| 177 177 | 
             
            specification_version: 4
         | 
| 178 178 | 
             
            summary: LiveKit Server SDK for Ruby
         |