MediaCodecVideoRenderer.Builder
public final class MediaCodecVideoRenderer.Builder
A builder to create MediaCodecVideoRenderer
instances.
Summary
Public constructors
Public methods
build
public MediaCodecVideoRenderer build()
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
public MediaCodecVideoRenderer.Builder experimentalSetParseAv1SampleDependencies(
boolean parseAv1SampleDependencies
)
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
public MediaCodecVideoRenderer.Builder setAllowedJoiningTimeMs(long allowedJoiningTimeMs)
Sets the maximum duration in milliseconds for which this video renderer can attempt to seamlessly join an ongoing playback.
setAssumedMinimumCodecOperatingRate
@CanIgnoreReturnValue
public MediaCodecVideoRenderer.Builder setAssumedMinimumCodecOperatingRate(
float assumedMinimumCodecOperatingRate
)
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
public MediaCodecVideoRenderer.Builder setCodecAdapterFactory(MediaCodecAdapter.Factory codecAdapterFactory)
Sets the MediaCodecAdapter.Factory
used to create MediaCodecAdapter
instances.
setEnableDecoderFallback
@CanIgnoreReturnValue
public MediaCodecVideoRenderer.Builder setEnableDecoderFallback(boolean enableDecoderFallback)
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
public MediaCodecVideoRenderer.Builder setEventHandler(@Nullable Handler eventHandler)
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
public MediaCodecVideoRenderer.Builder setEventListener(@Nullable VideoRendererEventListener eventListener)
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
public MediaCodecVideoRenderer.Builder setMaxDroppedFramesToNotify(int maxDroppedFramesToNotify)
Sets the maximum number of frames that can be dropped between invocations of onDroppedFrames
.
setMediaCodecSelector
@CanIgnoreReturnValue
public MediaCodecVideoRenderer.Builder setMediaCodecSelector(MediaCodecSelector mediaCodecSelector)
Sets the decoder selector
.
setVideoSink
@CanIgnoreReturnValue
public MediaCodecVideoRenderer.Builder setVideoSink(@Nullable VideoSink videoSink)
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.