Optional
bandwidthConstantly aggregated and weighted bandwidth samples are summed up to this weight limit to calculate an bandwidth estimation. Remaining samples (i.e. that would lead to exceeding the limit) are dropped from memory as they are not relevant anymore. Default is 2000.
Android
Optional
devicesSome devices have an incorrect implementation of MediaCodec.setOutputSurface. This leads to failure when the surface changes. To prevent failure, the codec will be released and re-instantiated in those scenarios.
Optional
deviceA device name as reported by Build.DEVICE.
Optional
modelA model name as reported by Build.MODEL.
Android
Optional
forceWhen switching between video formats (eg: adapting between video qualities) the codec might be recreated due to several reasons. This behaviour can cause brief black screens when switching between video qualities as codec recreation can be slow.
If a device is know to support video format changes and keep the current decoder without issues,
this set can be filled with multiple ForceReuseVideoCodecReason
and avoid the black screen.
Default is null
i.e not set
Android
Optional
isIf enabled, playlists will be downloaded by the Bitmovin Player SDK instead of AVFoundation. This enables additional features and events, like:
#EXT-X-PLAYLIST-TYPE
is found If set to false, enabling
nativeHlsParsingEnabled won’t have any effect.Default is true.
iOS
Optional
isIf enabled, HLS playlists will be parsed and additional features and events are enabled. This includes:
#EXT-X-SCTE35
#EXT-X-SCTE35
#EXT-X-KEY
is foundPlayer.availableVideoQualities
includes additional informationDefault is false.
iOS
Optional
languageSpecifies if the language property on DASH Representations, HLS Renditions and SmoothStreaming QualityLevels is normalized. If enabled, language properties are normalized to IETF BCP 47 language tags. Default is true.
Examples:
Android
Optional
localThe interval in which dynamic DASH windows are updated locally. I.e. The rate by which the playback window is moved forward on the timeline.
Android
Optional
playbackSpecifies the player behaviour when Player.play
is called. Default is 'relaxed'.
iOS
Optional
preferSpecifies whether the player should prefer software decoding over hardware decoding for ad playback. This only affects ads playback, the player will still prefer hardware decoding for the main content.
Android
Optional
seekThe 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.
iOS
Optional
shouldSpecifies whether default positioning values should be assumed when parsing TTML regions in case of unsupported TTML features. Default is true
Android
Optional
timeThe frequency in seconds onTimeChanged
is called with TimeChangedEvent
s.
Default value in iOS is 1.0
.
Default value in Android is 0.2
.
iOS, Android
Optional
unstallingSpecifies the player behaviour when stalling should be exited. Default is 'relaxed'.
iOS
Optional
updatesDetermines whether AVKit
should update Now Playing information automatically when using System UI.
false
, the automatic updates of Now Playing Info sent by AVKit
are disabled.
This prevents interference with manual updates you may want to perform.true
, the default behaviour is maintained, allowing AVKit
to handle Now Playing updates.Default is true
.
Optional
useSpecifies whether a DRM session should be used for clear tracks of type video and audio. Using DRM sessions for clear content avoids the recreation of decoders when transitioning between clear and encrypted sections of content. Default is false.
Android
Optional
useSpecifies whether a DRM session should be used for clear tracks of type video and audio in a clear source that follows after a DRM protected source. In addition, a DRM session will be used for clear periods in a DRM protected source. Using DRM sessions for clear content avoids the recreation of decoders when transitioning between clear and encrypted sections of content. Default is false.
Android
Optional
useSpecifies if the player should always fall back to an extractor matching the file type, if no matching extractor was found. If the fallback is applied, this will ignore potential incompatibilities with streams and thus can result in unstable or failing playback.
Android
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.