Interface DashPlaybackConfiguration

Represents a configuration for controlling playback of an MPEG-DASH stream.

Remarks


- Available since v2.79.0.

interface DashPlaybackConfiguration {
    desiredTimescale?: number;
    ignoreAvailabilityWindow?: boolean;
    needsTimescaleShifting?: null | boolean;
    useSeamlessPeriodSwitch?: SeamlessPeriodSwitchStrategy;
}

Properties

desiredTimescale?: number

(Experimental) The desired timescale to which the media data should be shifted.

Remarks


- Available since v4.11.0.
- When specified, if the player decides to shift the timescale (see DashPlaybackConfiguration.needsTimescaleShifting), the timescale will be set to the given desired timescale.
- When not specified, if the player decides to shift timescale, the player will decide the timescale to which it should shift.
- This is an experimental option. It should only be used after consulting with THEOplayer support or engineering.

ignoreAvailabilityWindow?: boolean

(Experimental) Force the player to ignore the availability window of individual segments in the MPD, and instead consider every listed segment to be immediately available.

Remarks


- Available since v5.2.0.
- This only applies to livestreams (with <MPD type="dynamic">).
- This only applies to streams that use <SegmentTimeline>.

needsTimescaleShifting?: null | boolean

(Experimental) Whether the timescales of the media data need to be shifted, in order to work around platform-specific issues on certain smart TV platforms.

Remarks


- Available since v4.1.0.
- On certain smart TV platforms (such as Tizen 2), playback issues may arise when the timescale of the media data changes across periods or discontinuities. In that case, the player may need to shift all the timescales first, however this strategy may not work for all streams.
- When not specified, the player will decide whether or not to shift timescales based on the platform.
- This is an experimental option. It should only be used after consulting with THEOplayer support or engineering.

useSeamlessPeriodSwitch?: SeamlessPeriodSwitchStrategy

Whether to seamlessly switch between DASH periods.

Remarks

The player supports two strategies for handling a switch between two periods in an MPEG-DASH stream:
- Seamless: Once the player is done buffering the current period, it immediately starts buffering the next period. This requires that the current period and the next period have compatible codecs and content protection, or that the platform supports buffering different codecs in a single player. Because the next period is preloaded ahead of time, this makes the actual switch between periods (almost) completely seamless.
- Hard: The player waits until playback reaches the end of the current period before buffering and playing the next period. Because the buffering is not done ahead of time, this may result in a noticeable stall at the start of the next period. However, this strategy does not require any special platform support, so it works on any platform or device.

By default, the player will automatically choose between a seamless or a hard period switch based on the codecs and content protection of the two periods, and the support information reported by the platform. However, if you notice that the player makes an incorrect decision on certain streams or platforms, you can use this option to override its behavior as a stopgap solution. (You should still report this problem to THEOplayer support, so we can improve the player's default behavior and you can remove this override.)

Default Value

'auto'

Deprecated

use BaseSource.seamlessSwitchStrategy instead.