public final class

DefaultLoadControl.Builder

extends java.lang.Object

 java.lang.Object

↳androidx.media3.exoplayer.DefaultLoadControl.Builder

Overview

Builder for DefaultLoadControl.

Summary

Constructors
publicBuilder()

Constructs a new instance.

Methods
public DefaultLoadControlbuild()

Creates a DefaultLoadControl.

public DefaultLoadControl.BuildersetAllocator(DefaultAllocator allocator)

Sets the DefaultAllocator used by the loader.

public DefaultLoadControl.BuildersetBackBuffer(int backBufferDurationMs, boolean retainBackBufferFromKeyframe)

Sets the back buffer duration, and whether the back buffer is retained from the previous keyframe.

public DefaultLoadControl.BuildersetBufferDurationsMs(int minBufferMs, int maxBufferMs, int bufferForPlaybackMs, int bufferForPlaybackAfterRebufferMs)

Sets the buffer duration parameters.

public DefaultLoadControl.BuildersetPrioritizeTimeOverSizeThresholds(boolean prioritizeTimeOverSizeThresholds)

Sets whether the load control prioritizes buffer time constraints over buffer size constraints.

public DefaultLoadControl.BuildersetTargetBufferBytes(int targetBufferBytes)

Sets the target buffer size in bytes for each player.

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public Builder()

Constructs a new instance.

Methods

public DefaultLoadControl.Builder setAllocator(DefaultAllocator allocator)

Sets the DefaultAllocator used by the loader.

Parameters:

allocator: The DefaultAllocator.

Returns:

This builder, for convenience.

public DefaultLoadControl.Builder setBufferDurationsMs(int minBufferMs, int maxBufferMs, int bufferForPlaybackMs, int bufferForPlaybackAfterRebufferMs)

Sets the buffer duration parameters.

Parameters:

minBufferMs: The minimum duration of media that the player will attempt to ensure is buffered at all times, in milliseconds.
maxBufferMs: The maximum duration of media that the player will attempt to buffer, in milliseconds.
bufferForPlaybackMs: The duration of media that must be buffered for playback to start or resume following a user action such as a seek, in milliseconds.
bufferForPlaybackAfterRebufferMs: The default duration of media that must be buffered for playback to resume after a rebuffer, in milliseconds. A rebuffer is defined to be caused by buffer depletion rather than a user action.

Returns:

This builder, for convenience.

public DefaultLoadControl.Builder setTargetBufferBytes(int targetBufferBytes)

Sets the target buffer size in bytes for each player. The actual overall target buffer size is this value multiplied by the number of players that use the load control simultaneously. If set to C.LENGTH_UNSET, the target buffer size of a player will be calculated based on the selected tracks of the player.

Parameters:

targetBufferBytes: The target buffer size in bytes.

Returns:

This builder, for convenience.

public DefaultLoadControl.Builder setPrioritizeTimeOverSizeThresholds(boolean prioritizeTimeOverSizeThresholds)

Sets whether the load control prioritizes buffer time constraints over buffer size constraints.

Parameters:

prioritizeTimeOverSizeThresholds: Whether the load control prioritizes buffer time constraints over buffer size constraints.

Returns:

This builder, for convenience.

public DefaultLoadControl.Builder setBackBuffer(int backBufferDurationMs, boolean retainBackBufferFromKeyframe)

Sets the back buffer duration, and whether the back buffer is retained from the previous keyframe.

Parameters:

backBufferDurationMs: The back buffer duration in milliseconds.
retainBackBufferFromKeyframe: Whether the back buffer is retained from the previous keyframe.

Returns:

This builder, for convenience.

public DefaultLoadControl build()

Creates a DefaultLoadControl.