LiveKit Swift Client SDK Documentation

Class Room​Options

@objc
public class RoomOptions: NSObject  
%675 RoomOptions RoomOptions NSObject NSObject RoomOptions->NSObject

Conforms To

NSObject

Initializers

init(default​Camera​Capture​Options:​default​Screen​Share​Capture​Options:​default​Audio​Capture​Options:​default​Video​Publish​Options:​default​Audio​Publish​Options:​adaptive​Stream:​dynacast:​stop​Local​Track​OnUnpublish:​suspend​Local​Video​Tracks​InBackground:​report​Stats:​)

public init(defaultCameraCaptureOptions: CameraCaptureOptions = CameraCaptureOptions(),
                defaultScreenShareCaptureOptions: ScreenShareCaptureOptions = ScreenShareCaptureOptions(),
                defaultAudioCaptureOptions: AudioCaptureOptions = AudioCaptureOptions(),
                defaultVideoPublishOptions: VideoPublishOptions = VideoPublishOptions(),
                defaultAudioPublishOptions: AudioPublishOptions = AudioPublishOptions(),
                adaptiveStream: Bool = false,
                dynacast: Bool = false,
                stopLocalTrackOnUnpublish: Bool = true,
                suspendLocalVideoTracksInBackground: Bool = true,
                reportStats: Bool = false)  

Properties

default​Camera​Capture​Options

@objc
    public let defaultCameraCaptureOptions: CameraCaptureOptions

default​Screen​Share​Capture​Options

@objc
    public let defaultScreenShareCaptureOptions: ScreenShareCaptureOptions

default​Audio​Capture​Options

@objc
    public let defaultAudioCaptureOptions: AudioCaptureOptions

default​Video​Publish​Options

@objc
    public let defaultVideoPublishOptions: VideoPublishOptions

default​Audio​Publish​Options

@objc
    public let defaultAudioPublishOptions: AudioPublishOptions

adaptive​Stream

@objc
    public let adaptiveStream: Bool

AdaptiveStream lets LiveKit automatically manage quality of subscribed video tracks to optimize for bandwidth and CPU. When attached video elements are visible, it'll choose an appropriate resolution based on the size of largest video element it's attached to.

When none of the video elements are visible, it'll temporarily pause the data flow until they are visible again.

dynacast

@objc
    public let dynacast: Bool

Dynamically pauses video layers that are not being consumed by any subscribers, significantly reducing publishing CPU and bandwidth usage.

stop​Local​Track​OnUnpublish

@objc
    public let stopLocalTrackOnUnpublish: Bool

suspend​Local​Video​Tracks​InBackground

@objc
    public let suspendLocalVideoTracksInBackground: Bool

Automatically suspend(mute) video tracks when the app enters background and resume(unmute) when the app enters foreground again.

report​Stats

@objc
    public let reportStats: Bool

Experimental Report TrackStats every second to TrackDelegate for each local and remote tracks. This may consume slightly more CPU resources.

hash

public override var hash: Int  

Methods

is​Equal(_:​)

public override func isEqual(_ object: Any?) -> Bool