Skip to content

Rnnoise#4

Open
melogale wants to merge 29 commits intolivekitfrom
rnnoise
Open

Rnnoise#4
melogale wants to merge 29 commits intolivekitfrom
rnnoise

Conversation

@melogale
Copy link
Member

Brings in upstream pr for rnnoise: element-hq#3772!

Test on https://sable.melogale.space.

LucaPisl and others added 29 commits March 3, 2026 00:54
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
…ting

Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
The rnnoise C library (xiph/rnnoise) is compiled to WebAssembly inside
@jitsi/rnnoise-wasm and bundled verbatim into the Element Call web app
bundle. The rnnoise BSD 3-Clause license requires that its copyright
notice be reproduced in documentation or other materials provided with
binary distributions.

@jitsi/rnnoise-wasm does not carry a NOTICE file nor embed the upstream
BSD notice in its generated JS/WASM artefacts, so Element Call — as the
distributor of the binary — must supply the attribution itself.

Add THIRD_PARTY_NOTICES at the repository root containing:
- xiph/rnnoise BSD 3-Clause notice (Mozilla, Jean-Marc Valin,
  Xiph.Org Foundation, Mark Borgerding)
- @jitsi/rnnoise-wasm Apache 2.0 notice (ESTOS GmbH, BlueJimp SARL)

Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
- Fix copyright header in RNNoiseProcessor.ts (was "2025 New Vector Ltd.",
  all other files in the feature use "2026 Element Creations Ltd.")
- Pin @jitsi/rnnoise-wasm to exact version 0.2.1 (was "^0.2.1") to
  prevent unexpected upstream WASM changes being pulled automatically
- Add double-init guard to RNNoiseProcessor.init(): tears down existing
  nodes before re-initialising so callers need not explicitly destroy first
- Add post-await destroyed check in init() to abort cleanly if a
  concurrent destroy() ran during worklet registration
- Add pendingWorkletRegistrations WeakMap mutex in ensureWorkletRegistered()
  to prevent concurrent addModule() calls on the same AudioContext
- Add comment to createWorkletCode() warning that it is the test-harness
  copy of the worklet and must be kept in sync with RNNoiseWorkletModule.ts
- Add three new unit tests covering: double-init node cleanup, concurrent
  ensureWorkletRegistered() deduplication, concurrent init+destroy safety

Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
The @typescript-eslint/promise-function-async rule requires functions
that return Promise values to be declared async. While the runtime
behaviour is equivalent, adding async keeps the linter clean and makes
the intent explicit.

Signed-off-by: LucaPisl <luca.pislaru@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants