Interface UIPlayerConfiguration

Describes the UI related configuration of the player.

interface UIPlayerConfiguration {
    abr?: SourceAbrConfiguration;
    ads?: AdsConfiguration;
    allowMixedContent?: boolean;
    allowNativeFullscreen?: boolean;
    analytics?: AnalyticsDescription[];
    cast?: CastConfiguration;
    fluid?: boolean;
    height?: string | number;
    hideDeprecationWarnings?: boolean;
    hlsDateRange?: boolean;
    isEmbeddable?: boolean;
    libraryLocation?: string;
    license?: string;
    licenseUrl?: string;
    liveOffset?: number;
    mutedAutoplay?: MutedAutoplayConfiguration;
    persistVolume?: boolean;
    pip?: PiPConfiguration;
    retainPlaybackRateOnSourceChange?: boolean;
    retryConfiguration?: RetryConfiguration;
    theoLive?: TheoLiveConfiguration;
    ui?: UIConfiguration;
    verizonMedia?: VerizonMediaConfiguration;
    vr?: VRPlayerConfiguration;
    width?: string | number;

Hierarchy (view full)


The player's ABR configuration.


- Available since v3.1.0.
- Used for DASH and LL-HLS streams.

The ads configuration for the player.

allowMixedContent?: boolean

Whether mixed HTTP/HTTPS content is allowed.


- Available since 2.22.0.
- By default, the player assumes that it cannot load HTTP URLs when inside a HTTPS page because of mixed content restrictions. Therefore, the player will automatically convert HTTP URLs to HTTPS before loading them.
- When this option is set to true, the player may assume that mixed content is allowed on the current platform, and will not automatically convert HTTP URLs to HTTPS.

Default Value


allowNativeFullscreen?: boolean

Whether the native video element's fullscreen should be used whenever THEOplayer's fullscreen is unsupported.


- Available since 2.21.0.
- It should be considered for older Android devices and iOS.
- It is limited to the platform's controls, custom UI and interactions are not possible.
- Together with the Google IMA integration, media preloading is unavailable on iOS devices.
- Together with the Google IMA integration, the current time is set to the live point when returning to the content after an ad.

Default Value


analytics?: AnalyticsDescription[]

List of analytics configurations for the player.


Multiple integrations can be enabled at once.

The cast configuration for the player.

fluid?: boolean


use ui.fluid

height?: string | number


use ui.height

hideDeprecationWarnings?: boolean

If set, hides all deprecation warnings.


- Available since v5.5.0.

hlsDateRange?: boolean

Whether date ranges will be parsed from HLS manifests.


Available since 2.61.

Default Value


isEmbeddable?: boolean

Whether THEOplayer will be used in an iframe.

Default Value


libraryLocation?: string

The directory in which the THEOplayer library worker files are located. These worker files are theoplayer.d.js, theoplayer.e.js, theoplayer.p.js.


- This parameter is required when using a HLS source and has no default.



license?: string

The license for the player

licenseUrl?: string

The url to fetch the license for the player

liveOffset?: number

The offset in seconds used to determine the live point. This live point is the end of the manifest minus the provided offset.


- Available since v2.35.0.

Default Value

Three times the target duration of a segment, as specified by the manifest.

The muted autoplay policy.


- The muted autoplay policy is impacted by this property and SourceConfiguration.mutedAutoplay.

Default Value


persistVolume?: boolean

Whether volume preferences will be persisted across player sessions.


Available since 2.27.0.

Default Value


The picture-in-picture configuration.

retainPlaybackRateOnSourceChange?: boolean

Whether playbackRate is retained across sources. When false, playbackRate will be reset to 1 on each source change. Defaults to false.

retryConfiguration?: RetryConfiguration

The retry configuration for the player.

The THEOlive configuration for the player.

The user interface configuration.

The Verizon Media configuration for the player.

The vr configuration for the player.

width?: string | number


use ui.width