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_egress.pb.ex
Raw

lib/livekit_egress.pb.ex

defmodule Livekit.EgressStatus do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:EGRESS_STARTING, 0)
field(:EGRESS_ACTIVE, 1)
field(:EGRESS_ENDING, 2)
field(:EGRESS_COMPLETE, 3)
field(:EGRESS_FAILED, 4)
field(:EGRESS_ABORTED, 5)
field(:EGRESS_LIMIT_REACHED, 6)
end
defmodule Livekit.SegmentedFileProtocol do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:DEFAULT_SEGMENTED_FILE_PROTOCOL, 0)
field(:HLS_PROTOCOL, 1)
end
defmodule Livekit.EncodedFileType do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:DEFAULT_FILETYPE, 0)
field(:MP4, 1)
field(:OGG, 2)
end
defmodule Livekit.StreamProtocol do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:DEFAULT_PROTOCOL, 0)
field(:RTMP, 1)
field(:SRT, 2)
end
defmodule Livekit.ImageCodec do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:IC_DEFAULT, 0)
field(:IC_JPEG, 1)
end
defmodule Livekit.EncodingOptionsPreset do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:H264_720P_30, 0)
field(:H264_720P_60, 1)
field(:H264_1080P_30, 2)
field(:H264_1080P_60, 3)
field(:PORTRAIT_H264_720P_30, 4)
field(:PORTRAIT_H264_720P_60, 5)
field(:PORTRAIT_H264_1080P_30, 6)
field(:PORTRAIT_H264_1080P_60, 7)
end
defmodule Livekit.AudioCodec do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:DEFAULT_AC, 0)
field(:OPUS, 1)
field(:AAC, 2)
end
defmodule Livekit.VideoCodec do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:DEFAULT_VC, 0)
field(:H264_BASELINE_CODEC, 1)
field(:H264_MAIN_CODEC, 2)
field(:H264_HIGH_CODEC, 3)
end
defmodule Livekit.H264Profile do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:H264_BASELINE_PROFILE, 0)
field(:H264_MAIN_PROFILE, 1)
field(:H264_HIGH_PROFILE, 2)
end
defmodule Livekit.StreamInfo.Status do
@moduledoc false
use Protobuf, enum: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:ACTIVE, 0)
field(:FINISHED, 1)
field(:FAILED, 2)
end
defmodule Livekit.RoomCompositeEgressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:options, 0)
field(:room_name, 1, type: :string, json_name: "roomName")
field(:layout, 2, type: :string)
field(:audio_only, 3, type: :bool, json_name: "audioOnly")
field(:video_only, 4, type: :bool, json_name: "videoOnly")
field(:custom_base_url, 5, type: :string, json_name: "customBaseUrl")
field(:file, 6, type: Livekit.EncodedFileOutput)
field(:stream, 7, type: Livekit.StreamOutput)
field(:file_outputs, 11,
repeated: true,
type: Livekit.EncodedFileOutput,
json_name: "fileOutputs"
)
field(:stream_outputs, 12,
repeated: true,
type: Livekit.StreamOutput,
json_name: "streamOutputs"
)
field(:segment_outputs, 13,
repeated: true,
type: Livekit.SegmentedFileOutput,
json_name: "segmentOutputs"
)
field(:image_outputs, 14, repeated: true, type: Livekit.ImageOutput, json_name: "imageOutputs")
field(:preset, 8, type: Livekit.EncodingOptionsPreset, enum: true, oneof: 0)
field(:advanced, 9, type: Livekit.EncodingOptions, oneof: 0)
field(:segments, 10, type: Livekit.SegmentedFileOutput, deprecated: true)
end
defmodule Livekit.TrackCompositeEgressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:options, 0)
field(:room_name, 1, type: :string, json_name: "roomName")
field(:audio_track_id, 2, type: :string, json_name: "audioTrackId")
field(:video_track_id, 3, type: :string, json_name: "videoTrackId")
field(:file, 4, type: Livekit.EncodedFileOutput)
field(:stream, 5, type: Livekit.StreamOutput)
field(:file_outputs, 11,
repeated: true,
type: Livekit.EncodedFileOutput,
json_name: "fileOutputs"
)
field(:stream_outputs, 12,
repeated: true,
type: Livekit.StreamOutput,
json_name: "streamOutputs"
)
field(:segment_outputs, 13,
repeated: true,
type: Livekit.SegmentedFileOutput,
json_name: "segmentOutputs"
)
field(:image_outputs, 14, repeated: true, type: Livekit.ImageOutput, json_name: "imageOutputs")
field(:preset, 6, type: Livekit.EncodingOptionsPreset, enum: true, oneof: 0)
field(:advanced, 7, type: Livekit.EncodingOptions, oneof: 0)
field(:segments, 8, type: Livekit.SegmentedFileOutput, deprecated: true)
end
defmodule Livekit.TrackEgressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:output, 0)
field(:room_name, 1, type: :string, json_name: "roomName")
field(:track_id, 2, type: :string, json_name: "trackId")
field(:file, 3, type: Livekit.DirectFileOutput, oneof: 0)
field(:websocket_url, 4, type: :string, json_name: "websocketUrl", oneof: 0)
end
defmodule Livekit.ParticipantEgressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:options, 0)
field(:room_name, 1, type: :string, json_name: "roomName")
field(:identity, 2, type: :string)
field(:screen_share, 3, type: :bool, json_name: "screenShare")
field(:file, 4, type: Livekit.EncodedFileOutput)
field(:stream, 5, type: Livekit.StreamOutput)
field(:file_outputs, 11,
repeated: true,
type: Livekit.EncodedFileOutput,
json_name: "fileOutputs"
)
field(:stream_outputs, 12,
repeated: true,
type: Livekit.StreamOutput,
json_name: "streamOutputs"
)
field(:segment_outputs, 13,
repeated: true,
type: Livekit.SegmentedFileOutput,
json_name: "segmentOutputs"
)
field(:image_outputs, 14, repeated: true, type: Livekit.ImageOutput, json_name: "imageOutputs")
field(:preset, 6, type: Livekit.EncodingOptionsPreset, enum: true, oneof: 0)
field(:advanced, 7, type: Livekit.EncodingOptions, oneof: 0)
field(:segments, 8, type: Livekit.SegmentedFileOutput, deprecated: true)
end
defmodule Livekit.WebEgressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:options, 0)
field(:url, 1, type: :string)
field(:audio_only, 2, type: :bool, json_name: "audioOnly")
field(:video_only, 3, type: :bool, json_name: "videoOnly")
field(:await_start_signal, 4, type: :bool, json_name: "awaitStartSignal")
field(:file, 5, type: Livekit.EncodedFileOutput)
field(:stream, 6, type: Livekit.StreamOutput)
field(:file_outputs, 11,
repeated: true,
type: Livekit.EncodedFileOutput,
json_name: "fileOutputs"
)
field(:stream_outputs, 12,
repeated: true,
type: Livekit.StreamOutput,
json_name: "streamOutputs"
)
field(:segment_outputs, 13,
repeated: true,
type: Livekit.SegmentedFileOutput,
json_name: "segmentOutputs"
)
field(:image_outputs, 14, repeated: true, type: Livekit.ImageOutput, json_name: "imageOutputs")
field(:preset, 7, type: Livekit.EncodingOptionsPreset, enum: true, oneof: 0)
field(:advanced, 8, type: Livekit.EncodingOptions, oneof: 0)
field(:segments, 9, type: Livekit.SegmentedFileOutput, deprecated: true)
end
defmodule Livekit.UpdateLayoutRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:egress_id, 1, type: :string, json_name: "egressId")
field(:layout, 2, type: :string)
end
defmodule Livekit.UpdateStreamRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:egress_id, 1, type: :string, json_name: "egressId")
field(:add_output_urls, 2, repeated: true, type: :string, json_name: "addOutputUrls")
field(:remove_output_urls, 3, repeated: true, type: :string, json_name: "removeOutputUrls")
end
defmodule Livekit.ListEgressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:room_name, 1, type: :string, json_name: "roomName")
field(:egress_id, 2, type: :string, json_name: "egressId")
field(:active, 3, type: :bool)
end
defmodule Livekit.ListEgressResponse do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:items, 1, repeated: true, type: Livekit.EgressInfo)
end
defmodule Livekit.StopEgressRequest do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:egress_id, 1, type: :string, json_name: "egressId")
end
defmodule Livekit.EgressInfo do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:egress_id, 1, type: :string, json_name: "egressId")
field(:room_id, 2, type: :string, json_name: "roomId")
field(:room_name, 13, type: :string, json_name: "roomName")
field(:status, 3, type: Livekit.EgressStatus, enum: true)
field(:started_at, 10, type: :int64, json_name: "startedAt")
field(:ended_at, 11, type: :int64, json_name: "endedAt")
field(:updated_at, 18, type: :int64, json_name: "updatedAt")
field(:details, 21, type: :string)
field(:error, 9, type: :string)
field(:room_composite, 4, type: Livekit.RoomCompositeEgressRequest, json_name: "roomComposite")
field(:track_composite, 5,
type: Livekit.TrackCompositeEgressRequest,
json_name: "trackComposite"
)
field(:track, 6, type: Livekit.TrackEgressRequest)
field(:web, 7, type: Livekit.WebEgressRequest)
field(:participant, 19, type: Livekit.ParticipantEgressRequest)
field(:stream_results, 8, repeated: true, type: Livekit.StreamInfo, json_name: "streamResults")
field(:file_results, 12, repeated: true, type: Livekit.FileInfo, json_name: "fileResults")
field(:segment_results, 16,
repeated: true,
type: Livekit.SegmentedFileInfo,
json_name: "segmentResults"
)
field(:image_results, 17, repeated: true, type: Livekit.ImagesInfo, json_name: "imageResults")
field(:stream, 14, type: Livekit.StreamInfo, deprecated: true)
field(:file, 15, type: Livekit.FileInfo, deprecated: true)
end
defmodule Livekit.StreamInfo do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:url, 1, type: :string)
field(:started_at, 2, type: :int64, json_name: "startedAt")
field(:ended_at, 3, type: :int64, json_name: "endedAt")
field(:duration, 4, type: :int64)
field(:status, 5, type: Livekit.StreamInfo.Status, enum: true)
field(:error, 6, type: :string)
end
defmodule Livekit.FileInfo do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:filename, 1, type: :string)
field(:started_at, 2, type: :int64, json_name: "startedAt")
field(:ended_at, 3, type: :int64, json_name: "endedAt")
field(:duration, 6, type: :int64)
field(:size, 4, type: :int64)
field(:location, 5, type: :string)
end
defmodule Livekit.SegmentedFileInfo do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:playlist, 1, type: :string)
field(:started_at, 2, type: :int64, json_name: "startedAt")
field(:ended_at, 3, type: :int64, json_name: "endedAt")
field(:duration, 4, type: :int64)
field(:size, 5, type: :int64)
field(:playlist_location, 6, type: :string, json_name: "playlistLocation")
field(:segment_count, 7, type: :int64, json_name: "segmentCount")
end
defmodule Livekit.ImagesInfo do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:started_at, 1, type: :int64, json_name: "startedAt")
field(:ended_at, 2, type: :int64, json_name: "endedAt")
field(:image_count, 3, type: :int64, json_name: "imageCount")
end
defmodule Livekit.DirectFileOutput do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:output, 0)
field(:filepath, 1, type: :string)
field(:disable_manifest, 5, type: :bool, json_name: "disableManifest")
field(:s3, 2, type: Livekit.S3Upload, oneof: 0)
field(:gcp, 3, type: Livekit.GCPUpload, oneof: 0)
field(:azure, 4, type: Livekit.AzureBlobUpload, oneof: 0)
field(:alioss, 6, type: Livekit.AliOSSUpload, oneof: 0)
end
defmodule Livekit.EncodedFileOutput do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:output, 0)
field(:file_type, 1, type: Livekit.EncodedFileType, json_name: "fileType", enum: true)
field(:filepath, 2, type: :string)
field(:disable_manifest, 6, type: :bool, json_name: "disableManifest")
field(:s3, 3, type: Livekit.S3Upload, oneof: 0)
field(:gcp, 4, type: Livekit.GCPUpload, oneof: 0)
field(:azure, 5, type: Livekit.AzureBlobUpload, oneof: 0)
field(:alioss, 7, type: Livekit.AliOSSUpload, oneof: 0)
end
defmodule Livekit.SegmentedFileOutput do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:output, 0)
field(:protocol, 1, type: Livekit.SegmentedFileProtocol, enum: true)
field(:filename_prefix, 2, type: :string, json_name: "filenamePrefix")
field(:playlist_name, 3, type: :string, json_name: "playlistName")
field(:segment_duration, 4, type: :uint32, json_name: "segmentDuration")
field(:filename_suffix, 11, type: :string, json_name: "filenameSuffix")
field(:disable_manifest, 8, type: :bool, json_name: "disableManifest")
field(:s3, 5, type: Livekit.S3Upload, oneof: 0)
field(:gcp, 6, type: Livekit.GCPUpload, oneof: 0)
field(:azure, 7, type: Livekit.AzureBlobUpload, oneof: 0)
field(:alioss, 9, type: Livekit.AliOSSUpload, oneof: 0)
end
defmodule Livekit.StreamOutput do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:protocol, 1, type: Livekit.StreamProtocol, enum: true)
field(:urls, 2, repeated: true, type: :string)
end
defmodule Livekit.ImageOutput do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
oneof(:output, 0)
field(:codec, 1, type: Livekit.ImageCodec, enum: true)
field(:width, 2, type: :uint32)
field(:height, 3, type: :uint32)
field(:filename_prefix, 4, type: :string, json_name: "filenamePrefix")
field(:filename_suffix, 5, type: :string, json_name: "filenameSuffix")
field(:image_interval, 6, type: :uint32, json_name: "imageInterval")
field(:disable_manifest, 7, type: :bool, json_name: "disableManifest")
field(:s3, 8, type: Livekit.S3Upload, oneof: 0)
field(:gcp, 9, type: Livekit.GCPUpload, oneof: 0)
field(:azure, 10, type: Livekit.AzureBlobUpload, oneof: 0)
field(:alioss, 11, type: Livekit.AliOSSUpload, oneof: 0)
end
defmodule Livekit.S3Upload.MetadataEntry do
@moduledoc false
use Protobuf, map: true, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:key, 1, type: :string)
field(:value, 2, type: :string)
end
defmodule Livekit.S3Upload do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:access_key, 1, type: :string, json_name: "accessKey")
field(:secret, 2, type: :string)
field(:session_token, 9, type: :string, json_name: "sessionToken")
field(:region, 3, type: :string)
field(:endpoint, 4, type: :string)
field(:bucket, 5, type: :string)
field(:force_path_style, 6, type: :bool, json_name: "forcePathStyle")
field(:metadata, 7, repeated: true, type: Livekit.S3Upload.MetadataEntry, map: true)
field(:tagging, 8, type: :string)
end
defmodule Livekit.GCPUpload do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:credentials, 1, type: :bytes)
field(:bucket, 2, type: :string)
end
defmodule Livekit.AzureBlobUpload do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:account_name, 1, type: :string, json_name: "accountName")
field(:account_key, 2, type: :string, json_name: "accountKey")
field(:container_name, 3, type: :string, json_name: "containerName")
end
defmodule Livekit.AliOSSUpload do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:access_key, 1, type: :string, json_name: "accessKey")
field(:secret, 2, type: :string)
field(:region, 3, type: :string)
field(:endpoint, 4, type: :string)
field(:bucket, 5, type: :string)
end
defmodule Livekit.EncodingOptions do
@moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.14.0", syntax: :proto3
field(:width, 1, type: :int32)
field(:height, 2, type: :int32)
field(:depth, 3, type: :int32)
field(:framerate, 4, type: :int32)
field(:audio_codec, 5, type: Livekit.AudioCodec, json_name: "audioCodec", enum: true)
field(:audio_bitrate, 6, type: :int32, json_name: "audioBitrate")
field(:audio_quality, 11, type: :int32, json_name: "audioQuality")
field(:audio_frequency, 7, type: :int32, json_name: "audioFrequency")
field(:video_codec, 8, type: Livekit.VideoCodec, json_name: "videoCodec", enum: true)
field(:video_bitrate, 9, type: :int32, json_name: "videoBitrate")
field(:video_quality, 12, type: :int32, json_name: "videoQuality")
field(:video_profile, 10, type: Livekit.H264Profile, json_name: "videoProfile", enum: true)
end