DefaultLivePlaybackSpeedControl.Builder


class DefaultLivePlaybackSpeedControl.Builder


Builder for a DefaultLivePlaybackSpeedControl.

Summary

Public constructors

Creates a builder.

Public functions

DefaultLivePlaybackSpeedControl!

Builds an instance.

DefaultLivePlaybackSpeedControl.Builder!

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

DefaultLivePlaybackSpeedControl.Builder!

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

DefaultLivePlaybackSpeedControl.Builder!
@CanIgnoreReturnValue
setMaxLiveOffsetErrorMsForUnitSpeed(
    maxLiveOffsetErrorMsForUnitSpeed: Long
)

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

DefaultLivePlaybackSpeedControl.Builder!
@CanIgnoreReturnValue
setMinPossibleLiveOffsetSmoothingFactor(
    minPossibleLiveOffsetSmoothingFactor: Float
)

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

DefaultLivePlaybackSpeedControl.Builder!

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

DefaultLivePlaybackSpeedControl.Builder!

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

DefaultLivePlaybackSpeedControl.Builder!
@CanIgnoreReturnValue
setTargetLiveOffsetIncrementOnRebufferMs(
    targetLiveOffsetIncrementOnRebufferMs: Long
)

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

Public constructors

Builder

Builder()

Creates a builder.

Public functions

build

fun build(): DefaultLivePlaybackSpeedControl!

Builds an instance.

setFallbackMaxPlaybackSpeed

@CanIgnoreReturnValue
fun setFallbackMaxPlaybackSpeed(fallbackMaxPlaybackSpeed: Float): DefaultLivePlaybackSpeedControl.Builder!

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

The default is DEFAULT_FALLBACK_MAX_PLAYBACK_SPEED.

Parameters
fallbackMaxPlaybackSpeed: Float

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

Returns
DefaultLivePlaybackSpeedControl.Builder!

This builder, for convenience.

setFallbackMinPlaybackSpeed

@CanIgnoreReturnValue
fun setFallbackMinPlaybackSpeed(fallbackMinPlaybackSpeed: Float): DefaultLivePlaybackSpeedControl.Builder!

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

The default is DEFAULT_FALLBACK_MIN_PLAYBACK_SPEED.

Parameters
fallbackMinPlaybackSpeed: Float

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

Returns
DefaultLivePlaybackSpeedControl.Builder!

This builder, for convenience.

setMaxLiveOffsetErrorMsForUnitSpeed

@CanIgnoreReturnValue
fun setMaxLiveOffsetErrorMsForUnitSpeed(
    maxLiveOffsetErrorMsForUnitSpeed: Long
): DefaultLivePlaybackSpeedControl.Builder!

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

Parameters
maxLiveOffsetErrorMsForUnitSpeed: Long

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

Returns
DefaultLivePlaybackSpeedControl.Builder!

This builder, for convenience.

setMinPossibleLiveOffsetSmoothingFactor

@CanIgnoreReturnValue
fun setMinPossibleLiveOffsetSmoothingFactor(
    minPossibleLiveOffsetSmoothingFactor: Float
): DefaultLivePlaybackSpeedControl.Builder!

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: Float

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

Returns
DefaultLivePlaybackSpeedControl.Builder!

This builder, for convenience.

setMinUpdateIntervalMs

@CanIgnoreReturnValue
fun setMinUpdateIntervalMs(minUpdateIntervalMs: Long): DefaultLivePlaybackSpeedControl.Builder!

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

The default is DEFAULT_MIN_UPDATE_INTERVAL_MS.

Parameters
minUpdateIntervalMs: Long

The minimum interval between playback speed changes, in milliseconds.

Returns
DefaultLivePlaybackSpeedControl.Builder!

This builder, for convenience.

setProportionalControlFactor

@CanIgnoreReturnValue
fun setProportionalControlFactor(proportionalControlFactor: Float): DefaultLivePlaybackSpeedControl.Builder!

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

Parameters
proportionalControlFactor: Float

The proportional control factor used to adjust the playback speed.

Returns
DefaultLivePlaybackSpeedControl.Builder!

This builder, for convenience.

setTargetLiveOffsetIncrementOnRebufferMs

@CanIgnoreReturnValue
fun setTargetLiveOffsetIncrementOnRebufferMs(
    targetLiveOffsetIncrementOnRebufferMs: Long
): DefaultLivePlaybackSpeedControl.Builder!

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

Parameters
targetLiveOffsetIncrementOnRebufferMs: Long

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

Returns
DefaultLivePlaybackSpeedControl.Builder!

This builder, for convenience.