onFrameI420

open fun onFrameI420(i420: JavaI420Buffer, rotationDegrees: Int = 0, timestampNs: Long = System.nanoTime())

An I420 frame is ready. See FrameSink for the sources that arrive here.

Unlike onFrameNv12 you own i420 and must call release() on it on every path, including after an exception, or the frame's direct buffers leak. Overriding this is how a renderer that speaks I420 avoids a per-frame plane conversion; the default implementation releases the buffer and draws nothing.

Parameters

i420

the frame buffer, yours to release.

rotationDegrees

clockwise rotation to apply when drawing. The SDK's own sources deliver upright frames, so this is 0 today.

timestampNs

capture time on this device's monotonic clock; useful for pacing, not comparable with other participants' clocks.