Added in API level 21

Callback


abstract class Callback
kotlin.Any
   ↳ android.media.MediaCodec.Callback

MediaCodec callback interface. Used to notify the user asynchronously of various MediaCodec events.

Summary

Public constructors

Public methods
open Unit

Called only when MediaCodec encountered a crypto(decryption) error when using a decoder configured with CONFIGURE_FLAG_USE_CRYPTO_ASYNC flag along with crypto or descrambler object.

abstract Unit

Called when the MediaCodec encountered an error

abstract Unit

Called when an input buffer becomes available.

abstract Unit

Called when an output buffer becomes available.

open Unit

Called when multiple access-units are available in the output.

abstract Unit

Called when the output format has changed

Public constructors

Callback

Callback()

Public methods

onCryptoError

Added in API level 34
open fun onCryptoError(
    codec: MediaCodec,
    e: MediaCodec.CryptoException
): Unit

Called only when MediaCodec encountered a crypto(decryption) error when using a decoder configured with CONFIGURE_FLAG_USE_CRYPTO_ASYNC flag along with crypto or descrambler object.

Parameters
codec MediaCodec: The MediaCodec object This value cannot be null.
e MediaCodec.CryptoException: The MediaCodec.CryptoException object with error details. This value cannot be null.

onError

Added in API level 21
abstract fun onError(
    codec: MediaCodec,
    e: MediaCodec.CodecException
): Unit

Called when the MediaCodec encountered an error

Parameters
codec MediaCodec: The MediaCodec object. This value cannot be null.
e MediaCodec.CodecException: The MediaCodec.CodecException object describing the error. This value cannot be null.

onInputBufferAvailable

Added in API level 21
abstract fun onInputBufferAvailable(
    codec: MediaCodec,
    index: Int
): Unit

Called when an input buffer becomes available.

Parameters
codec MediaCodec: The MediaCodec object. This value cannot be null.
index Int: The index of the available input buffer.

onOutputBufferAvailable

Added in API level 21
abstract fun onOutputBufferAvailable(
    codec: MediaCodec,
    index: Int,
    info: MediaCodec.BufferInfo
): Unit

Called when an output buffer becomes available.

Parameters
codec MediaCodec: The MediaCodec object. This value cannot be null.
index Int: The index of the available output buffer.
info MediaCodec.BufferInfo: Info regarding the available output buffer MediaCodec.BufferInfo. This value cannot be null.

onOutputBuffersAvailable

Added in API level 35
open fun onOutputBuffersAvailable(
    codec: MediaCodec,
    index: Int,
    infos: ArrayDeque<MediaCodec.BufferInfo!>
): Unit

Called when multiple access-units are available in the output.

Parameters
codec MediaCodec: The MediaCodec object. This value cannot be null.
index Int: The index of the available output buffer.
infos ArrayDeque<MediaCodec.BufferInfo!>: Infos describing the available output buffer MediaCodec.BufferInfo. Access units present in the output buffer are laid out contiguously without gaps and in order. This value cannot be null.

onOutputFormatChanged

Added in API level 21
abstract fun onOutputFormatChanged(
    codec: MediaCodec,
    format: MediaFormat
): Unit

Called when the output format has changed

Parameters
codec MediaCodec: The MediaCodec object. This value cannot be null.
format MediaFormat: The new output format. This value cannot be null.