LiveKit Swift Client SDK Documentation

Class Video​View

@objc
public class VideoView: NativeView, Loggable  
%537 VideoView VideoView NativeView NativeView VideoView->NativeView VideoRenderer VideoRenderer VideoView->VideoRenderer VideoCapturerDelegate VideoCapturerDelegate VideoView->VideoCapturerDelegate Loggable Loggable VideoView->Loggable MulticastDelegateProtocol MulticastDelegateProtocol VideoView->MulticastDelegateProtocol

Nested Types

VideoView.LayoutMode

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

VideoView.MirrorMode

Superclass

NativeView

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.

Conforms To

Loggable

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

VideoRenderer
MulticastDelegateProtocol
VideoCapturerDelegate

Initializers

init(frame:​)

public override init(frame: CGRect = .zero)  

Properties

layout​Mode

@objc
    public var layoutMode: LayoutMode  

LayoutMode-swift.enum of the VideoView.

mirror​Mode

@objc
    public var mirrorMode: MirrorMode  

Flips the video horizontally, useful for local VideoViews.

rotation​Override

public var rotationOverride: VideoRotation?  

Force video to be rotated to preferred VideoRotation.

track

@objc
    public weak var track: VideoTrack?  

Calls addRenderer and/or removeRenderer internally for convenience.

is​Enabled

@objc
    public var isEnabled: Bool  

If set to false, rendering will be paused temporarily. Useful for performance optimizations with UICollectionViewCell etc.

is​Hidden

@objc
    public override var isHidden: Bool  

debug​Mode

@objc
    public var debugMode: Bool  

is​Rendering

@objc
    public var isRendering: Bool  

did​Render​First​Frame

@objc
    public var didRenderFirstFrame: Bool  

adaptive​Stream​IsEnabled

public var adaptiveStreamIsEnabled: Bool  

adaptive​Stream​Size

public var adaptiveStreamSize: CGSize  

Methods

set​Size(_:​)

public func setSize(_ size: CGSize)  

render​Frame(_:​)

public func renderFrame(_ frame: RTCVideoFrame?)  

capturer(_:​did​Update:​)

public func capturer(_ capturer: VideoCapturer, didUpdate state: VideoCapturer.CapturerState)  

add(delegate:​)

@objc(addDelegate:)
    public func add(delegate: VideoViewDelegate)  

remove(delegate:​)

@objc(removeDelegate:)
    public func remove(delegate: VideoViewDelegate)  

remove​All​Delegates()

@objc
    public func removeAllDelegates()  

is​Metal​Available()

public static func isMetalAvailable() -> Bool