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.
- Audio: AudioSource with LocalAudioTrack to publish, AudioStream to receive, AudioResampler and AudioMixer to process.
- Video: VideoSource or EncodedVideoSource with LocalVideoTrack to publish, VideoStream to receive, VideoFrame to convert.
- Data: data messages, text and byte streams, and data tracks (LocalDataTrack, RemoteDataTrack).
- RPC: PerformRpcAsync and RegisterRpcMethod.
- End-to-end encryption: RoomOptions.E2EE and E2EEManager.
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.