emscripten-core / emscripten-core/emscripten
WebAudio Worklets not working in Firefox
- 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
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