Sound and video, decoded by our own code
Until now, when Floati played a song, a podcast or a video, the last step - turning the downloaded bytes into pixels and sound - leaned on borrowed media libraries, the one part of the browser that was not ours. This release replaces them. Every royalty-free media format the web uses is now decoded by Floati's own from-scratch code, running entirely on your machine. Pictures first. JPEG, the format behind almost every photo on the web, is now decoded by our own decoder, matching the reference decoder pixel for pixel, and it reads the little orientation tag a camera writes, so a portrait photo is no longer shown lying on its side. WebP (a smaller photo format) is ours too, AVIF - the newest and most space-efficient image format, the one modern sites are moving to - now displays, and animated GIF and animated WebP play. Then sound. MP3, Ogg Vorbis, Opus, FLAC and plain WAV all play through Floati's own decoders now, with no third-party library involved, and an audio player or a video's soundtrack simply plays - page sound is on by default. The Opus decoder, the codec most web audio and voice calls use, is exact to the reference decoder down to the individual sample, including the tricky part that smooths over a brief drop in a live stream so the sound does not click or gap. Then moving pictures. WebM video and the royalty-free AV1 format decode in the engine itself. A video with its controls turned on now shows a real control bar - a play head, a scrubber you can drag, and a running clock - drawn at the same size the reference browser draws it, and a poster image is held on screen until you press play, exactly as a mainstream browser does. There is one deliberate exception, and it is a principled one. H.264 video and AAC audio - the two formats inside most .mp4 files - are covered by patents, so writing our own decoder for them would not make them any freer to ship. Instead Floati hands those two, and only those two, to the decoder already built into your operating system, the same one every other app on your computer uses (on macOS and on Windows). So an ordinary .mp4 with H.264 picture and AAC sound now plays, with the two kept in step. Why do this at all, when the borrowed libraries worked? Because the code that turns a downloaded file into what you see and hear is exactly the code that has to be trusted the most: media decoders are a favourite hiding place for security holes, and a browser is where you meet files from strangers all day long. Owning that layer means it runs on your machine, is ours to audit from end to end, and carries nothing that could quietly reach out to the network. One honest limit: the streaming sites that build a video up from small pieces as you watch - the way the big video and music services deliver playback - use a separate mechanism that this release does not cover yet. That is the next piece of work. Ordinary audio and video files, and the images across the reading web, all play now.