DefaultMediaCodecAdapterFactory


@UnstableApi
class DefaultMediaCodecAdapterFactory : MediaCodecAdapter.Factory


The default MediaCodecAdapter.Factory.

By default, this factory createsAsynchronousMediaCodecAdapter instances on devices with API level >= 31 (Android 12+). For devices with older API versions, the default behavior is to create SynchronousMediaCodecAdapter instances. The factory offers APIs to force the creation of AsynchronousMediaCodecAdapter or SynchronousMediaCodecAdapter instances.

Summary

Public constructors

This function is deprecated.

Use DefaultMediaCodecAdapterFactory instead.

Creates the default media codec adapter factory.

DefaultMediaCodecAdapterFactory(
    context: Context!,
    callbackThreadSupplier: Supplier<HandlerThread!>?,
    queueingThreadSupplier: Supplier<HandlerThread!>?
)

Creates the default media codec adapter factory.

Inherited Constants

From androidx.media3.exoplayer.mediacodec.MediaCodecAdapter.Factory
const MediaCodecAdapter.Factory!

This property is deprecated.

Use getDefault instead.

Inherited functions

From androidx.media3.exoplayer.mediacodec.MediaCodecAdapter.Factory
java-static MediaCodecAdapter.Factory!
getDefault(context: Context!)

Returns the default factory that should be used in most cases.

Public constructors

DefaultMediaCodecAdapterFactory

DefaultMediaCodecAdapterFactory()

DefaultMediaCodecAdapterFactory

DefaultMediaCodecAdapterFactory(context: Context!)

Creates the default media codec adapter factory.

Parameters
context: Context!

A Context.

DefaultMediaCodecAdapterFactory

DefaultMediaCodecAdapterFactory(
    context: Context!,
    callbackThreadSupplier: Supplier<HandlerThread!>?,
    queueingThreadSupplier: Supplier<HandlerThread!>?
)

Creates the default media codec adapter factory.

Parameters
context: Context!

A Context.

callbackThreadSupplier: Supplier<HandlerThread!>?

A supplier of HandlerThread used for MediaCodec callbacks invoked when buffers are available.

queueingThreadSupplier: Supplier<HandlerThread!>?

A supplier of HandlerThread to use for queueing buffers.

Public functions

createAdapter

fun createAdapter(configuration: MediaCodecAdapter.Configuration!): MediaCodecAdapter!

Creates a MediaCodecAdapter instance.

forceDisableAsynchronous

@CanIgnoreReturnValue
fun forceDisableAsynchronous(): DefaultMediaCodecAdapterFactory!

Forces the factory to always create SynchronousMediaCodecAdapter instances.

Returns
DefaultMediaCodecAdapterFactory!

This factory, for convenience.

forceEnableAsynchronous

@CanIgnoreReturnValue
fun forceEnableAsynchronous(): DefaultMediaCodecAdapterFactory!

Forces this factory to always create AsynchronousMediaCodecAdapter instances.

Returns
DefaultMediaCodecAdapterFactory!

This factory, for convenience.

setAsyncCryptoFlagEnabled

@CanIgnoreReturnValue
fun setAsyncCryptoFlagEnabled(enableAsyncCryptoFlag: Boolean): DefaultMediaCodecAdapterFactory!

Sets whether to enable CONFIGURE_FLAG_USE_CRYPTO_ASYNC on API 36 and above for AsynchronousMediaCodecAdapter instances. The default is true.

Returns
DefaultMediaCodecAdapterFactory!

This factory, for convenience.