Class: shaka.util.Mp4Parser

Constructor

new Mp4Parser()

Source:

Members

BoxType_ :number

An enum used to track the type of box so that the correct values can be read from the header.
Type:
  • number
Properties:
Name Value Type Description
BASIC_BOX 0 number
FULL_BOX 1 number
Source:

boxDefinitions_ :Map<number, !shaka.util.Mp4Parser.CallbackType>

Type:
Source:

done_ :boolean

Type:
  • boolean
Source:

Methods

allData(callback, clone) → {shaka.util.Mp4Parser.CallbackType}

Create a callback that tells the Mp4 parser to treat the body of a box as a binary blob and to parse the body's contents using the provided callback.
Parameters:
Name Type Description
callback function(!Uint8Array)
clone boolean True to clone the data into a new buffer, false to create a view on the existing buffer. Creating a view on the existing buffer will keep the entire buffer in memory so long as the view is reachable. Use false for temporary values, and true for values that need to outlive the underlying buffer.
Source:
Returns:
Type
shaka.util.Mp4Parser.CallbackType

audioSampleEntry(boxnon-null)

A callback that tells the Mp4 parser to treat the body of a box as a audio sample entry. A audio sample entry has some fixed-sized fields describing the audio codec parameters, followed by an arbitrary number of appended children. Each child is a box.
Parameters:
Name Type Description
box shaka.extern.ParsedBox
Source:

children(boxnon-null)

A callback that tells the Mp4 parser to treat the body of a box as a series of boxes. The number of boxes is limited by the size of the parent box.
Parameters:
Name Type Description
box shaka.extern.ParsedBox
Source:

headerSize(box) → {number}

Find the header size of the box. Useful for modifying boxes in place or finding the exact offset of a field.
Parameters:
Name Type Description
box shaka.extern.ParsedBox
Source:
Returns:
Type
number

sampleDescription(boxnon-null)

A callback that tells the Mp4 parser to treat the body of a box as a sample description. A sample description box has a fixed number of children. The number of children is represented by a 4 byte unsigned integer. Each child is a box.
Parameters:
Name Type Description
box shaka.extern.ParsedBox
Source:

typeFromString_(name) → {number}

Convert an ascii string name to the integer type for a box.
Parameters:
Name Type Description
name string The name of the box. The name must be four characters long.
Source:
Returns:
Type
number

typeToString(type) → {string}

Convert an integer type from a box into an ascii string name. Useful for debugging.
Parameters:
Name Type Description
type number The type of the box, a uint32.
Source:
Returns:
Type
string

visualSampleEntry(boxnon-null)

A callback that tells the Mp4 parser to treat the body of a box as a visual sample entry. A visual sample entry has some fixed-sized fields describing the video codec parameters, followed by an arbitrary number of appended children. Each child is a box.
Parameters:
Name Type Description
box shaka.extern.ParsedBox
Source:

box(type, definitionnon-null) → {shaka.util.Mp4Parser}

Declare a box type as a Box.
Parameters:
Name Type Description
type string
definition shaka.util.Mp4Parser.CallbackType
Source:
Returns:
Type
shaka.util.Mp4Parser

fullBox(type, definitionnon-null) → {shaka.util.Mp4Parser}

Declare a box type as a Full Box.
Parameters:
Name Type Description
type string
definition shaka.util.Mp4Parser.CallbackType
Source:
Returns:
Type
shaka.util.Mp4Parser

parse(datanon-null, partialOkayopt, stopOnPartialopt)

Parse the given data using the added callbacks.
Parameters:
Name Type Attributes Description
data BufferSource
partialOkay boolean <optional>
If true, allow reading partial payloads from some boxes. If the goal is a child box, we can sometimes find it without enough data to find all child boxes.
stopOnPartial boolean <optional>
If true, stop reading if an incomplete box is detected.
Source:

parseNext(absStart, readernon-null, partialOkayopt, stopOnPartialopt)

Parse the next box on the current level.
Parameters:
Name Type Attributes Description
absStart number The absolute start position in the original byte array.
reader shaka.util.DataViewReader
partialOkay boolean <optional>
If true, allow reading partial payloads from some boxes. If the goal is a child box, we can sometimes find it without enough data to find all child boxes.
stopOnPartial boolean <optional>
If true, stop reading if an incomplete box is detected.
Source:

stop()

Stop parsing. Useful for extracting information from partial segments and avoiding an out-of-bounds error once you find what you are looking for.
Source:

Type Definitions

CallbackType

Type:
  • function(!shaka.extern.ParsedBox)
Source: