← Back to release summary

WebCodecs dequeue event

Category
Multimedia
Type
Chromium catches up
Status
Enabled by default (Chrome 106)
Intent stage
Shipped

Summary

This feature tracks adding a single event named "dequeue" to the audio and video encoder and decoder interfaces (e.g. AudioDecoder.ondequeue). Authors may initially queue up encoding or decoding work by calling encode() or decode() respectively. The new "dequeue" event is fired to indicate when the underlying codec has ingested some/all of the queued work. The decrease in the queue size is already reflected by a lower value of encoder.encodeQueueSize and decoder.decodeQueueSize attributes. The new event eliminates the need for authors to setTimeout() poll to determine when the queue has decreased (i.e. when they should queue up more work). See mentions of "dequeue" in the WebCodecs specification https://w3c.github.io/webcodecs/#audiodecoder-event-summary

Motivation

The dequeue event offers improved API usability (described in summary) and conforms to recent spec changes.

Standards & signals

Explainers: https://github.com/w3c/webcodecs/blob/main/explainer.md

View on chromestatus.com