Skip to content

docs: add project status section + fix(ios): main-thread AVAudioEngine access#29

Closed
txbrown wants to merge 3 commits into
mainfrom
engine-lifecycle
Closed

docs: add project status section + fix(ios): main-thread AVAudioEngine access#29
txbrown wants to merge 3 commits into
mainfrom
engine-lifecycle

Conversation

@txbrown

@txbrown txbrown commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

What

Two changes on the engine-lifecycle branch:

1. README project status section (closes #21)

  • Alpha status badge (shields.io)
  • Supported platforms and features at a high level
  • Known issues with links to relevant tracker issues

2. iOS main-thread AVAudioEngine access (partially addresses #15)

  • AVAudioEngine.outputNode must be accessed on the main thread to avoid RPC timeouts
  • Wrapped getAudioInfo, getSampleRate, loadAudioResource, unloadAudioResource in dispatch_async(dispatch_get_main_queue())
  • applyInstructions and setProperty left as-is (perf-critical, only hit AV engine on first call)

Remaining from #15

  • Rebuild/reconnect native audio graph against active route on connection change
  • Reconfigure runtime/device on channel count or sample rate changes
  • Handle input-device changes explicitly
  • Expose IO connection state/events to JS

txbrown added 2 commits June 5, 2026 19:02
- Add alpha status badge
- Document supported platforms and features
- List known issues with links to tracker

Closes #21
AVAudioEngine.outputNode must be accessed on the main thread to avoid
an RPC timeout in AURemoteIO::Cleanup when called from a background
queue. Wrap getAudioInfo, getSampleRate, loadAudioResource, and
unloadAudioResource in dispatch_async(dispatch_get_main_queue()).

applyInstructions and setProperty are left as-is since they are
performance-critical and only hit the AV engine on first call
(subsequent calls take the audioEngineInitialized fast path).

Patch insight from midicircuit-rn.
@txbrown txbrown changed the title docs: add project status section to README docs: add project status section + fix(ios): main-thread AVAudioEngine access Jun 5, 2026
@txbrown txbrown closed this Jun 5, 2026
@txbrown txbrown deleted the engine-lifecycle branch June 5, 2026 10:41
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.

Update README with project status

1 participant