MediaCodecVideoRenderer.Builder


class MediaCodecVideoRenderer.Builder


A builder to create MediaCodecVideoRenderer instances.

Summary

Public constructors

Builder(context: Context!)

Creates a new builder.

Public functions

MediaCodecVideoRenderer!

Builds the MediaCodecVideoRenderer.

MediaCodecVideoRenderer.Builder!

Sets whether VIDEO_AV1 bitstream parsing for sample dependency information is enabled.

MediaCodecVideoRenderer.Builder!

Sets the maximum duration in milliseconds for which this video renderer can attempt to seamlessly join an ongoing playback.

MediaCodecVideoRenderer.Builder!
@CanIgnoreReturnValue
setAssumedMinimumCodecOperatingRate(
    assumedMinimumCodecOperatingRate: Float
)

Sets a codec operating rate that all codecs instantiated by this renderer are assumed to meet implicitly (i.e. without the operating rate being set explicitly using KEY_OPERATING_RATE).

MediaCodecVideoRenderer.Builder!

Sets the MediaCodecAdapter.Factory used to create MediaCodecAdapter instances.

MediaCodecVideoRenderer.Builder!

Sets whether to enable fallback to lower-priority decoders if decoder initialization fails.

MediaCodecVideoRenderer.Builder!

Sets a handler to use when delivering events to eventListener.

MediaCodecVideoRenderer.Builder!

Sets a listener for VideoRendererEventListener events.

MediaCodecVideoRenderer.Builder!

Sets the maximum number of frames that can be dropped between invocations of onDroppedFrames.

MediaCodecVideoRenderer.Builder!

Sets the decoder selector.

MediaCodecVideoRenderer.Builder!

Sets a VideoSink to consume the frames.

Public constructors

Builder

Builder(context: Context!)

Creates a new builder.

Parameters
context: Context!

A context.

Public functions

build

fun build(): MediaCodecVideoRenderer!

Builds the MediaCodecVideoRenderer. Must only be called once per Builder instance.

Throws IllegalStateException if the event handler and the event listener are neither both null nor both non- null.

experimentalSetParseAv1SampleDependencies

@CanIgnoreReturnValue
fun experimentalSetParseAv1SampleDependencies(
    parseAv1SampleDependencies: Boolean
): MediaCodecVideoRenderer.Builder!

Sets whether VIDEO_AV1 bitstream parsing for sample dependency information is enabled. Knowing which input frames are not depended on can speed up seeking and reduce dropped frames.

Defaults to false.

This method is experimental and will be renamed or removed in a future release.

setAllowedJoiningTimeMs

@CanIgnoreReturnValue
fun setAllowedJoiningTimeMs(allowedJoiningTimeMs: Long): MediaCodecVideoRenderer.Builder!

Sets the maximum duration in milliseconds for which this video renderer can attempt to seamlessly join an ongoing playback.

setAssumedMinimumCodecOperatingRate

@CanIgnoreReturnValue
fun setAssumedMinimumCodecOperatingRate(
    assumedMinimumCodecOperatingRate: Float
): MediaCodecVideoRenderer.Builder!

Sets a codec operating rate that all codecs instantiated by this renderer are assumed to meet implicitly (i.e. without the operating rate being set explicitly using KEY_OPERATING_RATE).

setCodecAdapterFactory

@CanIgnoreReturnValue
fun setCodecAdapterFactory(codecAdapterFactory: MediaCodecAdapter.Factory!): MediaCodecVideoRenderer.Builder!

Sets the MediaCodecAdapter.Factory used to create MediaCodecAdapter instances.

setEnableDecoderFallback

@CanIgnoreReturnValue
fun setEnableDecoderFallback(enableDecoderFallback: Boolean): MediaCodecVideoRenderer.Builder!

Sets whether to enable fallback to lower-priority decoders if decoder initialization fails. This may result in using a decoder that is slower/less efficient than the primary decoder.

setEventHandler

@CanIgnoreReturnValue
fun setEventHandler(eventHandler: Handler?): MediaCodecVideoRenderer.Builder!

Sets a handler to use when delivering events to eventListener.

The event handler and event listener are linked in that both should be set to either null or non-null values.

setEventListener

@CanIgnoreReturnValue
fun setEventListener(eventListener: VideoRendererEventListener?): MediaCodecVideoRenderer.Builder!

Sets a listener for VideoRendererEventListener events.

The event handler and event listener are linked in that both should be set to either null or non-null values.

setMaxDroppedFramesToNotify

@CanIgnoreReturnValue
fun setMaxDroppedFramesToNotify(maxDroppedFramesToNotify: Int): MediaCodecVideoRenderer.Builder!

Sets the maximum number of frames that can be dropped between invocations of onDroppedFrames.

setVideoSink

@CanIgnoreReturnValue
fun setVideoSink(videoSink: VideoSink?): MediaCodecVideoRenderer.Builder!

Sets a VideoSink to consume the frames.

If a VideoSink is not set and effects are set, a VideoSink produced by a PlaybackVideoGraphWrapper with its default configuration will be used to apply effects and render the frames on the output.