public static final class DefaultLivePlaybackSpeedControl.Builder extends Object
DefaultLivePlaybackSpeedControl
.Constructor | Description |
---|---|
Builder() |
Creates a builder.
|
Modifier and Type | Method | Description |
---|---|---|
DefaultLivePlaybackSpeedControl |
build() |
Builds an instance.
|
DefaultLivePlaybackSpeedControl.Builder |
setFallbackMaxPlaybackSpeed(float fallbackMaxPlaybackSpeed) |
Sets the maximum playback speed that should be used if no maximum playback speed is defined
by the media.
|
DefaultLivePlaybackSpeedControl.Builder |
setFallbackMinPlaybackSpeed(float fallbackMinPlaybackSpeed) |
Sets the minimum playback speed that should be used if no minimum playback speed is defined
by the media.
|
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.
|
DefaultLivePlaybackSpeedControl.Builder |
setMinPossibleLiveOffsetSmoothingFactor(float minPossibleLiveOffsetSmoothingFactor) |
Sets the smoothing factor when smoothing the minimum possible live offset that can be
achieved during playback.
|
DefaultLivePlaybackSpeedControl.Builder |
setMinUpdateIntervalMs(long minUpdateIntervalMs) |
Sets the minimum interval between playback speed changes, in milliseconds.
|
DefaultLivePlaybackSpeedControl.Builder |
setProportionalControlFactor(float proportionalControlFactor) |
Sets the proportional control factor used to adjust the playback speed.
|
DefaultLivePlaybackSpeedControl.Builder |
setTargetLiveOffsetIncrementOnRebufferMs(long targetLiveOffsetIncrementOnRebufferMs) |
Sets the increment applied to the target live offset each time the player is rebuffering, in
milliseconds.
|
public DefaultLivePlaybackSpeedControl.Builder setFallbackMinPlaybackSpeed(float fallbackMinPlaybackSpeed)
The default is DefaultLivePlaybackSpeedControl.DEFAULT_FALLBACK_MIN_PLAYBACK_SPEED
.
fallbackMinPlaybackSpeed
- The fallback minimum factor by which playback can be sped up.public DefaultLivePlaybackSpeedControl.Builder setFallbackMaxPlaybackSpeed(float fallbackMaxPlaybackSpeed)
The default is DefaultLivePlaybackSpeedControl.DEFAULT_FALLBACK_MAX_PLAYBACK_SPEED
.
fallbackMaxPlaybackSpeed
- The fallback maximum factor by which playback can be sped up.public DefaultLivePlaybackSpeedControl.Builder setMinUpdateIntervalMs(long minUpdateIntervalMs)
The default is DefaultLivePlaybackSpeedControl.DEFAULT_MIN_UPDATE_INTERVAL_MS
.
minUpdateIntervalMs
- The minimum interval between playback speed changes, in
milliseconds.public DefaultLivePlaybackSpeedControl.Builder setProportionalControlFactor(float proportionalControlFactor)
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
.
proportionalControlFactor
- The proportional control factor used to adjust the playback
speed.public DefaultLivePlaybackSpeedControl.Builder setMaxLiveOffsetErrorMsForUnitSpeed(long maxLiveOffsetErrorMsForUnitSpeed)
The default is DefaultLivePlaybackSpeedControl.DEFAULT_MAX_LIVE_OFFSET_ERROR_MS_FOR_UNIT_SPEED
.
maxLiveOffsetErrorMsForUnitSpeed
- The maximum live offset error for which unit speed is
used, in milliseconds.public DefaultLivePlaybackSpeedControl.Builder setTargetLiveOffsetIncrementOnRebufferMs(long targetLiveOffsetIncrementOnRebufferMs)
targetLiveOffsetIncrementOnRebufferMs
- The increment applied to the target live offset
when the player is rebuffering, in millisecondspublic DefaultLivePlaybackSpeedControl.Builder setMinPossibleLiveOffsetSmoothingFactor(float minPossibleLiveOffsetSmoothingFactor)
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
.
minPossibleLiveOffsetSmoothingFactor
- The smoothing factor. Must be ≥ 0 and < 1.public DefaultLivePlaybackSpeedControl build()