Constructor
(export) new Mp4Parser()
Create a new MP4 Parser
- Source:
Members
(private, static) 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:
(private, non-null) boxDefinitions_ :Object.<number, !shaka.util.Mp4Parser.CallbackType>
Type:
- Object.<number, !shaka.util.Mp4Parser.CallbackType>
- Source:
(private, non-null) headers_ :Object.<number, shaka.util.Mp4Parser.BoxType_>
Type:
- Object.<number, shaka.util.Mp4Parser.BoxType_>
- Source:
Methods
(export, static) allData(callback) → (non-null) {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) |
- Source:
Returns:
(export, static) 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:
(export, static) 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:
(private, static) 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
(export, static) 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
(export) box(type, definitionnon-null) → (non-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
(export) fullBox(type, definitionnon-null) → (non-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
(export) parse(datanon-null, partialOkayopt)
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. |
- Source:
(export) parseNext(absStart, readernon-null, partialOkayopt)
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. |
- Source:
(export) 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: