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 EncodedVideoFramewritable 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 VideoFramewritable 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