Weekly notes 6 — Wobbly abstractions and stable furniture


Nothing too interesting. Mostly specification work, trying to advance specifications like Web Codecs, mediacapture-transform, a.k.a. Breakout Box. As always, my focus is on API layering and finding the right level of abstractions (or the right levels of abstractions: sometimes the solution is to have two layers), performance, and composability.

There are lots of APIs with slight overlaps on the Web when it comes to multimedia, and it’s a bit of a mess: high level constructs to implement low-level things, memory copies all over the place, little care about clock domains and clocking in general, and generally everything is very fuzzy.

Web Codecs is progressing well. The images proposal will be merged soon. We’ll see how stable it looks in a few days. I’m trying to optimize memory locality further, for higher performance, because memcpy is murder, and because when dealing with 4k video frames at 60fps, it really shows when you’re not being careful.

I’m trying to finish some Gecko patches on the side, and doing reviews of course, but specification work has the priority.


I’ve finished the little piece of furniture I was working on, here it is:

A piece of wooden furniture that I made.

The feet are from Ripaton. I chose a natural mat varnish, two coats with light sanding in between. It’s pretty stable and flat, I call it a success.