Skip to content

Function: findIsoBox() ​

Call Signature ​

ts
function findIsoBox<T, S>(
   boxes, 
   callback, 
   config?
): S | null;

Defined in: libs/iso-bmff/src/findIsoBox.ts:21

Finds the first box in the tree that satisfies the provided testing function.

This function traverses the entire box structure (including nested boxes) and returns the first box 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 | null

The first box that satisfies the callback, or null if none is found

Example ​

ts
const isoFile = await readFile(new URL('./fixtures/captions.mp4', import.meta.url))
const boxes = readIsoBoxes(new Uint8Array(isoFile), {
	readers: {
		ftyp: readFtyp,
	},
})

const ftyp = findIsoBox(boxes, box => box.type === 'ftyp')

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

Call Signature ​

ts
function findIsoBox<T>(
   boxes, 
   callback, 
   config?
): T | null;

Defined in: libs/iso-bmff/src/findIsoBox.ts:30

Type Parameters ​

T ​

T

Parameters ​

boxes ​

Iterable<T>

callback ​

(box) => boolean

config? ​

TraverseIsoBoxesConfig

Returns ​

T | null

A Streaming Video Technology Alliance project.