Table of Contents

Namespace LiveKit.Proto

Classes

ActiveSpeakersChanged
ApmProcessReverseStreamRequest
ApmProcessReverseStreamResponse
ApmProcessStreamRequest
ApmProcessStreamResponse
ApmSetStreamDelayRequest
ApmSetStreamDelayResponse
AttributesEntry
AudioEncoding
AudioFrameBufferInfo
AudioFrameReceived
AudioFrameReflection

Holder for reflection information generated from audio_frame.proto

AudioPlayoutStats
AudioResamplerInfo
AudioSourceInfo
AudioSourceOptions
AudioSourceStats
AudioStreamEOS
AudioStreamEvent
AudioStreamFromParticipantRequest
AudioStreamFromParticipantResponse
AudioStreamInfo
BufferInfo
ByteStreamInfo
ByteStreamOpenCallback
ByteStreamOpenRequest

Opens an outgoing stream. Call must be balanced with a StreamCloseRequest.

ByteStreamOpenResponse
ByteStreamOpened
ByteStreamReaderChunkReceived
ByteStreamReaderEOS
ByteStreamReaderEvent
ByteStreamReaderReadAllCallback
ByteStreamReaderReadAllRequest

Reads an incoming byte stream in its entirety.

ByteStreamReaderReadAllResponse
ByteStreamReaderReadIncrementalRequest

Reads an incoming byte stream incrementally.

ByteStreamReaderReadIncrementalResponse
ByteStreamReaderWriteToFileCallback
ByteStreamReaderWriteToFileRequest

Writes data from an incoming stream to a file as it arrives.

ByteStreamReaderWriteToFileResponse
ByteStreamWriterCloseCallback
ByteStreamWriterCloseRequest

Closes a stream writer.

ByteStreamWriterCloseResponse
ByteStreamWriterWriteCallback
ByteStreamWriterWriteRequest

Writes data to a stream writer.

ByteStreamWriterWriteResponse
CandidatePairStats
CaptureAudioFrameCallback
CaptureAudioFrameRequest

Push a frame to an AudioSource The data provided must be available as long as the client receive the callback.

CaptureAudioFrameResponse
CaptureVideoFrameRequest

Push a frame to a VideoSource

CaptureVideoFrameResponse
CertificateStats
ChatMessage
ChatMessageReceived
ClearAudioBufferRequest
ClearAudioBufferResponse
CodecStats
ConnectCallback
ConnectCallback.Types

Container for nested types declared in the ConnectCallback message type.

ConnectCallback.Types.ParticipantWithTracks
ConnectCallback.Types.Result
ConnectRequest

Connect to a new LiveKit room

ConnectResponse
Connected
ConnectionQualityChanged
ConnectionStateChanged
CreateAudioTrackRequest

Create a new AudioTrack from a AudioSource

CreateAudioTrackResponse
CreateVideoTrackRequest

Create a new VideoTrack from a VideoSource

CreateVideoTrackResponse
DataChannelBufferedAmountLowThresholdChanged
DataChannelStats
DataPacketReceived
DataStream
DataStream.Types

Container for nested types declared in the DataStream message type.

DataStream.Types.ByteHeader

header properties specific to byte or file streams

DataStream.Types.Chunk
DataStream.Types.Header

main DataStream.Header that contains a oneof for specific headers

DataStream.Types.TextHeader

header properties specific to text streams

DataStream.Types.Trailer
DataStreamChunkReceived
DataStreamHeaderReceived
DataStreamReflection

Holder for reflection information generated from data_stream.proto

DataStreamTrailerReceived
DataTrackError
DataTrackFrame

A frame published on a data track.

DataTrackInfo

Information about a published data track.

DataTrackOptions

Options for publishing a data track.

DataTrackPublished

A remote participant published a data track.

DataTrackReflection

Holder for reflection information generated from data_track.proto

DataTrackStreamEOS

Stream has ended.

DataTrackStreamEvent

Event emitted on an active stream.

DataTrackStreamFrameReceived

A frame was received.

DataTrackStreamReadRequest

Signal readiness to handle the next frame.

