master ← emezeske:pr/jack-activate-failure
opened 06:23PM - 10 Aug 26 UTC
JackAudioIODevice::open() calls jack_activate() but ignores its return value. If… activation fails, open() still reports success and marks the device open, producing a device that appears to be running but never invokes its audio callback. This can happen in practice with pipewire-jack, which can refuse an activation during a rapid deactivate/activate cycle such as the one triggered by changing the enabled channels in AudioDeviceSelectorComponent, leaving the application silent with no error surfaced anywhere.
With this change open() fails with an error when jack_activate() returns nonzero, so AudioDeviceManager tears the device down and reports the error instead of silently keeping a dead device.