Class: shaka.text.TtmlTextParser

Constructor

new TtmlTextParser()

Implements:
Source:

Classes

RateInfo_
Contains information about frame/subframe rate and frame rate multiplier for time in frame format.

Members

parameterNs_ :string

The namespace URL for TTML parameters. Can be assigned any name in the TTML document, not just "ttp:", so we use this with getAttributeNS() to ensure that we support arbitrary namespace names.
Type:
  • string
Source:

percentValue_ :RegExp

Type:
  • RegExp
Source:
Example
0.6% 90%

percentValues_ :RegExp

Type:
  • RegExp
Source:
Example
50.17% 10%

pixelValues_ :RegExp

Type:
  • RegExp
Source:
Example
100px

styleEbuttsNs_ :string

The namespace URL for EBU TTML styles. Can be assigned any name in the TTML document, not just "ebutts:", so we use this with getAttributeNS() to ensure that we support arbitrary namespace names.
Type:
  • string
Source:

styleNs_ :string

The namespace URL for TTML styles. Can be assigned any name in the TTML document, not just "tts:", so we use this with getAttributeNS() to ensure that we support arbitrary namespace names.
Type:
  • string
Source:

textAlignToLineAlign_ :Object.<string, shaka.text.Cue.lineAlign>

Type:
Source:

textAlignToPositionAlign_ :Object.<string, shaka.text.Cue.positionAlign>

Type:
Source:

timeColonFormat_ :RegExp

Type:
  • RegExp
Source:
Example
00:00:40 or 00:40

timeColonFormatFrames_ :RegExp

Type:
  • RegExp
Source:
Example
00:00:40:07 (7 frames) or 00:00:40:07.1 (7 frames, 1 subframe)

timeColonFormatMilliseconds_ :RegExp

Type:
  • RegExp
Source:
Example
01:02:43.0345555 or 02:43.03

timeFramesFormat_ :RegExp

Type:
  • RegExp
Source:
Example
75f or 75.5f

timeHMSFormat_ :RegExp

Type:
  • RegExp
Source:
Example
3.45h, 3m or 4.20s

timeTickFormat_ :RegExp

Type:
  • RegExp
Source:
Example
50t or 50.5t

unitValues_ :RegExp

Type:
  • RegExp
Source:
Example
100px, 8em, 0.80c

Methods

addStyle_(cuenon-null, cueElementnon-null, region, imageElement, stylesnon-null)

Adds applicable style properties to a cue.
Parameters:
Name Type Description
cue shaka.text.Cue
cueElement Element
region Element
imageElement Element
styles Array.<!Element>
Source:

addTextDecoration_(cuenon-null, decoration)

Parses text decoration values and adds/removes them to/from the cue.
Parameters:
Name Type Description
cue shaka.text.Cue
decoration string
Source:

getCellResolution_(cellResolutionnullable) → {?{columns: number, rows: number}}

If ttp:cellResolution provided returns cell resolution info with number of columns and rows into which the Root Container Region area is divided
Parameters:
Name Type Attributes Description
cellResolution string <nullable>
Source:
Returns:
Type
?{columns: number, rows: number}

getElementsFromCollection_(element, attributeName, collectionnon-null, prefixName) → {Array.<!Element>}

Selects items from |collection| whose id matches |attributeName| from |element|.
Parameters:
Name Type Description
element Element
attributeName string
collection Array.<Element>
prefixName string
Source:
Returns:
Type
Array.<!Element>

getInheritedAttribute_(elementnon-null, attributeName) → {string}

Traverses upwards from a given node until a given attribute is found.
Parameters:
Name Type Description
element Element
attributeName string
Source:
Returns:
Type
string

getInheritedStyleAttribute_(elementnon-null, stylesnon-null, attribute) → {string}

Finds a specified attribute on an element's styles and the styles those styles inherit from.
Parameters:
Name Type Description
element Element
styles Array.<!Element>
attribute string
Source:
Returns:
Type
string

getLeafCues_(element) → {Array.<!Element>}

Get the leaf nodes that can act as cues (at least begin attribute)
Parameters:
Name Type Description
element Element
Source:
Returns:
Type
Array.<!Element>

getLeafNodes_(element) → {Array.<!Element>}

