TweaksConfig
@objcMembers
@objc(BMPTweaksConfig)
public final class TweaksConfig : NSObject
This configuration is used as an incubator for experimental features. Tweaks are not officially supported and are not guaranteed to be stable, i.e. their naming, functionality and API can change at any time within the tweaks or when being promoted to an official feature and moved into its final configuration namespace.
-
If enabled, HLS playlists will be parsed and additional features and events are enabled. This includes:
MetadataEvent
s carrying segment-specific metadata for custom HLS tags, like#EXT-X-SCTE35
MetadataParsedEvent
s carrying segment-specific metadata for custom HLS tags, like#EXT-X-SCTE35
DrmDataParsedEvent
s when a #EXT-X-KEY is foundPlayer.availableVideoQualities
includes additional information- Automatic retries when HLS playlist requests failed with non-2xx HTTP status code
Default is
false
.Declaration
Swift
public var isNativeHlsParsingEnabled: Bool
-
If enabled, playlists will be downloaded by the Bitmovin Player SDK instead of
AVFoundation
. This enables additional features and events, likeDownloadFinishedEvent
s for playlist downloads.If set to
false
, enablingnativeHlsParsingEnabled
won’t have any effect.Default is
true
.Declaration
Swift
public var isCustomHlsLoadingEnabled: Bool
-
The frequency in seconds
PlayerListener#onTimeChanged
is called withTimeChangedEvents
. Default is 1. Minimum is 0.025.Declaration
Swift
public var timeChangedInterval: TimeInterval
-
When duration for subtitle tracks mismatch between the HLS manifest and the subtitle track, this can cause the player to get stalled or prevent it from rendering subtitles after seeking. This can be avoided by deselecting subtitles during seeking and reselecting them afterwards.
If set to
true
, active subtitle track will be deselected before seeking and reselected when seeking finished. No subtitle change related events will be fired. If set tofalse
, no changes are applied to subtitle selection on seeking.Default is
false
.Declaration
Swift
@available(*, deprecated, message: "This tweak is deprecated and will be removed without replacement in an upcoming minor version!") public var disableSubtitleTracksWhileSeeking: Bool
-
The threshold which will be applied when seeking to the end in seconds. This value will be used to calculate the maximum seekable time when calling
player.seek(time:)
orplayer.playlist.seek(source:time:)
, so the maximum value will beduration - seekToEndThreshold
.This is useful if the duration of the segments does not match the duration specified in the manifest. In this case, if we try to seek to the end,
AVPlayer
could get stuck and might stall forever Therefore increasing this value could help.Default is
0.5
.Declaration
Swift
public var seekToEndThreshold: TimeInterval
-
Specifies the player behaviour when
Player.play
is called. Default isPlaybackStartBehaviour.relaxed
.Declaration
Swift
public var playbackStartBehaviour: PlaybackStartBehaviour
-
Specifies the player behaviour when stalling should be exited. Default is
UnstallingBehaviour.relaxed
.Declaration
Swift
public var unstallingBehaviour: UnstallingBehaviour
-
If set to
true
, the timing of initial subtitle handling will be delayed until theSource
is ready to start playback. This can be helpful when having a live stream with a growing DVR window and a default subtitle track. In this case, there might be anAVPlayer
race-condition that happens occasionally which results inAVPlayer
starting playback at the beginning of the DVR window instead if at the live-edge.In other cases, setting this to
true
does not have any positive effect.Default is
false
.Declaration
Swift
public var delayInitialSubtitleSelection: Bool
-
Declaration
Swift
override public init()