Members

(constant) CmcdPropertyMap :Object.<string, PropertyMapping>

Property mappings for CMCD configuration

Type:

(constant) ISO_639_2_TO_1

ISO 639-2 (3-letter) to ISO 639-1 (2-letter) mappings for languages
commonly found in broadcast/streaming content (DASH, HLS, DVB).
Covers both 639-2/B (bibliographic) and 639-2/T (terminological) codes.

Methods

dedupeCertUrls(list)

Deduplicates an array of Certurl descriptor objects by URL + certType combination.
Keeps first occurrence order stable.

Parameters:
NameTypeDescription
list
Returns:

normalizeCertUrls()

Utility functions for DASH Certurl normalization.
Shared by ContentProtection parsing and protData handling.

A Certurl entry may appear as:

  • String: 'https://example.com/cert'
  • Object parsed from XML: { __text: 'https://example.com/cert', '@certType': 'primary' }
  • Pre-normalized object: { url: 'https://example.com/cert', certType: 'primary' }
  • Array of any of the above

The normalization returns an array of objects: { url: string, certType: string|null }
Empty or invalid entries are filtered out. Whitespace is trimmed.

sanitizeProtectionDataCertUrls(protData) → {Object}

Iterates over a ProtectionDataSet object and normalizes & deduplicates any certUrls arrays in-place.
Returns the same object reference for convenience.

Parameters:
NameTypeDescription
protDataObject

keySystem -> config object

Returns:

protData

Type: 
Object

Type Definitions

IntervalTreeNode

Type:
  • Object
Properties
NameTypeDescription
startnumber

Start time of the interval

endnumber

End time of the interval

cueTextTrackCue

The cue object

maxEndnumber

Maximum end time in this subtree

leftIntervalTreeNode | null

Left child node

rightIntervalTreeNode | null

Right child node

heightnumber

Height of this node in the tree

MediaType

The media types

Type:
  • 'video' | 'audio' | 'text' | 'image'

PropertyMapping

Declarative configuration for CMCD property mappings.

Maps logical property names to physical paths in different sources (manifest, settings)
with version awareness, priority-based fallback, and optional transformations.

This centralized configuration allows handling structure changes in CMCD settings
without modifying business logic across the codebase.

Type:
  • Object
Properties
NameTypeAttributesDescription
pathstring

Dot-notation path to property (e.g., 'settings.streaming.cmcd.version')

prioritynumber

Order of precedence (1 = highest)

typestring<optional>

Expected data type ('string', 'number', 'boolean', 'array', 'object')

transformfunction<optional>

Optional transformation function

default*<optional>

Default value if not found

deprecatedboolean<optional>

Mark as deprecated for backward compatibility

versionArray.<number><optional>

CMCD versions this mapping applies to (omit for all versions)

sourcesArray.<PropertySource>

Ordered list of sources to check

TrackCueData

Type:
  • Object
Properties
NameTypeDescription
allCuesCueIntervalTree

All cues for this track, stored in an interval tree for efficient lookup

lastCueWindowUpdatenumber

Timestamp of last cue window update (for native rendering only)

activeCuesArray

Currently active cues for this track (for manual rendering only)