# DefaultLivePlaybackSpeedControl.Builder

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.java+class:androidx.media3.exoplayer.DefaultLivePlaybackSpeedControl.Builder)

*** ** * ** ***


```
public final class DefaultLivePlaybackSpeedControl.Builder
```

<br />

*** ** * ** ***

Builder for a `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder#Builder()()` Creates a builder. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl` | `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder#build()()` Builds an instance. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder#setFallbackMaxPlaybackSpeed(float)(float fallbackMaxPlaybackSpeed)` Sets the maximum playback speed that should be used if no maximum playback speed is defined by the media. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder#setFallbackMinPlaybackSpeed(float)(float fallbackMinPlaybackSpeed)` Sets the minimum playback speed that should be used if no minimum playback speed is defined by the media. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder#setMaxLiveOffsetErrorMsForUnitSpeed(long)( 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. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder#setMinPossibleLiveOffsetSmoothingFactor(float)( float minPossibleLiveOffsetSmoothingFactor )` Sets the smoothing factor when smoothing the minimum possible live offset that can be achieved during playback. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder#setMinUpdateIntervalMs(long)(long minUpdateIntervalMs)` Sets the minimum interval between playback speed changes, in milliseconds. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder#setProportionalControlFactor(float)(float proportionalControlFactor)` Sets the proportional control factor used to adjust the playback speed. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder#setTargetLiveOffsetIncrementOnRebufferMs(long)( long targetLiveOffsetIncrementOnRebufferMs )` Sets the increment applied to the target live offset each time the player is rebuffering, in milliseconds. |

## Public constructors

### Builder

```
public Builder()
```

Creates a builder.

## Public methods

### build

```
public DefaultLivePlaybackSpeedControl build()
```

Builds an instance.

### setFallbackMaxPlaybackSpeed

```
@CanIgnoreReturnValue
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 `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl#DEFAULT_FALLBACK_MAX_PLAYBACK_SPEED()`.

| Parameters |
|---|---|
| `float fallbackMaxPlaybackSpeed` | The fallback maximum factor by which playback can be sped up. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | This builder, for convenience. |

### setFallbackMinPlaybackSpeed

```
@CanIgnoreReturnValue
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 `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl#DEFAULT_FALLBACK_MIN_PLAYBACK_SPEED()`.

| Parameters |
|---|---|
| `float fallbackMinPlaybackSpeed` | The fallback minimum factor by which playback can be sped up. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | This builder, for convenience. |

### setMaxLiveOffsetErrorMsForUnitSpeed

```
@CanIgnoreReturnValue
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 `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl#DEFAULT_MAX_LIVE_OFFSET_ERROR_MS_FOR_UNIT_SPEED()`.

| Parameters |
|---|---|
| `long maxLiveOffsetErrorMsForUnitSpeed` | The maximum live offset error for which unit speed is used, in milliseconds. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | This builder, for convenience. |

### setMinPossibleLiveOffsetSmoothingFactor

```
@CanIgnoreReturnValue
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 |
|---|---|
| `float minPossibleLiveOffsetSmoothingFactor` | The smoothing factor. Must be ≥ 0 and \<1. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | This builder, for convenience. |

### setMinUpdateIntervalMs

```
@CanIgnoreReturnValue
public DefaultLivePlaybackSpeedControl.Builder setMinUpdateIntervalMs(long minUpdateIntervalMs)
```

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

The default is `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl#DEFAULT_MIN_UPDATE_INTERVAL_MS()`.

| Parameters |
|---|---|
| `long minUpdateIntervalMs` | The minimum interval between playback speed changes, in milliseconds. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | This builder, for convenience. |

### setProportionalControlFactor

```
@CanIgnoreReturnValue
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 `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl#DEFAULT_PROPORTIONAL_CONTROL_FACTOR()`.

| Parameters |
|---|---|
| `float proportionalControlFactor` | The proportional control factor used to adjust the playback speed. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | This builder, for convenience. |

### setTargetLiveOffsetIncrementOnRebufferMs

```
@CanIgnoreReturnValue
public DefaultLivePlaybackSpeedControl.Builder setTargetLiveOffsetIncrementOnRebufferMs(
    long targetLiveOffsetIncrementOnRebufferMs
)
```

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

| Parameters |
|---|---|
| `long targetLiveOffsetIncrementOnRebufferMs` | The increment applied to the target live offset when the player is rebuffering, in milliseconds |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.Builder` | This builder, for convenience. |