Commit Graph

4 Commits

Author SHA1 Message Date
OmikronApex
16686389fd fix(audio): gate strict buffer-size verification to ASIO; review cleanups
Post-open verification previously failed closed on any buffer-size delta on
every backend. The wedge this guards against (a driver accepting a request
without changing its buffer, then blocking the next in-place request) is
ASIO behaviour; ALSA rounds requests to period constraints and CoreAudio
can clamp, and both previously worked by storing the driver-adjusted
actuals. Keep exact buffer equality for ASIO only; other backends log and
accept the adjusted size. Rate and channel-mask verification stay strict
everywhere.

Also from review: print the real `options.compatible` in the live-probe log
instead of a hard-coded 1, and document that the live-endpoint reuse in
probeDual is safe only under runDeviceLifecycleOp's message-thread
serialisation (PR #113).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 22:20:03 +02:00
Viktor Olausson
a558873c43 fix(audio): reuse live ASIO device capabilities 2026-07-17 15:18:33 +02:00
OmikronApex
cd93159751 fix(audio): clear duplexMode on duplex setup failure; review cleanups
Address PR #114 review:
- failClosed now stores duplexMode=false so a failed reconfigure cannot
  leave the engine reporting duplex-active on a closed device.
- Drop the dead BigInteger initializers in the verify block.
- Move the applyDuplex locate-guard ahead of the source slice in the
  lifecycle test so marker drift fails with a clear message.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 14:03:56 +02:00
Viktor Olausson
f1c2ebc28d fix(audio): close Windows ASIO before reconfiguration 2026-07-17 12:25:12 +02:00