Wren a web browser where WebAssembly runs everything, JavaScript included

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) raises

Raises: 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) raises

Raises: 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) raises

Raises 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) raises

Raises: 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) raises

Raises: returns an Error (see web).

Host: VideoEncoder_encode :: proc(c: ^Call, encoder: Api_VideoEncoder) -> Api_Error

AudioEncoder_encode

void AudioEncoder_encode(AudioEncoder encoder) raises

Raises: returns an Error (see web).

Host: AudioEncoder_encode :: proc(c: ^Call, encoder: Api_AudioEncoder) -> Api_Error

VideoEncoder_flush

void VideoEncoder_flush(VideoEncoder encoder) raises

Raises: returns an Error (see web).

Host: VideoEncoder_flush :: proc(c: ^Call, encoder: Api_VideoEncoder) -> Api_Error

AudioEncoder_flush

void AudioEncoder_flush(AudioEncoder encoder) raises

Raises: 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

Edit this page on GitHub