mirror of
https://github.com/Qortal/Qortal-Hub.git
synced 2026-06-05 02:49:23 +00:00
libopus FEC WASM (group call receive path)
Thin Emscripten build exposing gcall_opus_decoder_create, gcall_opus_decode_float (including decode_fec), and gcall_opus_decoder_destroy for mono Opus at 48 kHz (20 ms = 960 samples/frame).
Prerequisites
- Emscripten emsdk at the repo root:
.emsdk/(install with./emsdk install 3.1.74 && ./emsdk activate 3.1.74).
Build
chmod +x native/libopus-fec-wasm/build.sh
./native/libopus-fec-wasm/build.sh
Output: src/wasm-libopus-fec/libopus-fec.js (single-file ES module, wasm embedded).
Opus 1.4 is downloaded into native/libopus-fec-wasm/build/ on first run. Configure uses --host=wasm32-unknown-none (cross-compile so autoconf does not try to run WASM test binaries) and --disable-intrinsics for wasm.
Regenerating after C changes
Edit opus_fec_wrapper.c, then run build.sh again.