Constructor
new TtmlTextParser()
- Implements:
 - Source:
 
Classes
- RateInfo_
 - Contains information about frame/subframe rate and frame rate multiplier for time in frame format.
 
Members
parameterNs_ :Array.<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:
- Array.<string>
 
- Source:
 
percentValue_ :RegExp
Type:
- RegExp
 
- Source:
 
Example
0.6% 90% 300% 1000%
percentValues_ :RegExp
Type:
- RegExp
 
- Source:
 
Example
50.17% 10%
smpteNsList_ :Array.<string>
    The supported namespace URLs for SMPTE fields.
    Type:
- Array.<string>
 
- Source:
 
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_ :Array.<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:
- Array.<string>
 
- Source:
 
textAlignToLineAlign_ :Object.<string, shaka.text.Cue.lineAlign>
Type:
- Object.<string, shaka.text.Cue.lineAlign>
 
- Source:
 
textAlignToPositionAlign_ :Object.<string, shaka.text.Cue.positionAlign>
Type:
- Object.<string, shaka.text.Cue.positionAlign>
 
- 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 or 02:45.5
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, imageUrinullable, stylesnon-null, isNested, isLeaf)
    Adds applicable style properties to a cue.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
cue | 
            
            shaka.text.Cue | ||
cueElement | 
            
            shaka.extern.xml.Node | ||
region | 
            
            shaka.extern.xml.Node | ||
imageElement | 
            
            shaka.extern.xml.Node | ||
imageUri | 
            
            string | 
                
                
                    <nullable> | 
            
            
            |
styles | 
            
            Array.<!shaka.extern.xml.Node> | ||
isNested | 
            
            boolean | ||
isLeaf | 
            
            boolean | 
- 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:
 
convertTTMLrgbaToHTMLrgba_(color) → {string}
    Ensures any TTML RGBA's alpha range of 0-255 is converted to 0-1.
    Parameters:
| Name | Type | Description | 
|---|---|---|
color | 
            
            string | 
- Source:
 
Returns:
- Type
 - string
 
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, nsNameopt) → {Array.<!shaka.extern.xml.Node>}
    Selects items from |collection| whose id matches |attributeName|
from |element|.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
element | 
            
            shaka.extern.xml.Node | ||
attributeName | 
            
            string | ||
collection | 
            
            Array.<shaka.extern.xml.Node> | ||
prefixName | 
            
            string | ||
nsName | 
            
            string | 
                
                    <optional> | 
            
            
            
- Source:
 
Returns:
- Type
 - Array.<!shaka.extern.xml.Node>
 
getInheritedAttribute_(elementnon-null, attributeName, nsNameopt) → {string}
    Traverses upwards from a given node until a given attribute is found.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
element | 
            
            shaka.extern.xml.Node | ||
attributeName | 
            
            string | ||
nsName | 
            
            string | 
                
                    <optional> | 
            
            
            
- 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 | 
            
            shaka.extern.xml.Node | |
styles | 
            
            Array.<!shaka.extern.xml.Node> | |
attribute | 
            
            string | 
- Source:
 
Returns:
- Type
 - string
 
