LiveKit Swift Client SDK Documentation

Classes

LKSample​Handler
Room
E2EEManager
Key​Provider​Options
Base​Key​Provider
E2EEOptions
Live​Kit

The open source platform for real-time communication.

Local​Participant
Participant
Remote​Participant
Multicast​Delegate

A class that allows to have multiple delegates instead of one.

Native​View

A simple abstraction of a View that is native to the platform. When built for iOS this will be a UIView. When built for macOS this will be a NSView.

Audio​Manager
Buffer​Capturer

A VideoCapturer that can capture CMSampleBuffers.

Camera​Capturer
InApp​Screen​Capturer
Mac​OSScreen​Capturer
Mac​OSRunning​Application
Mac​OSWindow
Mac​OSDisplay
Video​Capturer
Local​Audio​Track
Local​Video​Track
Remote​Audio​Track
Remote​Video​Track
Track
Video​Capture​Interceptor
Local​Track​Publication
Remote​Track​Publication
Track​Publication
Audio​Encoding
Dimensions
Audio​Capture​Options
Audio​Publish​Options
Buffer​Capture​Options
Camera​Capture​Options
Connect​Options

Options used when establishing a connection.

Data​Publish​Options
Room​Options
Screen​Share​Capture​Options
Video​Publish​Options
Participant​Permissions
Participant​Track​Permission
Statistics
Codec​Statistics
Media​Source​Statistics
Rtp​Stream​Statistics
Audio​Playout​Statistics
Peer​Connection​Statistics
Data​Channel​Statistics
Transport​Statistics
Ice​Candidate​Statistics
Local​Ice​Candidate​Statistics
Remote​Ice​Candidate​Statistics
Ice​Candidate​Pair​Statistics
Certificate​Statistics
Received​Rtp​Stream​Statistics
Sent​Rtp​Stream​Statistics
Inbound​Rtp​Stream​Statistics
Remote​Inbound​Rtp​Stream​Statistics
Outbound​Rtp​Stream​Statistics
Outbound​Rtp​Stream​Statistics.​Quality​Limitation​Durations
Remote​Outbound​Rtp​Stream​Statistics
Audio​Source​Statistics
Video​Source​Statistics
Track​Stats
Track​Statistics
Video​Encoding
Video​Parameters
Video​View

Structures

Engine.​State
IPCMessage
IPCMessage.​Buffer
IPCMessage.​Buffer.​Video
IPCMessage.​Buffer.​Audio​App
IPCMessage.​Buffer.​Audio​Mic
Stopwatch
Stopwatch.​Entry
Swift​UIAudio​Route​Picker​Button
Swift​UIVideo​View

A VideoView that can be used in SwiftUI. Supports both iOS and macOS.

Audio​Manager.​State

Enumerations

Encryption​Type
E2EEState
Room​Error
Internal​Error
Engine​Error
Track​Error
Signal​Client​Error
Network​Error
Transport​Error
IPCMessage.​One​Of_Type
IPCMessage.​Buffer.​One​Of_Type
Dispatch​Queue​Timer.​State
Audio​Manager.​Track​State
Screen​Share​Source
Mac​OSScreen​Capture​Preferred​Method
Mac​OSScreen​Capture​Method
Mac​OSScreen​Share​Source​Type
Video​Capturer.​Capturer​State
Track.​Kind
Track.​Track​State
Track.​Source
Track.​Publish​State
Subscription​State
Connection​Quality
Connection​State​Obj​C
Reconnect​Mode
Connection​State
Disconnect​Reason
Reliability
Simulate​Scenario
Protocol​Version
Statistics​Type

Stats spec defined at https://www.w3.org/TR/webrtc-stats/

Quality​Limitation​Reason
Dtls​Role
Ice​Candidate​Pair​State
Data​Channel​State
Ice​Role
Dtls​Transport​State
Ice​Transport​State
Ice​Candidate​Type
Ice​Server​Transport​Protocol
Ice​Tcp​Candidate​Type
Track​Publish​State

A enum that represents the published state of a LocalTrackPublication.

Stream​State
Video​View.​Layout​Mode

Specifies how to render the video withing the VideoView's bounds.

Video​View.​Mirror​Mode
Video​View.​Render​Mode

Protocols

Live​Kit​Error
Loggable

Allows to extend with custom log method which automatically captures current type (class name).

Media​Encoding
Participant​Delegate

Delegate methods for a participant.

Room​Delegate​Obj​C

RoomDelegate receives room events as well as Participant events.

Room​Delegate
Track​Delegate
Video​Renderer
Video​View​Delegate
Multicast​Delegate​Protocol
Audio​Track
Mac​OSScreen​Capture​Source
Video​Capturer​Protocol
Video​Capturer​Delegate
Local​Track
Remote​Track
Video​Track
Capture​Options
Publish​Options
Video​Capture​Options

Typealiases

Scoped​Metadata
Native​View​Type
Native​View​Type
Native​View​Representable​Type
Native​View​Representable​Type
Capture​Func
Intercept​Func
Sid
Video​Rotation

Functions

ensure​Device​Access(for:​)

Helper method to ensure authorization for video(camera) / audio(microphone) permissions in a single call.

mute()
unmute()
mute()
unmute()

Variables

default​Ratchet​Salt
default​Magic​Bytes
default​Ratchet​Window​Size
default​Failure​Tolerance

Extensions

AVCaptureDevice.Position
CGImage
CGImagePropertyOrientation
CIImage
CMSampleBuffer
CVPixelBuffer
Data
DispatchQueue
Double
RTCConfiguration
RTCDataChannelState
RTCIceServer
RTCIceTransportPolicy
RTCPeerConnectionState
RTCRtpEncodingParameters
RTCVideoCapturerDelegate
Sequence
TimeInterval