Packages

An Elixir client for LiveKit, providing tools for interacting with LiveKit servers, including access token generation, room management, and webhook verification.

Current section

Files

Jump to
livekitex lib livekit_ingress.pb.ex
Raw

lib/livekit_ingress.pb.ex

defmodule Livekit.IngressInput do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:RTMP_INPUT, 0)
field(:WHIP_INPUT, 1)
field(:URL_INPUT, 2)
end
defmodule Livekit.IngressAudioEncodingPreset do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:OPUS_STEREO_96KBPS, 0)
field(:OPUS_MONO_64KBPS, 1)
end
defmodule Livekit.IngressVideoEncodingPreset do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:H264_720P_30FPS_3_LAYERS, 0)
field(:H264_1080P_30FPS_3_LAYERS, 1)
field(:H264_720P_30FPS_1_LAYER, 2)
field(:H264_1080P_30FPS_1_LAYER, 3)
end
defmodule Livekit.IngressStatus do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:ENDPOINT_INACTIVE, 0)
field(:ENDPOINT_BUFFERING, 1)
field(:ENDPOINT_PUBLISHING, 2)
field(:ENDPOINT_ERROR, 3)
field(:ENDPOINT_COMPLETE, 4)
end
defmodule Livekit.CreateIngressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:audio, 0)
oneof(:video, 1)
field(:input_type, 1, type: Livekit.IngressInput, json_name: "inputType", enum: true)
field(:url, 9, type: :string)
field(:name, 2, type: :string)
field(:room_name, 3, type: :string, json_name: "roomName")
field(:participant_identity, 4, type: :string, json_name: "participantIdentity")
field(:participant_name, 5, type: :string, json_name: "participantName")
field(:bypass_transcoding, 8, type: :bool, json_name: "bypassTranscoding")
field(:audio_options, 6, type: Livekit.IngressAudioOptions, json_name: "audioOptions", oneof: 0)
field(:audio_preset, 10,
type: Livekit.IngressAudioEncodingPreset,
json_name: "audioPreset",
enum: true,
oneof: 0
)
field(:video_options, 7, type: Livekit.IngressVideoOptions, json_name: "videoOptions", oneof: 1)
field(:video_preset, 11,
type: Livekit.IngressVideoEncodingPreset,
json_name: "videoPreset",
enum: true,
oneof: 1
)
end
defmodule Livekit.IngressAudioOptions do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:encoding_options, 0)
field(:name, 1, type: :string)
field(:source, 2, type: Livekit.TrackSource, enum: true)
field(:preset, 3, type: Livekit.IngressAudioEncodingOptions, oneof: 0)
field(:options, 4, type: Livekit.IngressAudioEncodingOptions, oneof: 0)
end
defmodule Livekit.IngressVideoOptions do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:encoding_options, 0)
field(:name, 1, type: :string)
field(:source, 2, type: Livekit.TrackSource, enum: true)
field(:preset, 3, type: Livekit.IngressVideoEncodingOptions, oneof: 0)
field(:options, 4, type: Livekit.IngressVideoEncodingOptions, oneof: 0)
end
defmodule Livekit.IngressAudioEncodingOptions do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:audio_codec, 1, type: Livekit.AudioCodec, json_name: "audioCodec", enum: true)
field(:bitrate, 2, type: :uint32)
field(:disable_dtx, 3, type: :bool, json_name: "disableDtx")
field(:channels, 4, type: :uint32)
end
defmodule Livekit.IngressVideoEncodingOptions do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:video_codec, 1, type: Livekit.VideoCodec, json_name: "videoCodec", enum: true)
field(:frame_rate, 2, type: :double, json_name: "frameRate")
field(:layers, 3, repeated: true, type: Livekit.VideoLayer)
end
defmodule Livekit.IngressInfo do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:ingress_id, 1, type: :string, json_name: "ingressId")
field(:name, 2, type: :string)
field(:stream_key, 3, type: :string, json_name: "streamKey")
field(:url, 4, type: :string)
field(:input_type, 5, type: Livekit.IngressInput, json_name: "inputType", enum: true)
field(:bypass_transcoding, 13, type: :bool, json_name: "bypassTranscoding")
field(:audio, 6, type: Livekit.IngressAudioOptions)
field(:video, 7, type: Livekit.IngressVideoOptions)
field(:room_name, 8, type: :string, json_name: "roomName")
field(:participant_identity, 9, type: :string, json_name: "participantIdentity")
field(:participant_name, 10, type: :string, json_name: "participantName")
field(:reusable, 11, type: :bool)
field(:state, 12, type: Livekit.IngressState)
end
defmodule Livekit.IngressState do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:status, 1, type: Livekit.IngressStatus, enum: true)
field(:error, 2, type: :string)
field(:video, 3, type: Livekit.VideoState)
field(:audio, 4, type: Livekit.AudioState)
field(:room_id, 5, type: :string, json_name: "roomId")
field(:started_at, 7, type: :int64, json_name: "startedAt")
field(:ended_at, 8, type: :int64, json_name: "endedAt")
field(:resource_id, 9, type: :string, json_name: "resourceId")
field(:tracks, 6, repeated: true, type: Livekit.TrackInfo)
end
defmodule Livekit.VideoState do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:mime_type, 1, type: :string, json_name: "mimeType")
field(:width, 2, type: :uint32)
field(:height, 3, type: :uint32)
field(:framerate, 4, type: :double)
end
defmodule Livekit.AudioState do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:mime_type, 1, type: :string, json_name: "mimeType")
field(:sample_rate, 2, type: :uint32, json_name: "sampleRate")
field(:channels, 3, type: :uint32)
end
defmodule Livekit.UpdateIngressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:audio, 0)
oneof(:video, 1)
field(:ingress_id, 1, type: :string, json_name: "ingressId")
field(:name, 2, type: :string)
field(:room_name, 3, type: :string, json_name: "roomName")
field(:participant_identity, 4, type: :string, json_name: "participantIdentity")
field(:participant_name, 5, type: :string, json_name: "participantName")
field(:bypass_transcoding, 8, type: :bool, json_name: "bypassTranscoding")
field(:audio_options, 6, type: Livekit.IngressAudioOptions, json_name: "audioOptions", oneof: 0)
field(:audio_preset, 9,
type: Livekit.IngressAudioEncodingPreset,
json_name: "audioPreset",
enum: true,
oneof: 0
)
field(:video_options, 7, type: Livekit.IngressVideoOptions, json_name: "videoOptions", oneof: 1)
field(:video_preset, 10,
type: Livekit.IngressVideoEncodingPreset,
json_name: "videoPreset",
enum: true,
oneof: 1
)
end
defmodule Livekit.ListIngressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:room_name, 1, type: :string, json_name: "roomName")
field(:ingress_id, 2, type: :string, json_name: "ingressId")
end
defmodule Livekit.ListIngressResponse do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:items, 1, repeated: true, type: Livekit.IngressInfo)
end
defmodule Livekit.DeleteIngressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:ingress_id, 1, type: :string, json_name: "ingressId")
end