I have some code I’ve been runnng for at least the past two years without issue. It uses Tcl as local server to browser and part of it fetches blob data from SQLite database using incremental blob, converts to an object URL and uses that as the source of an audio file. The largest blobs are about 40 MiB (about a 45 minute lecture).
Since the last update of Firefox, the largest blobs won’t play any longer. First, they would load, indicate that they were playing, but no timeupdate events ever fired and no sound and no errors thrown.
I thought I fixed that yesterday by adding a setTimeout around setting the source to the object URL. Sounds pretty stupid but it worked for awhile. Now, today, there is an error thrown that it cannot decode the blob to audio. There have been no changes to the audio blobs in the database; they are all mp3 and the exact same blobs I loaded two years ago–no changes to the database. It may be that the reason it stopped working today is that I opened a 42 MiB lecture.
If I run the code using a Chrome browser (Brave, for example) it all runs fine (without any setTimeout hack) for all the audio blobs I’ve tried that were failing in Firefox.
Any idea of what may have changed so that I can try to work around it?
Someone suggested not using an object url and to try the audio context API but that looks as though it is for something more complex than just playing an mp3 lecture of voice only; and the existing method has worked for two years and still works in Chrome; so must be a recent change in Firefox.
Thank you.
Could it have something to do with Firefox adjusting for this FFmpeg 8.1.2 vulnerability (CVE-2026-8461)?
I ask because the error in the console.log mentions FFmpeg.
I should’ve added also that it is not consistent. For example, after switching to Chrome and then back to Firefox, the same 42 MiB blob now plays. Although, earlier, I shutdown and restarted, and the error was there immediately.