Skip to content

Commit ec2c44f

Browse files
Closure Teamcopybara-github
Closure Team
authored andcommitted
Add VideoEncoder and related types to w3c_webcodecs.
PiperOrigin-RevId: 615088137
1 parent 4afa5e8 commit ec2c44f

File tree

1 file changed

+106
-1
lines changed

1 file changed

+106
-1
lines changed

externs/browser/w3c_webcodecs.js

+106-1
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ EncodedAudioChunk.prototype.copyTo = function(destination) {};
544544
/**
545545
* @record
546546
* @struct
547-
* @see https://www.w3.org/TR/webcodecs/#dictdef-encodedvideochunkinit
547+
* @see https://www.w3.org/TR/webcodecs/#dictdef-encodedaudiochunkinit
548548
*/
549549
function EncodedAudioChunkInit() {}
550550

@@ -872,3 +872,108 @@ var BitrateMode;
872872
* @see https://www.w3.org/TR/webcodecs/#enumdef-encodedaudiochunktype
873873
*/
874874
var EncodedAudioChunkType;
875+
876+
/**
877+
* @typedef {string}
878+
* @see https://www.w3.org/TR/webcodecs/#enumdef-encodedvideochunktype
879+
*/
880+
var EncodedVideoChunkType;
881+
882+
/**
883+
* @param {!VideoEncoderInit} init
884+
* @constructor
885+
* @see https://www.w3.org/TR/webcodecs/#videoencoder-constructors
886+
*/
887+
function VideoEncoder(init) {}
888+
889+
/**
890+
* @type {!CodecState}
891+
* @see https://www.w3.org/TR/webcodecs/#dom-videoencoder-state
892+
*/
893+
VideoEncoder.prototype.state;
894+
895+
/**
896+
* @type {number}
897+
* @see https://www.w3.org/TR/webcodecs/#dom-videoencoder-encodequeuesize
898+
*/
899+
VideoEncoder.prototype.encodeQueueSize;
900+
901+
/**
902+
* @type {(function(!Event)|undefined)}
903+
* @see https://www.w3.org/TR/webcodecs/#dom-videoencoder-ondequeue
904+
*/
905+
VideoEncoder.prototype.ondequeue;
906+
907+
/**
908+
* @param {!VideoEncoderConfig} config
909+
* @return {!Promise<!VideoEncoderSupport>}
910+
* @see https://www.w3.org/TR/webcodecs/#dom-videoencoder-isconfigsupported
911+
*/
912+
VideoEncoder.isConfigSupported = function(config) {};
913+
914+
/**
915+
* @param {!VideoEncoderConfig} config
916+
* @see https://www.w3.org/TR/webcodecs/#dom-videoencoder-configure
917+
*/
918+
VideoEncoder.prototype.configure = function(config) {};
919+
920+
/**
921+
* @param {!VideoFrame} frame
922+
* @param {undefined|!VideoEncoderEncodeOptions} options
923+
* @see https://www.w3.org/TR/webcodecs/#dom-videoencoder-encode
924+
*/
925+
VideoEncoder.prototype.encode = function(frame, options) {};
926+
927+
/**
928+
* @return {!Promise<undefined>}
929+
* @see https://www.w3.org/TR/webcodecs/#dom-videoencoder-flush
930+
*/
931+
VideoEncoder.prototype.flush = function() {};
932+
933+
/**
934+
* @see https://www.w3.org/TR/webcodecs/#dom-videoencoder-reset
935+
*/
936+
VideoEncoder.prototype.reset = function() {};
937+
938+
/**
939+
* @see https://www.w3.org/TR/webcodecs/#dom-videoencoder-close
940+
*/
941+
VideoEncoder.prototype.close = function() {};
942+
943+
944+
/**
945+
* @param {!EncodedVideoChunkInit} init
946+
* @constructor
947+
* @see https://www.w3.org/TR/webcodecs/#encodedvideochunk-constructors
948+
*/
949+
function EncodedVideoChunk(init) {}
950+
951+
/**
952+
* @type {!EncodedVideoChunkType}
953+
* @see https://www.w3.org/TR/webcodecs/#dom-encodedvideochunk-type
954+
*/
955+
EncodedVideoChunk.prototype.type;
956+
957+
/**
958+
* @type {number}
959+
* @see https://www.w3.org/TR/webcodecs/#dom-encodedvideochunk-timestamp
960+
*/
961+
EncodedVideoChunk.prototype.timestamp;
962+
963+
/**
964+
* @type {number|null}
965+
* @see https://www.w3.org/TR/webcodecs/#dom-encodedvideochunk-duration
966+
*/
967+
EncodedVideoChunk.prototype.duration;
968+
969+
/**
970+
* @type {number}
971+
* @see https://www.w3.org/TR/webcodecs/#dom-encodedvideochunk-bytelength
972+
*/
973+
EncodedVideoChunk.prototype.byteLength;
974+
975+
/**
976+
* @param {!BufferSource} destination
977+
* @see https://www.w3.org/TR/webcodecs/#dom-encodedvideochunk-copyto
978+
*/
979+
EncodedVideoChunk.prototype.copyTo = function(destination) {};

0 commit comments

Comments
 (0)