Module webcodecs_encoders
WebCodecs VideoEncoder / AudioEncoder (src/page/bindings_encoders.odin, native/js/runtime/web_webcodecs_encoders.c).
No encoder is linked in this build, so isConfigSupported is honestly false and configure raises NotSupportedError.
The objects and their state machine exist so feature detection and new VideoEncoder({...}) behave; when an encoder
crate is added, configure()/encode() wire to it here.
Exposed to: Window, Worker. Source: api/webcodecs_encoders.widl.
Odin: import "wren:webcodecs".
Types
handle VideoEncoder : Object
Checked by the browser on every call (lookup_VideoEncoder).
handle AudioEncoder : Object
Checked by the browser on every call (lookup_AudioEncoder).
callback VideoEncoderOutput
void VideoEncoderOutput(i32 user, u64 chunk)callback VideoEncoderError
void VideoEncoderError(i32 user, i32 code)callback AudioEncoderOutput
void AudioEncoderOutput(i32 user, u64 chunk)callback AudioEncoderError
void AudioEncoderError(i32 user, i32 code)Functions
VideoEncoder_create
VideoEncoder VideoEncoder_create(VideoEncoderOutput output, i32 output_user, VideoEncoderError error, i32 error_user) raisesRaises: returns an Error (see web).
Host: VideoEncoder_create :: proc(c: ^Call, output: u32, output_user: i32, error: u32, error_user: i32) -> (u64, Api_Error)
AudioEncoder_create
AudioEncoder AudioEncoder_create(AudioEncoderOutput output, i32 output_user, AudioEncoderError error, i32 error_user) raisesRaises: returns an Error (see web).
Host: AudioEncoder_create :: proc(c: ^Call, output: u32, output_user: i32, error: u32, error_user: i32) -> (u64, Api_Error)
VideoEncoder_isConfigSupported
bool VideoEncoder_isConfigSupported(string codec)Honest: false for every codec (no encoder is linked).
Host: VideoEncoder_isConfigSupported :: proc(c: ^Call, codec: string) -> bool
AudioEncoder_isConfigSupported
bool AudioEncoder_isConfigSupported(string codec)Host: AudioEncoder_isConfigSupported :: proc(c: ^Call, codec: string) -> bool
VideoEncoder_configure
void VideoEncoder_configure(VideoEncoder encoder, string codec) raisesRaises NotSupportedError (no encoder).
Raises: returns an Error (see web).
Host: VideoEncoder_configure :: proc(c: ^Call, encoder: Api_VideoEncoder, codec: string) -> Api_Error
AudioEncoder_configure
void AudioEncoder_configure(AudioEncoder encoder, string codec) raisesRaises: returns an Error (see web).
Host: AudioEncoder_configure :: proc(c: ^Call, encoder: Api_AudioEncoder, codec: string) -> Api_Error
VideoEncoder_encode
void VideoEncoder_encode(VideoEncoder encoder) raisesRaises: returns an Error (see web).
Host: VideoEncoder_encode :: proc(c: ^Call, encoder: Api_VideoEncoder) -> Api_Error
AudioEncoder_encode
void AudioEncoder_encode(AudioEncoder encoder) raisesRaises: returns an Error (see web).
Host: AudioEncoder_encode :: proc(c: ^Call, encoder: Api_AudioEncoder) -> Api_Error
VideoEncoder_flush
void VideoEncoder_flush(VideoEncoder encoder) raisesRaises: returns an Error (see web).
Host: VideoEncoder_flush :: proc(c: ^Call, encoder: Api_VideoEncoder) -> Api_Error
AudioEncoder_flush
void AudioEncoder_flush(AudioEncoder encoder) raisesRaises: returns an Error (see web).
Host: AudioEncoder_flush :: proc(c: ^Call, encoder: Api_AudioEncoder) -> Api_Error
VideoEncoder_reset
void VideoEncoder_reset(VideoEncoder encoder)Host: VideoEncoder_reset :: proc(c: ^Call, encoder: Api_VideoEncoder)
AudioEncoder_reset
void AudioEncoder_reset(AudioEncoder encoder)Host: AudioEncoder_reset :: proc(c: ^Call, encoder: Api_AudioEncoder)
VideoEncoder_close
void VideoEncoder_close(VideoEncoder encoder)Host: VideoEncoder_close :: proc(c: ^Call, encoder: Api_VideoEncoder)
AudioEncoder_close
void AudioEncoder_close(AudioEncoder encoder)Host: AudioEncoder_close :: proc(c: ^Call, encoder: Api_AudioEncoder)
VideoEncoder_encodeQueueSize
u32 VideoEncoder_encodeQueueSize(VideoEncoder encoder)Host: VideoEncoder_encodeQueueSize :: proc(c: ^Call, encoder: Api_VideoEncoder) -> u32
AudioEncoder_encodeQueueSize
u32 AudioEncoder_encodeQueueSize(AudioEncoder encoder)Host: AudioEncoder_encodeQueueSize :: proc(c: ^Call, encoder: Api_AudioEncoder) -> u32
VideoEncoder_state
i32 VideoEncoder_state(VideoEncoder encoder)Host: VideoEncoder_state :: proc(c: ^Call, encoder: Api_VideoEncoder) -> i32
AudioEncoder_state
i32 AudioEncoder_state(AudioEncoder encoder)Host: AudioEncoder_state :: proc(c: ^Call, encoder: Api_AudioEncoder) -> i32