The Javascript implementation of emscripten_start_wasm_audio_worklet_thread_async does not print the reason for failure when calling the callback with success=false. This makes it very difficult to understand why processor creation fails.
As of this writing, the current implementation looks like this:
In my case, it was failing because my C++ code had a EM_ASM block containing Javascript that did not validate in strict mode. Specifically, the SyntaxError: applying the 'delete' operator to an unqualified name is deprecated was being thrown and caught by the above code, but never printed. I could not figure it out until I started modifying the javascript file generated by Emscripten.
The Javascript implementation of emscripten_start_wasm_audio_worklet_thread_async does not print the reason for failure when calling the callback with success=false. This makes it very difficult to understand why processor creation fails.
As of this writing, the current implementation looks like this:
In my case, it was failing because my C++ code had a EM_ASM block containing Javascript that did not validate in strict mode. Specifically, the
SyntaxError: applying the 'delete' operator to an unqualified name is deprecated
was being thrown and caught by the above code, but never printed. I could not figure it out until I started modifying the javascript file generated by Emscripten.Version of emscripten/emsdk:
Full link command and output with
-v
appended: