Class: shaka.extern.AbrManager

Constructor

new AbrManager()

Implementations:
Source:

Methods

chooseVariant() → {shaka.extern.Variant}

Chooses one variant to switch to. Called by the Player.
Source:
Returns:
Type
shaka.extern.Variant

configure(config)

Sets the ABR configuration. It is the responsibility of the AbrManager implementation to implement the restrictions behavior described in shaka.extern.AbrConfiguration.
Parameters:
Name Type Description
config shaka.extern.AbrConfiguration
Source:

disable()

Disables automatic Stream suggestions. After this, the AbrManager may not call switchCallback().
Source:

enable()

Enables automatic Variant choices from the last ones passed to setVariants. After this, the AbrManager may call switchCallback() at any time.
Source:

getBandwidthEstimate() → {number}

Gets an estimate of the current bandwidth in bit/sec. This is used by the Player to generate stats.
Source:
Returns:
Type
number

init(switchCallback)

Initializes the AbrManager.
Parameters:
Name Type Description
switchCallback shaka.extern.AbrManager.SwitchCallback
Source:

playbackRateChanged(rate)

Updates manager playback rate.
Parameters:
Name Type Description
rate number
Source:

segmentDownloaded(deltaTimeMs, numBytes)

Notifies the AbrManager that a segment has been downloaded (includes MP4 SIDX data, WebM Cues data, initialization segments, and media segments).
Parameters:
Name Type Description
deltaTimeMs number The duration, in milliseconds, that the request took to complete.
numBytes number The total number of bytes transferred.
Source:

setVariants(variantsnon-null)

Updates manager's variants collection.
Parameters:
Name Type Description
variants Array.<!shaka.extern.Variant>
Source:

stop()

Stops any background timers and frees any objects held by this instance. This will only be called after a call to init.
Source:

Type Definitions

Factory

A factory for creating the abr manager.
Type:
  • function():!shaka.extern.AbrManager
Source:

SwitchCallback

A callback into the Player that should be called when the AbrManager decides it's time to change to a different variant. The first argument is a variant to switch to. The second argument is an optional boolean. If true, all data will be removed from the buffer, which will result in a buffering event. Unless a third argument is passed. The third argument in an optional number that specifies how much data (in seconds) should be retained when clearing the buffer. This can help achieve a fast switch that doesn't involve a buffering event. A minimum of two video segments should always be kept buffered to avoid temporary hiccups.
Type:
  • function(shaka.extern.Variant, boolean=, number=)
Source: