emscripten-core / emscripten-core/emscripten

WebAudio Worklets not working in Firefox

Offen
#24,955 14 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
27.6k
Forks
3.6k
Ø Merge
1 T. 16 Std.
Gemergte PRs (30 T.)
117

Beschreibung

Please include the following in your bug report:

**Version of emscripten/emsdk:**
Anything from `4.0.8` to `4.0.13`

Repo for reproducing is right [here](https://github.com/Andonvr/webaudio-reproducible-bug) <--

This works in Chrome and Safari, but is broken in Firefox.

I followed the guide on Wasm Audio Worklets from [here](https://emscripten.org/docs/api_reference/wasm_audio_worklets.html), and adjusted it slightly.
Basically, I added a class to hold a gain value, which I expose using Embind. When creating the Audio Worklet, I pass an instance of it. Later, I change the value of this, and the gain adjusts.

I compile, using CMake, and run using the most simple Vite project.

All of this works perfectly in Chrome.
But in Firefox, when creating the Wasm Audio Worklet (and not anywhere before that), it throws the error `RuntimeError: index out of bounds`.

With the compiler flag `WEBAUDIO_DEBUG`, it even prints "Registered new WebAudio object [object AudioWorkletNode] with ID 2" before failing.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start with the linked webaudio-reproducible-bug repository, its CMake build, and the simple Vite project; run the reproduction in Firefox and compare Audio Worklet creation with Chrome or Safari. Read the Emscripten Wasm Audio Worklets guide and trace the point where the AudioWorkletNode is created and the `index out of bounds` error appears. Done means the supplied reproduction works in Firefox without that error.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cmake, cpp, vite, wasm
Bereich
audio-video-rtc, compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.