Skip to main content

Module selection

Module selection 

Source
Expand description

Pure selection of AdaptationSets and Representations (docs/dash-runtime/DESIGN.md 5.1), by role, language, codec and bandwidth, into the variant model a host speaks.

  1. Candidate sets: audio and video ISOBMFF sets that survive the drops of DESIGN D10 (text, MPEG-2 TS and WebM segments, trick modes, protected content, an EssentialProperty this core does not understand, a Representation that depends on another, unresolved xlink, invalid segment information).
  2. Video: the first remaining set with Role main (else document order); the Representation is the highest @bandwidth the policy allows, else the lowest. variants lists every Representation of every selectable video set in MPD order.
  3. Audio: the first set whose @lang matches the preferred language by BCP 47 prefix and whose Role is not commentary/description; else Role main; else the first. DASH has no DEFAULT flag, Role main plays that part (5.8.5.5 Table 34).

Structs§

AudioSet
An audio AdaptationSet and its Representations.
Dropped
One drop, with its reason.
Policy
Selection policy; the same three limits as hls_runtime::VariantPolicy plus the audio language.
RepRef
A Representation’s position in the MPD.
Selection
The result of select for one Period.

Enums§

DropReason
Why a set or Representation was not selectable.
SetClass
What a set carries.

Functions§

classify
Classify a set from @contentType, then the MIME types, then codecs.
lang_matches
Whether preferred matches lang by BCP 47 prefix, ASCII case-insensitive.
select
Select for period_idx of mpd.