VideoFrame.allocationSize()

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The allocationSize() method of the VideoFrame interface returns the number of bytes required to hold the video as filtered by options passed into the method.

Syntax

allocationSize()
allocationSize(options)

Parameters

options Optional

An object containing the following:

rect Optional

The rectangle of pixels to copy from the VideoFrame. If unspecified the visibleRect will be used. This is in the format of a dictionary object containing:

  • x: The x-coordinate.
  • y: The y-coordinate.
  • width: The width of the frame.
  • height: The height of the frame.
layout Optional

A list containing the following values for each plane in the VideoFrame. Planes may not overlap. If unspecified the planes will be tightly packed:

offset

An integer representing the offset in bytes where the given plane begins.

stride

An integer representing the number of bytes, including padding, used by each row of the plane.

Return value

An integer containing the number of bytes needed to hold the frame as specified by options.

Examples

In the following example the allocationSize is returned for the rectangle at top left with dimensions of 800 by 600.

const videoRect = {
  x:0,
  y:0,
  width:800,
  height:600
}
let size = VideoFrame.allocationSize({rect: videoRect})

Specifications

Specification
WebCodecs
# dom-videoframe-allocationsize

Browser compatibility

BCD tables only load in the browser