Update from the W3C TPAC 2022, Part 1


The W3C TPAC was in mid-September. There were 12 hours of discussion spread over 3 days. I am breaking this into a two part post. The first one will cover the update on the existing standards work, i.e., already implemented and discuss the improvements that we need to do as an outcome of the adoption of the APIs. The second post will cover the evolution, vis-a-vis, new usecases and collaboration with other Web APIs (such as, webaudio, webtransport)

Quick update on the existing specs!

media-capture-main, the API that captures camera/mic as input, the main emphasis is to get this spec to v1.0 status, i.e., W3C Recommendation, currently it is in candidate status. The main demarcation is that there are two browser implementations of the various features of the media-capture API. The new features for capture are controls for gaze correction, face detection, and so on. While for the capture handling, : Crop, select, prefer

webrtc-pc (a.k.a PeerConnection), the API that defines the connectivity and transport of media and data. The specification moved to a v1.0 status in Jan 2021, making it a W3C Recommendation, that means that the community is not redesigning the current concepts, but doing minor updates or extensions where needed.

The main work ahead/decision for the webrtc-pc is to move the peerconnection into a worker. The browser main thread paints and responds to events, moving the peerconnection off of the main thread would make the browser UX more responsive as the all the media handling will happen in a worker, however, this needs to be carefully considered as there might be privacy/security implications of making such a move.

webrtc-stats, all things related to monitoring connection and media quality. The statistics API is soon graduating to a v1.0 proposal. As part of the graduation process, we have been working on moving unimplemented stats from the main webrtc-stats spec to a provisional stats spec, so developers do not have to wonder if this stat is implemented or not. If you are ever in doubt, the wpt.fyi page is super helpful.

If you have any questions around the ongoing work or have a feature request on the existing APIs, chime in below! Happy to discuss API evolutions :)