# onFrame

abstract fun onFrame(frame: VideoFrame, processedFrameListener: ProcessedVideoFrameListener)

Called on a worker thread when a new frame is available from the local camera. It provides the possibility for developer to process the local video frames (e.g. applying filters on the frames), and send the updated video frames to the remote client. Updated frames are also shown on preview. The video frames are in YUV I420 planar or semi-planar (but not fully interleaved) format.

IMPORTANT: When processing is complete, call ProcessedVideoFrameListener.onFrameProcessed. Failure to do so will lead to remote side not getting any frames. It is allowed to call this method with either original or updated or entirely new frame. The call to ProcessedVideoFrameListener.onFrameProcessed should be invoked from same thread as LocalVideoFrameListener.onFrame callback.

#### Parameters

frame

The YUV I420 frame object.

processedFrameListener

Listener to inform that processing is complete and frames (updated or original) can be sent to remote client.

#### See also

VideoUtils
ImageFormat.YUV_420_888