Skip to content

Function: filterIsoBoxes() ​

Call Signature ​

ts
function filterIsoBoxes<T, S>(
   boxes, 
   callback, 
   config?
): S[];

Defined in: libs/iso-bmff/src/filterIsoBoxes.ts:22

Filters boxes in the tree that satisfy the provided testing function.

This function traverses the entire box structure (including nested boxes) and returns all boxes for which the callback returns true.

Type Parameters ​

T ​

T

S ​

S

Parameters ​

boxes ​

Iterable<T>

The boxes to search through

callback ​

(box) => box is S

A function that accepts a box and returns true if it matches

config? ​

TraverseIsoBoxesConfig

Configuration options for traversal

Returns ​

S[]

An array of boxes that satisfy the callback

Example ​

ts
const isoFile = await readFile(new URL('./fixtures/captions.mp4', import.meta.url))
const boxes = readIsoBoxes(new Uint8Array(isoFile), { readers: { ftyp: readFtyp } })
const filtered = filterIsoBoxes(boxes, box => box.type === 'ftyp')
const ftyp = filtered[0]

assert.ok(ftyp)
assert.strictEqual(ftyp.type, 'ftyp')
assert.strictEqual(ftyp.majorBrand, 'isom')

Call Signature ​

ts
function filterIsoBoxes<T>(
   boxes, 
   callback, 
   config?
): T[];

Defined in: libs/iso-bmff/src/filterIsoBoxes.ts:31

Type Parameters ​

T ​

T

Parameters ​

boxes ​

Iterable<T>

callback ​

(box) => boolean

config? ​

TraverseIsoBoxesConfig

Returns ​

T[]

A Streaming Video Technology Alliance project.