1. Introduction
This section is non-normativeThe introduction has not yet been written.
NOTE: The interfaces that follow are a work in progress.
2. VideoDecoder Interface
[Exposed =(Window )]interface {
VideoDecoder Promise <void >(
Initialize VideoDecoderInitParameters );
params Promise <void >();
Flush void ();
Close readonly attribute WritableStream ; // of EncodedVideoFrame
writable readonly attribute ReadableStream ; // of VideoFrame };
readable
[Exposed =(Window )]dictionary {
VideoDecoderInitParameters required DOMString ;
codec required DOMString ; // These are the "coded size", not the "visible size"
profile required unsigned long ;
width required unsigned long ; };
height
3. VideoEncoder Interface
[Exposed =(Window )]interface {
VideoEncoder Promise <void >(
Initialize VideoEncoderInitParameters );
params void ();
Close readonly attribute WritableStream ; // of VideoFrame
writable readonly attribute ReadableStream ; // of EncodedVideoFrame };
readable
enum {
VideoEncoderHardwareMode ,
"hardware" };
"software"
[Exposed =(Window )]dictionary {
VideoEncoderInitParameters required VideoEncoderHardwareMode ;
hardware_mode required DOMString ;
codec required DOMString ;
profile required unsigned long ;
visible_width required unsigned long ;
visible_height required unsigned long ;
bitsPerSecond required double ;
framesPerSecond required double ; };
maxFramesBetweenKeyFrames