SinchRemoteVideoFrameDelegate

public protocol SinchRemoteVideoFrameDelegate : AnyObject

Delegate for received remote video frames: observe or modify each decoded frame before it is rendered. Assign via SinchVideoController.remoteVideoFrameDelegate.

The cvPixelBuffer passed to onRemoteVideoFrame(_:completionHandler:) is the SDK-owned frame decoded from the remote stream; do not retain or release it. Call the completion handler exactly once with that buffer (optionally mutated in place) or a new one you created. The SDK takes ownership of whatever you pass and releases the input itself.

Important

Calling the completion handler is mandatory (otherwise rendering stalls) and may occur on any queue.
  • Undocumented

    Declaration

    Swift

    typealias OnFrameCompletionHandler = (_ buffer: CVPixelBuffer) -> Void
  • Called for every decoded frame received from the remote peer, before it is rendered.

    Declaration

    Swift

    func onRemoteVideoFrame(_ cvPixelBuffer: CVPixelBuffer, completionHandler: @escaping OnFrameCompletionHandler)

    Parameters

    cvPixelBuffer

    The received video frame buffer (SDK-owned).

    completionHandler

    Completion handler, to be invoked exactly once with the frame to render (the same buffer or a new one).