Interface VerizonMediaSource

Represents a media resource which is found on the Verizon Media Platform.

interface VerizonMediaSource {
    abr?: SourceAbrConfiguration;
    assetInfo?: boolean;
    assetType?: VerizonMediaAssetType;
    contentProtected?: boolean;
    crossOrigin?: CrossOriginSetting;
    dash?: DashPlaybackConfiguration;
    hls?: HlsPlaybackConfiguration;
    hlsDateRange?: boolean;
    id: string | string[] | VerizonMediaExternalId;
    ignoreEmbeddedTextTrackTypes?: TextTrackType[];
    integration: "verizon-media";
    latencyConfiguration?: SourceLatencyConfiguration;
    lcevc?: boolean;
    liveOffset?: number;
    lowLatency?: boolean;
    ping?: VerizonMediaPingConfiguration;
    playbackUrlParameters?: Record<string, string>;
    prefix?: string;
    preplayParameters?: Record<string, string> | [string, string][];
    seamlessSwitchStrategy?: SeamlessSwitchStrategy;
    timeServer?: string;
    useCredentials?: boolean;
    useManagedMediaSource?: boolean;
    useNativePlayback?: boolean;
}

Hierarchy (view full)

Properties

The source's ABR configuration.


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

assetInfo?: boolean

Whether asset info will be fetched from the Verizon Media Asset Info API and exposed on the player API.


- This feature is only available if VerizonMediaSource.assetType is 'asset'

true if VerizonMediaSource.assetType is 'asset' and false otherwise

The asset content type of the source.

'asset'

contentProtected?: boolean

Whether the assets of the source are content protected.

false

crossOrigin?: CrossOriginSetting

The cross-origin setting of the source.

''


- Available since v2.9.0.

The configuration for controlling playback of an MPEG-DASH stream.


- Available since v2.79.0.
- Ignored for non-DASH streams.

The configuration for controlling playback of an HLS stream.


- Available since v2.82.0.
- Ignored for non-HLS streams.

hlsDateRange?: boolean

Whether the player should parse and expose date ranges from HLS manifests.

false


- Available since v2.61.0.

id: string | string[] | VerizonMediaExternalId

One or multiple asset identifiers for the source.


- The order of a list of asset identifiers is the order their corresponding assets will be played in.

ignoreEmbeddedTextTrackTypes?: TextTrackType[]

A list of embedded TextTrackTypes to ignore when parsing media segments.


- Available since v5.9.0
- Only 'cea608' and 'emsg' can currently be ignored.
- Only for DASH and HLS playback.

integration

The integration ID of the source.

latencyConfiguration?: SourceLatencyConfiguration

The source's latency configuration.


- Available since v7.4.0.
- Ignored for VOD playback.

lcevc?: boolean

Whether this source should be played using the LCEVC sdk.


- Requires the LCEVC feature to be enabled.
- Requires the V-Nova LCEVC SDK to be loaded on the page.
- Only available for DASH and HLS streams.

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.
- Will be overridden by SourceLatencyConfiguration.targetOffset if it is specified.

Three times the segment's target duration.

lowLatency?: boolean

Whether the source should be played in the low-latency-mode of the player.

false


- This setting must be true when using Low-Latency CMAF with ABR.
- Available since v2.62.0.

The Ping API feature configuration of the source.


- A configuration with all features disabled will prevent Ping requests being sent.

A configuration with all features false except for linearAdData, which will be true if VerizonMediaSource.assetType is 'channel' or 'event' and false otherwise.

playbackUrlParameters?: Record<string, string>

The query string parameters added to Verizon Media playback URL requests.

Each entry contains the parameter name with associated value.

Valid parameters:
- Uplynk Playback Customization parameters
- Uplynk Tokens parameters

prefix?: string

The prefix to use for Verizon Media Preplay API and Asset Info API requests.

'https://content.uplynk.com'

preplayParameters?: Record<string, string> | [string, string][]

The query string parameters added to Verizon Media Preplay requests.

Each entry contains the parameter name with associated value.

Valid parameters:
- Uplynk Preplay parameters
- Uplynk ads with AOL One Video parameters
- Uplynk ads with Doubleclick parameters
- Uplynk ads with FreeWheel parameters

seamlessSwitchStrategy?: SeamlessSwitchStrategy

Whether to seamlessly switch between discontinuities or periods.

The player supports two strategies for handling a switch between two discontinuities in an HLS stream or two periods in an MPEG-DASH stream:
- Seamless: Once the player is done buffering the current discontinuity/period, it immediately starts buffering the next discontinuity/period. This requires that the current discontinuity/period and the next discontinuity/period have compatible codecs and content protection, or that the platform supports buffering different codecs in a single player. Because the next discontinuity/period is preloaded ahead of time, this makes the actual switch between discontinuities/periods (almost) completely seamless.
- Hard: The player waits until playback reaches the end of the current discontinuity/period before buffering and playing the next discontinuity/period. Because the buffering is not done ahead of time, this may result in a noticeable stall at the start of the next discontinuity/period. However, this strategy does not require any special platform support, so it works on any platform or device.

By default, the player will automatically choose between a seamless or a hard discontinuity/period switch based on the codecs and content protection of the two discontinuities/periods, and the support information reported by the platform. However, if you notice that the player makes an incorrect decision on certain streams or platforms, you can use this option to override its behavior as a stopgap solution. (You should still report this problem to THEOplayer support, so we can improve the player's default behavior and you can remove this override.)

'auto'

timeServer?: string

The URL of a time server used by the player to synchronise the time in DASH sources.


- Available since v2.47.0.
- The time server should return time in ISO-8601 format.
- Overrides the time server provided the DASH manifest's <UTCTiming>.
- Only this source will use the time server. Alternatively, for all source use SourceConfiguration.timeServer.

useCredentials?: boolean

Whether the player is allowed to use credentials for cross-origin requests.


- Credentials are cookies, authorization headers or TLS client certificates.

false

useManagedMediaSource?: boolean

(Experimental) Whether to use ManagedMediaSource if available.

false


- Available since v6.2.0.
- At the moment, this requires iOS 17.1 beta 2 or higher, with the "Managed Media Source API" feature flag turned on in the Advanced settings of Safari.
- Ignored if BaseSource.useNativePlayback is true.

useNativePlayback?: boolean

Whether this source should be played using native playback.

false


- Available since v2.68.0.
- Ignored for DASH streams.
- Only supported on browsers that can play HLS streams natively, will error otherwise.