AdaptationConfig

AdaptationConfig

data class AdaptationConfig(var initialBandwidthEstimateOverride: Long? = null, var maxSelectableVideoBitrate: Int = DEFAULT_MAX_SELECTABLE_VIDEO_BITRATE, var isRebufferingAllowed: Boolean = true, var preload: Boolean = DEFAULT_PRELOAD, var qualityStabilityBalance: Float = 0.5f) : Parcelable

Configures the adaptation logic.

See SourceAdaptationConfig to configure the adaptation at the Source level.

Constructors

AdaptationConfigconstructor(initialBandwidthEstimateOverride: Long? = null, maxSelectableVideoBitrate: Int = DEFAULT_MAX_SELECTABLE_VIDEO_BITRATE, isRebufferingAllowed: Boolean = true, preload: Boolean = DEFAULT_PRELOAD, qualityStabilityBalance: Float = 0.5f)constructor(startupBitrate: Int, maxSelectableVideoBitrate: Int = DEFAULT_MAX_SELECTABLE_VIDEO_BITRATE, isRebufferingAllowed: Boolean = true, preload: Boolean = DEFAULT_PRELOAD)

Types

NameSummary
Builderclass Builder
Companionobject Companion

Properties

NameSummary
initialBandwidthEstimateOverridevar initialBandwidthEstimateOverride: Long?
The initial bandwidth estimate in bits per second the player uses to select the optimal media tracks before actual bandwidth data is available. Overriding this value should only be done in specific cases and will most of the time not result in better selection logic.
isRebufferingAllowed@SerialName(value = "allowRebuffering")
var isRebufferingAllowed: Boolean
Specifies whether rebuffering is allowed. Default value is true.
maxSelectableVideoBitratevar maxSelectableVideoBitrate: Int
Specifies the upper bitrate boundary for video qualities. All qualities above this threshold will not be selected by the ABR logic. These qualities are still available for manual quality selection.
preloadvar preload: Boolean
Specifies whether the player preloads the content. Default value is true.
qualityStabilityBalancevar qualityStabilityBalance: Float
Defines the balance between quality (i.e. bitrate) and stability in a range of [0, 1]. A value of 0 means that the player will aim to play the best possible quality, potentially at the cost of lower playback stability. A value of 1 means that the player will aim for the highest stability with the least amount of stalls, while potentially sacrificing quality. This is only relevant when playing close to the live edge.
startupBitratevar startupBitrate: Int
See initialBandwidthEstimateOverride.
videoAdaptation@Transient
var videoAdaptation: VideoAdaptation?
A callback to customize the player's adaptation logic. VideoAdaptation.onVideoAdaptation is called before the player tries to download a new video segment.