Now that there is a bit less spec work to do, I’ve started fixing Gecko bugs again and doing other programming.
I finally did the work to promote the thread doing the audio rendering on Android (which was supposed to be hard because the documentation was lying, but was easy in the end). It involved calling Java API from C++, which is usually annoying. I did all the work, only to learn during the review that Gecko can generate bindings to any API in the Android SDK magically by adding a few lines to a manifest. So I rewrote my patch in a few minutes, and now all is well. This should make any web pages using the Web Audio API or WebRTC a lot more robust against load, especially when the screen is turned off.
I also had an old ghost from the past haunt me: suddenly, I was made aware
that a specific page on https://searchfox.org was not being displayed, but
instead Firefox attempted to play it as a FLAC. Clearly that was a binary sniffing
false-positive, and indeed our FLAC sniffer was clearly prone to false
positive. Because I don’t think sniffing in the middle of a FLAC byte-stream is
particularly useful (vs. just looking at the initial four bytes which are
supposed to be
fLaC), I removed the code.
I took this opportunity to add a few Web Platform Tests about media sniffing. It’s not much, but it’s better than nothing.
I’ve started playing again with the modular synth this week and went to Modular Square in Paris to get a couple new modules.
I printed a good 1.5cm thick of manual pages and started jamming a bit, here’s two live recorded bits.
Lots to learn, but fun nonetheless.