Package-level declarations

Types

Link copied to clipboard

Describes a device.

Link copied to clipboard

When switching the video quality, the video decoder's configuration might change as the player can't always know if the codec supports such configuration change, it destroys and recreates it. This behaviour can cause brief black screens when switching between video qualities as codec recreation can be slow.

Link copied to clipboard
data class LicensingConfig(var delay: Int = 0) : Parcelable

Configures the behaviour of the license evaluation.

Link copied to clipboard
data class PlaybackConfig(var isAutoplayEnabled: Boolean = false, var isMuted: Boolean = false, var isTimeShiftEnabled: Boolean = true, var videoCodecPriority: List<String> = listOf("av1", "hevc", "hvc", "vp9", "avc"), var audioCodecPriority: List<String> = listOf("ec-3", "mp4a.a6", "ac-3", "mp4a.a5", "mp4a.40"), var isTunneledPlaybackEnabled: Boolean = false, var seekMode: SeekMode = SeekMode.Exact, var forcedSubtitleCallback: ForcedSubtitleCallback? = null, var audioFilter: MediaFilter = MediaFilter.Loose, var videoFilter: MediaFilter = MediaFilter.Loose, var handleAudioFocus: Boolean = false, var handleAudioBecomingNoisy: Boolean = false) : Parcelable

Configures the playback behaviour of the player.

Link copied to clipboard

Loads, controls and renders audio and video content represented through Sources. A player instance can be created via the Player() function and will idle until one or more Sources are loaded. Once load is called, the player starts a playback session and initiates necessary downloads to start playback of the loaded source(s).

Link copied to clipboard
data class PlayerConfig(val key: String? = null, var styleConfig: StyleConfig = com.bitmovin.player.api.ui.StyleConfig(), var playbackConfig: PlaybackConfig = PlaybackConfig(), var licensingConfig: LicensingConfig = LicensingConfig(), var advertisingConfig: AdvertisingConfig = AdvertisingConfig(), var remoteControlConfig: RemoteControlConfig = RemoteControlConfig(), var adaptationConfig: AdaptationConfig = AdaptationConfig(), var networkConfig: NetworkConfig = NetworkConfig(), var liveConfig: LiveConfig = LiveConfig(), var tweaksConfig: TweaksConfig = TweaksConfig(), var bufferConfig: BufferConfig = BufferConfig()) : Parcelable

Configures a new Player instance. Must not be modified after it was used to create a Player instance.

Link copied to clipboard

Represents the mode the player uses to seek.

Link copied to clipboard
data class TimeRange(val start: Double, val end: Double)

A time range in seconds.

Link copied to clipboard
data class TweaksConfig(var timeChangedInterval: Double = DEFAULT_TIME_CHANGED_EVENT_INTERVAL, var bandwidthEstimateWeightLimit: Int = DEFAULT_BANDWIDTH_ESTIMATE_WEIGHT_LIMIT, var languagePropertyNormalization: Boolean = true, var localDynamicDashWindowUpdateInterval: Double? = null, var useFiletypeExtractorFallbackForHls: Boolean = false, var useDrmSessionForClearPeriods: Boolean = false, var useDrmSessionForClearSources: Boolean = false, var shouldApplyTtmlRegionWorkaround: Boolean = true, var devicesThatRequireSurfaceWorkaround: List<DeviceDescription> = emptyList(), var enableImageMediaPlaylistThumbnailParsingForLive: Boolean = false, var enableExoPlayerDebugLogging: Boolean = false, var discardAdsWhileCasting: Boolean = false, var preferSoftwareDecodingForAds: Boolean = false, var preferSoftwareDecoding: Boolean = false, var allowChunklessPreparationForHls: Boolean = false, var allowChunklessPreparationForHlsStreamingAds: Boolean = true, var enableFrameAboutToBeRenderedEvent: Boolean = false, var minForwardBufferLevelForQualityIncrease: Double? = null, var enableMainContentDecodingDuringAds: Boolean = true, var enableMainContentVideoCodecInitializationFallback: Boolean = true, var enableMainContentAudioCodecInitializationFallback: Boolean = true, var enableAdContentVideoCodecInitializationFallback: Boolean = true, var enableAdContentAudioCodecInitializationFallback: Boolean = true, var assumeEmsgMetadataForHlsChunklessPreparations: Boolean = false, var forceReuseVideoCodecReasons: Set<ForceReuseVideoCodecReason> = emptySet(), var releasePlayerTimeout: Double? = null, var detachSurfaceTimeout: Double? = null, var disableAudioTracksWhileInBackground: Boolean = false, var httpStatusCodesToTryFallback: List<Int>? = null, var reuseAdsLoaderAcrossImaAds: Boolean = false) : Parcelable

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.