TweaksConfig

@objcMembers
@objc(BMPTweaksConfig)
public final class TweaksConfig : Config

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-SCTE35
    • MetadataParsedEvents carrying segment-specific metadata for custom HLS tags, like #EXT-X-SCTE35
    • DrmDataParsedEvents when a #EXT-X-KEY is found
    • Player.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, like:

    Default is true.

    Declaration

    Swift

    public var isCustomHlsLoadingEnabled: Bool
  • The frequency in seconds PlayerListener#onTimeChanged is called with TimeChangedEvents. 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 to false, no changes are applied to subtitle selection on seeking.

    Default is false.

    Declaration

    Swift

    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:) or player.playlist.seek(source:time:), so the maximum value will be duration - 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 is PlaybackStartBehaviour.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
  • Undocumented

    Declaration

    Swift

    override public init()