DefaultLoadControl.Builder


public final class DefaultLoadControl.Builder


Builder for DefaultLoadControl.

Summary

Public constructors

Constructs a new instance.

Public methods

DefaultLoadControl

Creates a DefaultLoadControl.

DefaultLoadControl.Builder

Sets the DefaultAllocator used by the loader.

DefaultLoadControl.Builder
@CanIgnoreReturnValue
setBackBuffer(
    int backBufferDurationMs,
    boolean retainBackBufferFromKeyframe
)

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

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

Sets the buffer duration parameters.

DefaultLoadControl.Builder
@CanIgnoreReturnValue
setPrioritizeTimeOverSizeThresholds(
    boolean prioritizeTimeOverSizeThresholds
)

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

DefaultLoadControl.Builder

Sets the target buffer size in bytes for each player.

Public constructors

Builder

public Builder()

Constructs a new instance.

Public methods

build

public DefaultLoadControl build()

Creates a DefaultLoadControl.

setAllocator

@CanIgnoreReturnValue
public DefaultLoadControl.Builder setAllocator(DefaultAllocator allocator)

Sets the DefaultAllocator used by the loader.

Parameters
DefaultAllocator allocator

The DefaultAllocator.

Returns
DefaultLoadControl.Builder

This builder, for convenience.

Throws
java.lang.IllegalStateException

If build has already been called.

setBackBuffer

@CanIgnoreReturnValue
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
int backBufferDurationMs

The back buffer duration in milliseconds.

boolean retainBackBufferFromKeyframe

Whether the back buffer is retained from the previous keyframe.

Returns
DefaultLoadControl.Builder

This builder, for convenience.

Throws
java.lang.IllegalStateException

If build has already been called.

setBufferDurationsMs

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

Sets the buffer duration parameters.

Parameters
int minBufferMs

The minimum duration of media that the player will attempt to ensure is buffered at all times, in milliseconds.

int maxBufferMs

The maximum duration of media that the player will attempt to buffer, in milliseconds.

int 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.

int 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
DefaultLoadControl.Builder

This builder, for convenience.

Throws
java.lang.IllegalStateException

If build has already been called.

setPrioritizeTimeOverSizeThresholds

@CanIgnoreReturnValue
public DefaultLoadControl.Builder setPrioritizeTimeOverSizeThresholds(
    boolean prioritizeTimeOverSizeThresholds
)

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

Parameters
boolean prioritizeTimeOverSizeThresholds

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

Returns
DefaultLoadControl.Builder

This builder, for convenience.

Throws
java.lang.IllegalStateException

If build has already been called.

setTargetBufferBytes

@CanIgnoreReturnValue
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 LENGTH_UNSET, the target buffer size of a player will be calculated based on the selected tracks of the player.

Parameters
int targetBufferBytes

The target buffer size in bytes.

Returns
DefaultLoadControl.Builder

This builder, for convenience.

Throws
java.lang.IllegalStateException

If build has already been called.