getStyleAttribute_(cueElementnon-null, region, stylesnon-null, attribute, shouldInheritRegionStylesopt) → {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 | Attributes | Default | Description | 
|---|---|---|---|---|
cueElement | 
            
            shaka.extern.xml.Node | |||
region | 
            
            shaka.extern.xml.Node | |||
styles | 
            
            Array.<!shaka.extern.xml.Node> | |||
attribute | 
            
            string | |||
shouldInheritRegionStyles | 
            
            boolean | 
                
                    <optional> | 
            
            
                true | 
- 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 | 
            
            shaka.extern.xml.Node | |
styles | 
            
            Array.<!shaka.extern.xml.Node> | |
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 | 
            
            shaka.extern.xml.Node | |
styles | 
            
            Array.<!shaka.extern.xml.Node> | |
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_(cueNodenon-null, timeContext, rateInfonon-null, metadataElementsnon-null, stylesnon-null, regionElementsnon-null, cueRegionsnon-null, collapseMultipleSpaces, cellResolutionnullable, parentCueElementnullable, isContent, urinullable, imagesnon-null) → {shaka.text.Cue}
    Parses a TTML node into a Cue.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
cueNode | 
            
            shaka.extern.xml.Node | ||
timeContext | 
            
            shaka.extern.TextParser.TimeContext | ||
rateInfo | 
            
            shaka.text.TtmlTextParser.RateInfo_ | ||
metadataElements | 
            
            Array.<!shaka.extern.xml.Node> | ||
styles | 
            
            Array.<!shaka.extern.xml.Node> | ||
regionElements | 
            
            Array.<!shaka.extern.xml.Node> | ||
cueRegions | 
            
            Array.<!shaka.text.CueRegion> | ||
collapseMultipleSpaces | 
            
            boolean | ||
cellResolution | 
            
            ?{columns: number, rows: number} | 
                
                
                    <nullable> | 
            
            
            |
parentCueElement | 
            
            shaka.extern.xml.Node | 
                
                
                    <nullable> | 
            
            
            |
isContent | 
            
            boolean | ||
uri | 
            
            string | undefined | 
                
                
                    <nullable> | 
            
            
            |
images | 
            
            Array.<string> | 
- Source:
 
Returns:
- Type
 - shaka.text.Cue
 
parseCueRegion_(regionElementnon-null, stylesnon-null, globalExtentnullable) → {shaka.text.CueRegion}
    Parses an Element into a TextTrackCue or VTTCue.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
regionElement | 
            
            shaka.extern.xml.Node | ||
styles | 
            
            Array.<!shaka.extern.xml.Node> | Defined in the top of tt element and used principally for images. | |
globalExtent | 
            
            string | 
                
                
                    <nullable> | 
            
            
            
- 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_(elementnon-null, rateInfonon-null) → {{start: ?number, end: ?number}}
    Parse TTML time attributes from the given element.
    Parameters:
| Name | Type | Description | 
|---|---|---|
element | 
            
            shaka.extern.xml.Node | |
rateInfo | 
            
            shaka.text.TtmlTextParser.RateInfo_ | 
- Source:
 
Returns:
- Type
 - {start: ?number, end: ?number}
 
parseTimeAttribute_(text, rateInfonon-null) → {number}
    Parses a TTML time from the given attribute text.
    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
 
resolveTime_(parentElementnon-null, rateInfonon-null, startnullable, endnullable) → {{start: ?number, end: ?number}}
    Factor parent/ancestor time attributes into the parsed time of a
child/descendent.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
parentElement | 
            
            shaka.extern.xml.Node | ||
rateInfo | 
            
            shaka.text.TtmlTextParser.RateInfo_ | ||
start | 
            
            number | 
                
                
                    <nullable> | 
            
            
            The child's start time | 
end | 
            
            number | 
                
                
                    <nullable> | 
            
            
            The child's end time | 
- Source:
 
Returns:
- Type
 - {start: ?number, end: ?number}
 
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, urinullable, imagesnon-null) → {Array.<!shaka.text.Cue>}
    Parse a media segment and return the cues that make up the segment.
    Parameters:
| Name | Type | Attributes | 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. | |
uri | 
            
            string | undefined | 
                
                
                    <nullable> | 
            
            
            The media uri. | 
images | 
            
            Array.<string> | 
- Implements:
 - Source:
 
Returns:
- Type
 - Array.<!shaka.text.Cue>
 
setManifestType(manifestType)
    Notifies the manifest type.
    Parameters:
| Name | Type | Description | 
|---|---|---|
manifestType | 
            
            string | 
- Implements:
 - Source:
 
setSequenceMode(sequenceMode)
    Notifies the stream if the manifest is in sequence mode or not.
    Parameters:
| Name | Type | Description | 
|---|---|---|
sequenceMode | 
            
            boolean | 
- Implements:
 - Source: