Class
VideoView
@objc
public class VideoView: NativeView, Loggable
Relationships
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
mirrorMode
@objc
public var mirrorMode: MirrorMode
Flips the video horizontally, useful for local VideoViews.
rotationOverride
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.
isEnabled
@objc
public var isEnabled: Bool
If set to false, rendering will be paused temporarily. Useful for performance optimizations with UICollectionViewCell etc.
debugMode
@objc
public var debugMode: Bool
isRendering
@objc
public var isRendering: Bool
didRenderFirstFrame
@objc
public var didRenderFirstFrame: Bool
adaptiveStreamIsEnabled
public var adaptiveStreamIsEnabled: Bool
adaptiveStreamSize
public var adaptiveStreamSize: CGSize
Methods
setSize(_:)
public func setSize(_ size: CGSize)
renderFrame(_:)
public func renderFrame(_ frame: RTCVideoFrame?)
capturer(_:didUpdate:)
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)
removeAllDelegates()
@objc
public func removeAllDelegates()
isMetalAvailable()
public static func isMetalAvailable() -> Bool