public final class

DefaultLivePlaybackSpeedControl.Builder

extends java.lang.Object

 java.lang.Object

↳androidx.media3.exoplayer.DefaultLivePlaybackSpeedControl.Builder

Overview

Builder for a DefaultLivePlaybackSpeedControl.

Summary

Constructors
publicBuilder()

Creates a builder.

Methods
public DefaultLivePlaybackSpeedControlbuild()

Builds an instance.

public DefaultLivePlaybackSpeedControl.BuildersetFallbackMaxPlaybackSpeed(float fallbackMaxPlaybackSpeed)

Sets the maximum playback speed that should be used if no maximum playback speed is defined by the media.

public DefaultLivePlaybackSpeedControl.BuildersetFallbackMinPlaybackSpeed(float fallbackMinPlaybackSpeed)

Sets the minimum playback speed that should be used if no minimum playback speed is defined by the media.

public DefaultLivePlaybackSpeedControl.BuildersetMaxLiveOffsetErrorMsForUnitSpeed(long maxLiveOffsetErrorMsForUnitSpeed)

Sets the maximum difference between the current live offset and the target live offset, in milliseconds, for which unit speed (1.0f) is used.

public DefaultLivePlaybackSpeedControl.BuildersetMinPossibleLiveOffsetSmoothingFactor(float minPossibleLiveOffsetSmoothingFactor)

Sets the smoothing factor when smoothing the minimum possible live offset that can be achieved during playback.

public DefaultLivePlaybackSpeedControl.BuildersetMinUpdateIntervalMs(long minUpdateIntervalMs)

Sets the minimum interval between playback speed changes, in milliseconds.

public DefaultLivePlaybackSpeedControl.BuildersetProportionalControlFactor(float proportionalControlFactor)

Sets the proportional control factor used to adjust the playback speed.

public DefaultLivePlaybackSpeedControl.BuildersetTargetLiveOffsetIncrementOnRebufferMs(long targetLiveOffsetIncrementOnRebufferMs)

Sets the increment applied to the target live offset each time the player is rebuffering, in milliseconds.

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

Constructors

public Builder()

Creates a builder.

Methods

public DefaultLivePlaybackSpeedControl.Builder setFallbackMinPlaybackSpeed(float fallbackMinPlaybackSpeed)

Sets the minimum playback speed that should be used if no minimum playback speed is defined by the media.

The default is DefaultLivePlaybackSpeedControl.DEFAULT_FALLBACK_MIN_PLAYBACK_SPEED.

Parameters:

fallbackMinPlaybackSpeed: The fallback minimum factor by which playback can be sped up.

Returns:

This builder, for convenience.

public DefaultLivePlaybackSpeedControl.Builder setFallbackMaxPlaybackSpeed(float fallbackMaxPlaybackSpeed)

Sets the maximum playback speed that should be used if no maximum playback speed is defined by the media.

The default is DefaultLivePlaybackSpeedControl.DEFAULT_FALLBACK_MAX_PLAYBACK_SPEED.

Parameters:

fallbackMaxPlaybackSpeed: The fallback maximum factor by which playback can be sped up.

Returns:

This builder, for convenience.

public DefaultLivePlaybackSpeedControl.Builder setMinUpdateIntervalMs(long minUpdateIntervalMs)

Sets the minimum interval between playback speed changes, in milliseconds.

The default is DefaultLivePlaybackSpeedControl.DEFAULT_MIN_UPDATE_INTERVAL_MS.

Parameters:

minUpdateIntervalMs: The minimum interval between playback speed changes, in milliseconds.

Returns:

This builder, for convenience.

public DefaultLivePlaybackSpeedControl.Builder setProportionalControlFactor(float proportionalControlFactor)

Sets the proportional control factor used to adjust the playback speed.

The factor by which playback will be sped up is calculated as 1.0 + proportionalControlFactor x (currentLiveOffsetSec - targetLiveOffsetSec).

The default is DefaultLivePlaybackSpeedControl.DEFAULT_PROPORTIONAL_CONTROL_FACTOR.

Parameters:

proportionalControlFactor: The proportional control factor used to adjust the playback speed.

Returns:

This builder, for convenience.

public DefaultLivePlaybackSpeedControl.Builder setMaxLiveOffsetErrorMsForUnitSpeed(long maxLiveOffsetErrorMsForUnitSpeed)

Sets the maximum difference between the current live offset and the target live offset, in milliseconds, for which unit speed (1.0f) is used.

The default is DefaultLivePlaybackSpeedControl.DEFAULT_MAX_LIVE_OFFSET_ERROR_MS_FOR_UNIT_SPEED.

Parameters:

maxLiveOffsetErrorMsForUnitSpeed: The maximum live offset error for which unit speed is used, in milliseconds.

Returns:

This builder, for convenience.

public DefaultLivePlaybackSpeedControl.Builder setTargetLiveOffsetIncrementOnRebufferMs(long targetLiveOffsetIncrementOnRebufferMs)

Sets the increment applied to the target live offset each time the player is rebuffering, in milliseconds.

Parameters:

targetLiveOffsetIncrementOnRebufferMs: The increment applied to the target live offset when the player is rebuffering, in milliseconds

Returns:

This builder, for convenience.

public DefaultLivePlaybackSpeedControl.Builder setMinPossibleLiveOffsetSmoothingFactor(float minPossibleLiveOffsetSmoothingFactor)

Sets the smoothing factor when smoothing the minimum possible live offset that can be achieved during playback.

The live playback speed control keeps track of the minimum possible live offset achievable during playback to know whether it can reduce the current target live offset. The minimum possible live offset is defined as currentLiveOffset - bufferedDuration. As the minimum possible live offset is constantly changing, it is smoothed over recent samples by applying exponential smoothing: smoothedMinPossibleOffset = smoothingFactor x smoothedMinPossibleOffset + (1-smoothingFactor) x currentMinPossibleOffset.

Parameters:

minPossibleLiveOffsetSmoothingFactor: The smoothing factor. Must be ≥ 0 and < 1.

Returns:

This builder, for convenience.

Builds an instance.