Class: shaka.util.EbmlParser

Extensible Binary Markup Language (EBML) parser.

Constructor

new EbmlParser(data)

Extensible Binary Markup Language (EBML) parser.

Parameters:
Name Type Description
data BufferSource
Source:

Members

DYNAMIC_SIZES :Array.<!Array.<number>>

A list of EBML dynamic size constants.
Type:
  • Array.<!Array.<number>>
Source:

dataView_ :DataView

Type:
  • DataView
Source:

Methods

getVintValue_(vintnon-null) → {number}

Gets the value of a variable sized integer. For example, the x's below are part of the vint's value. 7-bit value: 1xxx xxxx 14-bit value: 01xx xxxx xxxx xxxx 21-bit value: 001x xxxx xxxx xxxx xxxx xxxx
Parameters:
Name Type Description
vint Uint8Array The variable sized integer.
Source:
Returns:
The value of the variable sized integer.
Type
number

isDynamicSizeValue_(vintnon-null) → {boolean}

Checks if the given variable sized integer represents a dynamic size value.
Parameters:
Name Type Description
vint Uint8Array The variable sized integer.
Source:
Returns:
true if |vint| represents a dynamic size value, false otherwise.
Type
boolean

hasMoreData() → {boolean}

Source:
Returns:
True if the parser has more data, false otherwise.
Type
boolean

parseElement() → {shaka.util.EbmlElement}

Parses an EBML element from the parser's current position, and advances the parser.
Source:
See:
Returns:
The EBML element.
Type
shaka.util.EbmlElement

parseId_() → {number}

Parses an EBML ID from the parser's current position, and advances the parser.
Source:
Returns:
The EBML ID.
Type
number

parseVint_() → {Uint8Array}

Parses a variable sized integer from the parser's current position, and advances the parser. For example: 1 byte wide: 1xxx xxxx 2 bytes wide: 01xx xxxx xxxx xxxx 3 bytes wide: 001x xxxx xxxx xxxx xxxx xxxx
Source:
Returns:
The variable sized integer.
Type
Uint8Array