This allows the client to put backpressure on the internal receive buffer. Sending this request will cause the next frame to be sent via DataTrackStreamFrameReceived once one is available.

DataTrackStreamReadResponse
DataTrackSubscribeOptions

Reserved for future subscription options.

DataTrackUnpublished

A remote participant unpublished a data track.

DisconnectCallback
DisconnectRequest

Disconnect from the a room

DisconnectResponse
Disconnected
DisposeCallback
DisposeRequest

Stop all rooms synchronously (Do we need async here?). e.g: This is used for the Unity Editor after each assemblies reload. TODO(theomonnom): Implement a debug mode where we can find all leaked handles?

DisposeResponse
E2EeReflection

Holder for reflection information generated from e2ee.proto

E2eeManagerGetFrameCryptorsRequest
E2eeManagerGetFrameCryptorsResponse
E2eeManagerSetEnabledRequest
E2eeManagerSetEnabledResponse
E2eeOptions
E2eeRequest
E2eeResponse
E2eeStateChanged
EditChatMessageRequest
EnableRemoteTrackPublicationRequest

Enable/Disable a remote track publication

EnableRemoteTrackPublicationResponse
EnableRemoteTrackRequest

Enable/Disable a remote track

EnableRemoteTrackResponse
FfiEvent

To minimize complexity, participant events are not included in the protocol. It is easily deducible from the room events and it turned out that is is easier to implement on the ffi client side.

FfiOwnedHandle

Safety

The foreign language is responsable for disposing handles Forgetting to dispose the handle may lead to memory leaks

Dropping a handle doesn't necessarily mean that the object is destroyed if it is still used on the FfiServer (Atomic reference counting)

When refering to a handle without owning it, we just use a uint32 without this message. (the variable name is suffixed with "_handle")

FfiReflection

Holder for reflection information generated from ffi.proto

FfiRequest

