RTCEncodedVideoFrame: RTCEncodedVideoFrame() constructor
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Note: This feature is available in Dedicated Web Workers.
The RTCEncodedVideoFrame() constructor creates a new and fully independent RTCEncodedVideoFrame object.
The new object is a deep clone of the original object data and metadata, with any metadata specified in the options parameter overwriting the copied values.
Syntax
new RTCEncodedVideoFrame(originalFrame);
new RTCEncodedVideoFrame(originalFrame, options);
Parameters
originalFrame-
The frame to be copied.
optionsOptional-
This is an object with the following property:
metadataOptional-
An object setting the frame metadata. This is an object with the same properties as the object returned by
RTCEncodedVideoFrame.getMetadata().
Exceptions
TypeError- The source buffer is detached.
RangeError- The allocation is too large.
Examples
>Cloning a frame with modified metadata
This snippet shows how you might copy a frame and modify its metadata. In this case we just update the capture time.
// Frame is an incoming RTCEncodedVideoFrame
frame.getMetadata();
const newFrame = new RTCEncodedVideoFrame(frame, {
metadata: {
captureTime: frame.metadata.captureTime + 3,
},
});
This kind of modification might be useful if you need to create multiple outgoing frames from a single incoming frame; for example, in order to relay media to another peer on the network. Generally you will not need to modify the metadata for a frame.
Specifications
| Specification |
|---|
| WebRTC Encoded Transform> # dom-rtcencodedvideoframe-constructor> |
Browser compatibility
Loading…