emscripten-core / emscripten-core/emscripten

WebAudio Worklets not working in Firefox

Ouverte
#24,955 14 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
27.6k
Forks
3.6k
Merge moyen
1 j 14 h
PR mergées (30 j)
125

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cmake, cpp, vite, wasm
Domaine
audio-video-rtc, compilers
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.