This is the input of livekit_ffi_request function We always expect a response (FFIResponse, even if it's empty)

FfiResponse

This is the output of livekit_ffi_request function.

FlushSoxResamplerRequest
FlushSoxResamplerResponse
FrameCryptor
FrameCryptorSetEnabledRequest
FrameCryptorSetEnabledResponse
FrameCryptorSetKeyIndexRequest
FrameCryptorSetKeyIndexResponse
GetKeyRequest
GetKeyResponse
GetSessionStatsCallback
GetSessionStatsCallback.Types

Container for nested types declared in the GetSessionStatsCallback message type.

GetSessionStatsCallback.Types.Result
GetSessionStatsRequest
GetSessionStatsResponse
GetSharedKeyRequest
GetSharedKeyResponse
GetStatsCallback
GetStatsRequest
GetStatsResponse
HandleReflection

Holder for reflection information generated from handle.proto

IceCandidateStats
IceServer
InboundRtpStreamStats
KeyProviderOptions
LoadAudioFilterPluginRequest

Audio Filter Plugin

LoadAudioFilterPluginResponse
LocalDataTrackIsPublishedRequest

Checks if the track is still published.

LocalDataTrackIsPublishedResponse
LocalDataTrackTryPushError
LocalDataTrackTryPushRequest

Try pushing a frame to subscribers of the track.

LocalDataTrackTryPushResponse
LocalDataTrackUnpublishRequest

Unpublishes the track.

LocalDataTrackUnpublishResponse
LocalTrackMuteRequest

Mute/UnMute a track

LocalTrackMuteResponse
LocalTrackPublished
LocalTrackSubscribed
LocalTrackUnpublished
LogBatch
LogRecord
MediaSourceStats
NewApmRequest
NewApmResponse
NewAudioResamplerRequest

Create a new AudioResampler

NewAudioResamplerResponse
NewAudioSourceRequest

Create a new AudioSource

NewAudioSourceResponse
NewAudioStreamRequest

Create a new AudioStream AudioStream is used to receive audio frames from a track

NewAudioStreamResponse
NewSoxResamplerRequest
NewSoxResamplerResponse
NewVideoSourceRequest

Create a new VideoSource VideoSource is used to send video frame to a track

NewVideoSourceResponse
NewVideoStreamRequest

Create a new VideoStream VideoStream is used to receive video frames from a track

NewVideoStreamResponse
OutboundRtpStreamStats
OwnedApm
OwnedAudioFrameBuffer
OwnedAudioResampler
OwnedAudioSource
OwnedAudioStream
OwnedBuffer
OwnedByteStreamReader

A reader for an incoming stream.

OwnedByteStreamWriter
OwnedDataTrackStream

Handle to an active data track subscription.

Dropping the handle will unsubscribe from the track.

OwnedLocalDataTrack
OwnedParticipant
OwnedRemoteDataTrack
OwnedRoom
OwnedSoxResampler
OwnedTextStreamReader

A reader for an incoming stream.

OwnedTextStreamWriter
OwnedTrack
OwnedTrackPublication
OwnedVideoBuffer
OwnedVideoSource
OwnedVideoStream
Panic
ParticipantActive
ParticipantAttributesChanged
ParticipantConnected
ParticipantDisconnected
ParticipantEncryptionStatusChanged
ParticipantInfo
ParticipantMetadataChanged
ParticipantNameChanged
ParticipantPermission

copied from livekit-protocol/protocol/protobufs/livekit_models.proto and removed deprecated fields

ParticipantPermissionChanged
ParticipantReflection

Holder for reflection information generated from participant.proto

ParticipantTrackPermission
ParticipantsUpdated
PeerConnectionStats
PerformRpcCallback

FFI Callbacks

PerformRpcRequest

FFI Requests

PerformRpcResponse

FFI Responses

PublishDataCallback
PublishDataRequest

Publish data to other participants

PublishDataResponse
PublishDataTrackCallback
PublishDataTrackError
PublishDataTrackRequest

Publish a data track

PublishDataTrackResponse
PublishSipDtmfCallback
PublishSipDtmfRequest

Publish Sip DTMF messages to other participants

PublishSipDtmfResponse
PublishTrackCallback
PublishTrackRequest

Publish a track to the room

PublishTrackResponse
PublishTranscriptionCallback
PublishTranscriptionRequest

Publish transcription messages to room

PublishTranscriptionResponse
PushSoxResamplerRequest
PushSoxResamplerResponse
RatchetKeyRequest
RatchetKeyResponse
RatchetSharedKeyRequest
RatchetSharedKeyResponse
ReceivedRtpStreamStats
Reconnected
Reconnecting
RegisterRpcMethodRequest
RegisterRpcMethodResponse
RemixAndResampleRequest

Remix and resample an audio frame

RemixAndResampleResponse
RemoteDataTrackIsPublishedRequest

Checks if the track is still published.

RemoteDataTrackIsPublishedResponse
RemoteInboundRtpStreamStats
RemoteOutboundRtpStreamStats
RoomEOS
RoomEvent
RoomInfo
RoomMetadataChanged
RoomOptions
RoomReflection

Holder for reflection information generated from room.proto

RoomSidChanged
RpcError
RpcMethodInvocationEvent

FFI Events

RpcMethodInvocationResponseRequest
RpcMethodInvocationResponseResponse
RpcReflection

Holder for reflection information generated from rpc.proto

RtcConfig
RtcStats
RtcStats.Types

Container for nested types declared in the RtcStats message type.

RtcStats.Types.CandidatePair
RtcStats.Types.Certificate
RtcStats.Types.Codec
RtcStats.Types.DataChannel
RtcStats.Types.InboundRtp
RtcStats.Types.LocalCandidate
RtcStats.Types.MediaPlayout
RtcStats.Types.MediaSource
RtcStats.Types.OutboundRtp
RtcStats.Types.PeerConnection
RtcStats.Types.RemoteCandidate
RtcStats.Types.RemoteInboundRtp
RtcStats.Types.RemoteOutboundRtp
RtcStats.Types.Stream
RtcStats.Types.Track

Deprecated

RtcStats.Types.Transport
RtcStatsData
RtpStreamStats
SendChatMessageCallback
SendChatMessageRequest
SendChatMessageResponse
SendStreamChunkCallback
SendStreamChunkRequest
SendStreamChunkResponse
SendStreamHeaderCallback
SendStreamHeaderRequest
SendStreamHeaderResponse
SendStreamTrailerCallback
SendStreamTrailerRequest
SendStreamTrailerResponse
SentRtpStreamStats
SetDataChannelBufferedAmountLowThresholdRequest
SetDataChannelBufferedAmountLowThresholdResponse
SetKeyRequest
SetKeyResponse
SetLocalAttributesCallback
SetLocalAttributesRequest

Change the local participant's attributes

SetLocalAttributesResponse
SetLocalMetadataCallback
SetLocalMetadataRequest

Change the local participant's metadata

SetLocalMetadataResponse
SetLocalNameCallback
SetLocalNameRequest

Change the local participant's name

SetLocalNameResponse
SetRemoteTrackPublicationQualityRequest

For tracks that support simulcasting, adjust subscribed quality.

SetRemoteTrackPublicationQualityResponse
SetSharedKeyRequest
SetSharedKeyResponse
SetSubscribedRequest

Change the "desire" to subs2ribe to a track

SetSubscribedResponse
SetTrackSubscriptionPermissionsRequest
SetTrackSubscriptionPermissionsResponse
SipDTMF
SoxResamplerInfo
StatsReflection

Holder for reflection information generated from stats.proto

StreamByteOptions
StreamError

Error pertaining to a stream.

StreamSendBytesCallback
StreamSendBytesRequest

Sends bytes over a data stream.

StreamSendBytesResponse
StreamSendFileCallback
StreamSendFileRequest

Sends the contents of a file over a data stream.

StreamSendFileResponse
StreamSendTextCallback
StreamSendTextRequest

Sends text over a data stream.

StreamSendTextResponse
StreamStats
StreamTextOptions
SubscribeDataTrackError
SubscribeDataTrackRequest

Subscribe to a data track.

SubscribeDataTrackResponse
TextStreamInfo
TextStreamInfo.Types

Container for nested types declared in the TextStreamInfo message type.

TextStreamOpenCallback
TextStreamOpenRequest

Opens an outgoing text stream. Call must be balanced with a TextStreamCloseRequest.

TextStreamOpenResponse
TextStreamOpened
TextStreamReaderChunkReceived
TextStreamReaderEOS
TextStreamReaderEvent
TextStreamReaderReadAllCallback
TextStreamReaderReadAllRequest

Reads an incoming text stream in its entirety.

TextStreamReaderReadAllResponse
TextStreamReaderReadIncrementalRequest

Reads an incoming text stream incrementally.

TextStreamReaderReadIncrementalResponse
TextStreamWriterCloseCallback
TextStreamWriterCloseRequest

Closes a text stream writer.

TextStreamWriterCloseResponse
TextStreamWriterWriteCallback
TextStreamWriterWriteRequest

Writes text to a text stream writer.

TextStreamWriterWriteResponse
TokenRefreshed
TrackEvent
TrackInfo
TrackMuted
TrackPublicationInfo
TrackPublicationReflection

Holder for reflection information generated from track_publication.proto

TrackPublishOptions
TrackPublished
TrackReflection

Holder for reflection information generated from track.proto

TrackSubscribed

Publication isn't needed for subscription events on the FFI The FFI will retrieve the publication using the Track sid

TrackSubscriptionFailed
TrackUnmuted
TrackUnpublished
TrackUnsubscribed
TranscriptionReceived
TranscriptionSegment
TransportStats
UnpublishTrackCallback
UnpublishTrackRequest

Unpublish a track from the room

UnpublishTrackResponse
UnregisterRpcMethodRequest
UnregisterRpcMethodResponse
UpdateRemoteTrackPublicationDimensionRequest

update a remote track publication dimension

UpdateRemoteTrackPublicationDimensionResponse
UserPacket
VideoBufferInfo
VideoBufferInfo.Types

Container for nested types declared in the VideoBufferInfo message type.

VideoBufferInfo.Types.ComponentInfo
VideoConvertRequest
VideoConvertResponse
VideoEncoding
VideoFrameReceived
VideoFrameReflection

Holder for reflection information generated from video_frame.proto

VideoResolution
VideoSourceInfo
VideoSourceResolution
VideoSourceStats
VideoStreamEOS
VideoStreamEvent
VideoStreamFromParticipantRequest

Request a video stream from a participant

VideoStreamFromParticipantResponse
VideoStreamInfo

Enums

AudioSourceType
AudioStreamEvent.MessageOneofCase

Enum of possible cases for the "message" oneof.

AudioStreamType
AudioTrackFeature
ByteStreamOpenCallback.ResultOneofCase

Enum of possible cases for the "result" oneof.

ByteStreamReaderEvent.DetailOneofCase

Enum of possible cases for the "detail" oneof.

ByteStreamReaderReadAllCallback.ResultOneofCase

Enum of possible cases for the "result" oneof.

ByteStreamReaderWriteToFileCallback.ResultOneofCase

Enum of possible cases for the "result" oneof.

ConnectCallback.MessageOneofCase

Enum of possible cases for the "message" oneof.

ConnectionQuality
ConnectionState
ContinualGatheringPolicy
DataChannelState
DataPacketKind
DataPacketReceived.ValueOneofCase

Enum of possible cases for the "value" oneof.

DataStream.Types.Header.ContentHeaderOneofCase

Enum of possible cases for the "content_header" oneof.

DataStream.Types.OperationType

enum for operation types (specific to TextHeader)

DataTrackErrorCode
DataTrackStreamEvent.DetailOneofCase

Enum of possible cases for the "detail" oneof.

DisconnectReason
DtlsRole
DtlsTransportState
E2eeRequest.MessageOneofCase

Enum of possible cases for the "message" oneof.

E2eeResponse.MessageOneofCase

Enum of possible cases for the "message" oneof.

EncryptionState
EncryptionType
FfiEvent.MessageOneofCase

Enum of possible cases for the "message" oneof.

FfiRequest.MessageOneofCase

Enum of possible cases for the "message" oneof.

FfiResponse.MessageOneofCase

Enum of possible cases for the "message" oneof.

GetSessionStatsCallback.MessageOneofCase

Enum of possible cases for the "message" oneof.

IceCandidatePairState
IceCandidateType
IceRole
IceServerTransportProtocol
IceTcpCandidateType
IceTransportState
IceTransportType
KeyDerivationFunction
LocalDataTrackTryPushErrorCode
LogLevel
NewSoxResamplerResponse.MessageOneofCase

Enum of possible cases for the "message" oneof.

ParticipantKind
ParticipantKindDetail
ParticipantState
PublishDataTrackCallback.ResultOneofCase

Enum of possible cases for the "result" oneof.

PublishDataTrackErrorCode
PublishTrackCallback.MessageOneofCase

Enum of possible cases for the "message" oneof.

QualityLimitationReason
RoomEvent.MessageOneofCase

Enum of possible cases for the "message" oneof.

RtcStats.StatsOneofCase

Enum of possible cases for the "stats" oneof.

SendChatMessageCallback.MessageOneofCase

Enum of possible cases for the "message" oneof.

SoxFlagBits
SoxQualityRecipe
SoxResamplerDataType
StreamSendBytesCallback.ResultOneofCase

Enum of possible cases for the "result" oneof.

StreamSendFileCallback.ResultOneofCase

Enum of possible cases for the "result" oneof.

StreamSendTextCallback.ResultOneofCase

Enum of possible cases for the "result" oneof.

StreamState
SubscribeDataTrackErrorCode
TextStreamInfo.Types.OperationType
TextStreamOpenCallback.ResultOneofCase

Enum of possible cases for the "result" oneof.

TextStreamReaderEvent.DetailOneofCase

Enum of possible cases for the "detail" oneof.

TextStreamReaderReadAllCallback.ResultOneofCase

Enum of possible cases for the "result" oneof.

TrackKind
TrackSource
VideoBufferType

Values of this enum must not be changed It is used to serialize a rtc.VideoFrame on Python

VideoCodec
VideoConvertResponse.MessageOneofCase

Enum of possible cases for the "message" oneof.

VideoQuality

Video quality for simulcasted tracks.

VideoRotation
VideoSourceType
VideoStreamEvent.MessageOneofCase

Enum of possible cases for the "message" oneof.

VideoStreamType