Table of Contents

Namespace LiveKit.Rtc

Real-time participant SDK built on the LiveKit Rust SDK. Start with Room: ConnectAsync joins a room with an access token, LocalParticipant publishes tracks, data and RPC calls, and the events of Room report every change.

Classes

ActiveSpeakersChangedEventArgs

Event arguments for active speakers changed events.

AudioEncodingOptions

Audio encoding options.

AudioFrame

Represents a frame of audio data with specific properties such as sample rate, number of channels, and samples per channel. The format of the audio data is 16-bit signed integers (Int16) interleaved by channel.

AudioFrameExtensions

Utility methods for working with audio frames.

AudioMixer

Mixes multiple audio streams into a single output stream. Implements IAsyncEnumerable for modern async iteration patterns.

AudioResampler

A class for resampling audio data from one sample rate to another. Uses the Sox resampling library under the hood.

AudioSource

Represents a real-time audio source with an internal audio queue. The AudioSource class allows you to push audio frames into a real-time audio source, managing an internal queue of audio data.

AudioStream

An audio stream for receiving audio frames from a remote track or participant. Implements IAsyncEnumerable for modern async iteration patterns.

BaseStreamInfo

Base information for a data stream.

ByteStreamInfo

Information for a byte stream.

ByteStreamReader

Reader for byte data streams. Implements IAsyncEnumerable for modern async iteration patterns.

ByteStreamWriter

Writer for byte data streams.

ChatMessageReceivedEventArgs

Event arguments for chat message received events.

ConnectionQualityChangedEventArgs

Event arguments for connection quality changed events.

DataChannelBufferedAmountLowThresholdChangedEventArgs

Event arguments for data channel buffered-amount-low threshold changed events.

DataPublishOptions

Options for publishing data.

DataReceivedEventArgs

Event arguments for data received events.

DataStreamConstants

Constants of the data streams.

DataTrackFrame

A frame published on a data track: a payload and an optional user timestamp.

DataTrackInfo

Information about a published data track.

DataTrackStream

An active subscription to a RemoteDataTrack. Read frames with ReadAsync(CancellationToken) or await foreach; the stream ends when the track is unpublished. Disposing the stream unsubscribes from the track.

DataTrackUnpublishedEventArgs

Event arguments for data track unpublished events.

E2EEDefaults

Default constants for E2EE key ratcheting.

E2EEManager

Manager for end-to-end encryption.

E2EEOptions

Options for end-to-end encryption.

E2EEStateChangedEventArgs

Event arguments for E2EE state changed events.

EncodedRateControl

The latest bitrate and frame-rate targets requested by WebRTC for a pre-encoded track.

EncodedVideoFrame

One complete encoded video access unit, without container or RTP headers.

EncodedVideoSource

Publishes pre-encoded video without decoding or re-encoding it.

EncodedVideoSourceFeedback

Encoder feedback accumulated since the previous call to TakeFeedback().

FfiException

Reserved for errors of the native LiveKit library. This version of the SDK does not throw it: a failed native request raises InvalidOperationException, and errors reported by the server raise RoomException.

FrameCryptor

Frame cryptor for a specific participant.

FrameProcessorCredentials

Credentials for the stream being processed.

FrameProcessorStreamInfo

Information about the stream being processed.

FrameProcessor<TFrame>

Abstract base class for processing audio or video frames.

KeyProvider

Provides key management for E2EE.

KeyProviderOptions

Options for the key provider.

LocalAudioTrack

Local audio track.

LocalDataTrack

A data track published by the local participant. Obtained from PublishDataTrackAsync(string, CancellationToken).

LocalParticipant

Represents the local participant in the room.

LocalTrack

Base class for local tracks.

LocalTrackPublication

Local track publication.

LocalTrackPublishedEventArgs

Event arguments for local track published events.

LocalTrackRepublishedEventArgs

Event arguments for local track republished events.

LocalTrackSubscribedEventArgs

Event arguments for local track subscribed events.

LocalVideoTrack

Local video track.

NoiseCancellationOptions

Options for noise cancellation processing.

Participant

Base class for participants in a room.

ParticipantAttributesChangedEventArgs

Event arguments for participant attributes changed events.

ParticipantEncryptionStatusChangedEventArgs

Event arguments for participant encryption status changed events.

ParticipantPermissionsChangedEventArgs

Event arguments for participant permissions changed events.

PublishDataTrackException

Thrown when a data track cannot be published.

PushFrameException

Thrown when a frame cannot be pushed on a LocalDataTrack: the track was unpublished (by the local participant or the SFU), the room is no longer connected, or frames are being pushed faster than they can be sent.

RemoteAudioTrack

Remote audio track.

RemoteDataTrack

A data track published by a remote participant. Delivered by DataTrackPublished; call Subscribe(uint?) to receive its frames.

RemoteParticipant

Represents a remote participant in the room.

RemoteTrack

Base class for remote tracks.

RemoteTrackPublication

Remote track publication.

RemoteVideoTrack

Remote video track.

Room

A connection to a LiveKit room: joins it with ConnectAsync(string, string, RoomOptions?, CancellationToken), exposes the local and remote participants and their tracks, and raises an event for every change.

RoomException

Exception thrown for room-related errors.

RoomOptions

Room options for connecting to a LiveKit room.

RpcError

Specialized error handling for RPC methods. Instances of this type, when thrown in a method handler, will have their message serialized and sent across the wire.

RpcInvocationData

Data passed to method handler for incoming RPC invocations.

RtcStats

Statistics of the two WebRTC peer connections of the session, returned by GetRtcStatsAsync().

SipDtmfReceivedEventArgs

Event arguments for SIP DTMF received events.

StreamException

Exception thrown for stream-related errors.

SubscribeDataTrackException

Thrown by ReadAsync(CancellationToken) when the subscription to a remote data track could not be established.

TextStreamInfo

Information for a text stream.

TextStreamReader

Reader for text data streams. Implements IAsyncEnumerable for modern async iteration patterns.

TextStreamWriter

Writer for text data streams.

Track

Base class for all tracks.

TrackException

Reserved for track errors. This version of the SDK does not throw it: a failed native request raises InvalidOperationException, and errors reported by the server raise RoomException.

TrackMutedEventArgs

Event arguments for track muted events.

TrackPublication

Base class for track publications.

TrackPublishOptions

Options for publishing a track.

TrackPublishedEventArgs

Event arguments for remote track published events.

TrackSubscribedEventArgs

Event arguments for track subscribed events.

TrackSubscriptionFailedEventArgs

Event arguments for track subscription failed events.

Transcription

Represents a transcription with multiple segments.

TranscriptionReceivedEventArgs

Event arguments for transcription received events.

VideoEncodingOptions

Video encoding options.

VideoFrame

Represents a video frame with associated metadata and pixel data.

VideoSource

Represents a video source for publishing video frames.

VideoStream

A video stream for receiving video frames from a remote track or participant. Implements IAsyncEnumerable for modern async iteration patterns.

Structs

AudioFrameEvent

Represents an audio frame received event.

VideoFrameEvent

Represents a video frame received event.

Interfaces

IAudioStreamSource

Interface for audio streams that can be mixed.

Enums

RpcErrorCode

RPC error codes.

Delegates

ByteStreamHandler

Handler for byte streams.

RpcMethodHandler

Delegate for RPC method handlers.

TextStreamHandler

Handler for text streams.