Gets the leaf nodes of the xml node tree. Ignores the text, br elements and the spans positioned inside paragraphs
Parameters:
Name Type Description
element Element
Source:
Returns:
Type
Array.<!Element>

getStyleAttribute_(cueElementnon-null, region, stylesnon-null, attribute) → {string}

Finds a specified attribute on either the original cue element or its associated region and returns the value if the attribute was found.
Parameters:
Name Type Description
cueElement Element
region Element
styles Array.<!Element>
attribute string
Source:
Returns:
Type
string

getStyleAttributeFromElement_(cueElementnon-null, stylesnon-null, attribute) → {string}

Finds a specified attribute on the cue element and returns the value if the attribute was found.
Parameters:
Name Type Description
cueElement Element
styles Array.<!Element>
attribute string
Source:
Returns:
Type
string

getStyleAttributeFromRegion_(region, stylesnon-null, attribute) → {string}

Finds a specified attribute on the element's associated region and returns the value if the attribute was found.
Parameters:
Name Type Description
region Element
styles Array.<!Element>
attribute string
Source:
Returns:
Type
string

parseColonTimeWithFrames_(rateInfonon-null, text) → {number}

Parses a TTML colon formatted time containing frames.
Parameters:
Name Type Description
rateInfo shaka.text.TtmlTextParser.RateInfo_
text string
Source:
Returns:
Type
number

parseCue_(cueElementnon-null, offset, rateInfonon-null, metadataElementsnon-null, stylesnon-null, regionElementsnon-null, cueRegionsnon-null, whitespaceTrim, isNested, cellResolutionnullable) → {shaka.text.Cue}

Parses an Element into a TextTrackCue or VTTCue.
Parameters:
Name Type Attributes Description
cueElement Element
offset number
rateInfo shaka.text.TtmlTextParser.RateInfo_
metadataElements Array.<!Element>
styles Array.<!Element>
regionElements Array.<!Element>
cueRegions Array.<!shaka.text.CueRegion>
whitespaceTrim boolean
isNested boolean
cellResolution ?{columns: number, rows: number} <nullable>
Source:
Returns:
Type
shaka.text.Cue

parseCueRegion_(regionElementnon-null, stylesnon-null, globalExtent) → {shaka.text.CueRegion}

Parses an Element into a TextTrackCue or VTTCue.
Parameters:
Name Type Description
regionElement Element
styles Array.<!Element> Defined in the top of tt element and used principally for images.
globalExtent string
Source:
Returns:
Type
shaka.text.CueRegion

parseFramesTime_(rateInfonon-null, text) → {number}

Parses a TTML time in frame format.
Parameters:
Name Type Description
rateInfo shaka.text.TtmlTextParser.RateInfo_
text string
Source:
Returns:
Type
number

parseTickTime_(rateInfonon-null, text) → {number}

Parses a TTML time in tick format.
Parameters:
Name Type Description
rateInfo shaka.text.TtmlTextParser.RateInfo_
text string
Source:
Returns:
Type
number

parseTime_(text, rateInfonon-null) → {number}

Parses a TTML time from the given word.
Parameters:
Name Type Description
text string
rateInfo shaka.text.TtmlTextParser.RateInfo_
Source:
Returns:
Type
number

parseTimeFromRegex_(regexnon-null, text) → {number}

Parses a TTML time with a given regex. Expects regex to be some sort of a time-matcher to match hours, minutes, seconds and milliseconds
Parameters:
Name Type Description
regex RegExp
text string
Source:
Returns:
Type
number

sanitizeTextContent_(element, whitespaceTrim) → {string}

Trims and removes multiple spaces from a string
Parameters:
Name Type Description
element Element
whitespaceTrim boolean
Source:
Returns:
Type
string

parseInit(datanon-null)

Parse an initialization segment. Some formats do not have init segments so this won't always be called.
Parameters:
Name Type Description
data Uint8Array The data that makes up the init segment.
Implements:
Source:

parseMedia(datanon-null, timeContext) → {Array.<!shaka.extern.Cue>}

Parse a media segment and return the cues that make up the segment.
Parameters:
Name Type Description
data Uint8Array The next section of buffer.
timeContext shaka.extern.TextParser.TimeContext The time information that should be used to adjust the times values for each cue.
Implements:
Source:
Returns:
Type
Array.<!shaka.extern.Cue>