Class: shaka.text.TextEngine
    
    Manages text parsers and cues.
    
    
        
    
    Constructor
    
    
    new TextEngine(displayer)
    
    
    Manages text parsers and cues.
    
    Parameters:
    
    
    
    
    
    
    
    - Implements:
- Source:
 
    
     
    
    
    
    
    
    
    
        Members
        
            
        
            
appendWindowEnd_ :number
    Type:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
appendWindowStart_ :number
    Type:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
bufferEnd_ :number
    Type:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
bufferStart_ :number
    Type:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
closedCaptionsMap_ :Map<string, !Array<shaka.text.Cue>>
    The closed captions map stores the CEA closed captions by closed captions
id and start and end time.
It's used as the buffer of closed caption text streams, to show captions
when we start displaying captions or switch caption tracks, we need to be
able to get the cues for the other language and display them without
re-fetching the video segments they were embedded in.
    Type:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
        
            
        
            
segmentRelativeVttTiming_ :boolean
    Type:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
selectedClosedCaptionId_ :string
    Type:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
timestampOffset_ :number
    Type:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
    
    
        Methods
        
            
        
            
    
    
    isTypeSupported(mimeType) → {boolean}
    
    
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | mimeType | string |  | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
Returns:
        
    - 
        Type
    
- 
        
boolean
    
 
        
            
    
    
    registerParser(mimeType, pluginnon-null)
    
    
    Parameters:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    unregisterParser(mimeType)
    
    
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | mimeType | string |  | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    appendBuffer(buffer, startTimenullable, endTimenullable, uriopt, nullable) → {Promise}
    
    
    Parameters:
    
    
    
        
        | Name | Type | Attributes | Description | 
    
    
    
        
            
                | buffer | BufferSource |  |  | 
    
        
            
                | startTime | number | <nullable> 
 | relative to the start of the presentation | 
    
        
            
                | endTime | number | <nullable> 
 | relative to the start of the presentation | 
    
        
            
                | uri | string | <optional> <nullable>
 
 |  | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
Returns:
        
    - 
        Type
    
- 
        
Promise
    
 
        
            
    
    
    applyVideoTimestampOffsetRecursive_(cuenon-null, videoTimestampOffset)
    
    
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | cue | shaka.text.Cue | the cue to apply the timestamp to recursively | 
    
        
            
                | videoTimestampOffset | number | the timestamp offset of the video | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    bufferedAheadOf(t) → {number}
    
    
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | t | number | A timestamp | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
Returns:
        
    Number of seconds ahead of 't' we have buffered
    - 
        Type
    
- 
        
number
    
 
        
            
    
    
    bufferEnd() → {number}
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
Returns:
        
    Time in seconds of the end of the buffered range,
  or null if nothing is buffered.
    - 
        Type
    
- 
        
number
    
 
        
            
    
    
    bufferStart() → {number}
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
Returns:
        
    Time in seconds of the beginning of the buffered range,
  or null if nothing is buffered.
    - 
        Type
    
- 
        
number
    
 
        
            
    
    
    destroy() → {Promise}
    
    
    Request that this object be destroyed, releasing all resources and shutting
down all operations. Returns a Promise which is resolved when destruction
is complete. This Promise should never be rejected.
    
    
    
    
    
    
    - Implements:
- Source:
Returns:
        
    - 
        Type
    
- 
        
Promise
    
 
        
            
    
    
    getNumberOfClosedCaptionChannels() → {number}
    
    
    Get the number of closed caption channels.
This function is for TESTING ONLY. DO NOT USE in the library.
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
Returns:
        
    - 
        Type
    
- 
        
number
    
 
        
            
    
    
    getNumberOfClosedCaptionsInChannel(channelId) → {number}
    
    
    Get the number of closed caption cues for a given channel. If there is
no channel for the given channel id, this will return 0.
This function is for TESTING ONLY. DO NOT USE in the library.
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | channelId | string |  | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
Returns:
        
    - 
        Type
    
- 
        
number
    
 
        
            
    
    
    initParser(mimeType, sequenceMode, segmentRelativeVttTiming, manifestType)
    
    
    Initialize the parser.  This can be called multiple times, but must be
called at least once before appendBuffer.
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | mimeType | string |  | 
    
        
            
                | sequenceMode | boolean |  | 
    
        
            
                | segmentRelativeVttTiming | boolean |  | 
    
        
            
                | manifestType | string |  | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    isBuffered(t) → {boolean}
    
    
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | t | number | A timestamp | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
Returns:
        
    - 
        Type
    
- 
        
boolean
    
 
        
            
    
    
    modifyCueCallback_()
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    remove(startTime, endTime, removeClosedCaptionsopt) → {Promise}
    
    
    Parameters:
    
    
    
        
        | Name | Type | Attributes | Default | Description | 
    
    
    
        
            
                | startTime | number |  |  | relative to the start of the presentation | 
    
        
            
                | endTime | number |  |  | relative to the start of the presentation | 
    
        
            
                | removeClosedCaptions | boolean | <optional> 
 | false |  | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
Returns:
        
    - 
        Type
    
- 
        
Promise
    
 
        
            
    
    
    removeClosedCaptions_(startTime, endTime)
    
    
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | startTime | number |  | 
    
        
            
                | endTime | number |  | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    setAppendWindow(appendWindowStart, appendWindowEnd)
    
    
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | appendWindowStart | number |  | 
    
        
            
                | appendWindowEnd | number |  | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    setDisplayer(displayernon-null)
    
    
    Parameters:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    setModifyCueCallback(modifyCueCallback)
    
    
    Parameters:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    setSelectedClosedCaptionId(id, bufferEndTime)
    
    
    Set the selected closed captions id.
Append the cues stored in the closed captions map until buffer end time.
This is to fill the gap between buffered and unbuffered captions, and to
avoid duplicates that would be caused by any future video segments parsed
for captions.
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | id | string |  | 
    
        
            
                | bufferEndTime | number | Load any stored cues up to this time. | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    setTimestampOffset(timestampOffset)
    
    
    Parameters:
    
    
    
        
        | Name | Type | Description | 
    
    
    
        
            
                | timestampOffset | number |  | 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    storeAndAppendClosedCaptions(closedCaptionsnon-null, videoTimestampOffset)
    
    
    Store the closed captions in the text engine, and append the cues to the
text displayer.  This is a side-channel used for embedded text only.
    Parameters:
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source:
 
        
            
    
    
    updateRangesWithClosedCaptions_()
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    - Source: