emscripten-core / emscripten-core/emscripten

WebAudio Worklets not working in Firefox

オープン
#24,955 コメント 14 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
27.6k
フォーク
3.6k
平均マージ
1日 14時間
マージ済み PR(30日)
125

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cmake, cpp, vite, wasm
領域
audio-video-rtc, compilers
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。