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:
MetadataEvents carrying segment-specific metadata for custom HLS tags, like#EXT-X-SCTE35MetadataParsedEvents carrying segment-specific metadata for custom HLS tags, like#EXT-X-SCTE35DrmDataParsedEvents when a #EXT-X-KEY is foundPlayer.availableVideoQualitiesincludes 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, likeDownloadFinishedEvents for playlist downloads.If set to
false, enablingnativeHlsParsingEnabledwon’t have any effect.Default is
true.Declaration
Swift
public var isCustomHlsLoadingEnabled: Bool -
The frequency in seconds
PlayerListener#onTimeChangedis 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,
AVPlayercould 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.playis 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 theSourceis 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 anAVPlayerrace-condition that happens occasionally which results inAVPlayerstarting playback at the beginning of the DVR window instead if at the live-edge.In other cases, setting this to
truedoes not have any positive effect.Default is
false.Declaration
Swift
public var delayInitialSubtitleSelection: Bool -
Declaration
Swift
override public init()
TweaksConfig Class Reference