MediaCodecVideoRenderer.Builder
class MediaCodecVideoRenderer.Builder
A builder to create MediaCodecVideoRenderer
instances.
Summary
Public constructors
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
.
setMediaCodecSelector
@CanIgnoreReturnValue
fun setMediaCodecSelector(mediaCodecSelector: MediaCodecSelector!): MediaCodecVideoRenderer.Builder!
Sets the decoder selector
.
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.