Skip to content

Refactor/communication between audio and js thread#942

Merged
maciejmakowski2003 merged 83 commits intomainfrom
refactor/communication-between-audio-and-js-thread
Mar 9, 2026
Merged

Refactor/communication between audio and js thread#942
maciejmakowski2003 merged 83 commits intomainfrom
refactor/communication-between-audio-and-js-thread

Conversation

@maciejmakowski2003
Copy link
Collaborator

@maciejmakowski2003 maciejmakowski2003 commented Feb 6, 2026

Closes RNAA-311
Closes RNAA-250
Closes RNAA-410
Part of RNAA-433

⚠️ Breaking changes ⚠️

  • Replaced initialize method from StreamerNode with passing url via ctor or factory method.
  • Drop support for hann window in AnalyserNode

Introduced changes

  • Enhanced communication between JS thread and Audio thread. Almost all of node's modifications from JS thread are scheduled on CrossThreadEventScheduler wrapper to be executed on Audio thread. HostObject plays a ShadowAudioNode role - it stores a copy of node's state. There are some exceptions like using atomics ot triple buffer pattern.

Checklist

  • Linked relevant issue
  • Updated relevant documentation
  • Added/Conducted relevant tests
  • Performed self-review of the code
  • Updated Web Audio API coverage
  • Added support for web
  • Updated old arch android spec file

maciejmakowski2003 added 5 commits March 3, 2026 07:03
@maciejmakowski2003 maciejmakowski2003 merged commit 0a23a8e into main Mar 9, 2026
4 checks passed
@maciejmakowski2003 maciejmakowski2003 deleted the refactor/communication-between-audio-and-js-thread branch March 9, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants