Added in API level 23

OnFrameRenderedListener


interface OnFrameRenderedListener
android.media.MediaCodec.OnFrameRenderedListener

Listener to be called when an output frame has rendered on the output surface

Summary

Public methods
abstract Unit
onFrameRendered(codec: MediaCodec, presentationTimeUs: Long, nanoTime: Long)

Called when an output frame has rendered on the output surface.

Public methods

onFrameRendered

Added in API level 23
abstract fun onFrameRendered(
    codec: MediaCodec,
    presentationTimeUs: Long,
    nanoTime: Long
): Unit

Called when an output frame has rendered on the output surface.

Note: This callback is for informational purposes only: to get precise render timing samples, and can be significantly delayed and batched. Starting with Android android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE, a callback will always be received for each rendered frame providing the MediaCodec is still in the executing state when the callback is dispatched. Prior to Android android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE, some frames may have been rendered even if there was no callback generated.

Parameters
codec MediaCodec: the MediaCodec instance This value cannot be null.
presentationTimeUs Long: the presentation time (media time) of the frame rendered. This is usually the same as specified in queueInputBuffer; however, some codecs may alter the media time by applying some time-based transformation, such as frame rate conversion. In that case, presentation time corresponds to the actual output frame rendered.
nanoTime Long: The system time when the frame was rendered.