C API
It would be great to expose a C API for CPAL. The PortAudio C library and RtAudio C++ library exist but they have major limitations. Both of those libraries couple stream creation with usage which precludes a good user experience with JACK and PipeWire routing applications and session managers. CPAL could accomplish that with #557. It would require breaking changes to those old libraries to support that, so it will probably never happen. Also, neither of those libraries support hotplug. CPAL could do so with #373. There is also the cubeb C++ library but that has no ASIO support and the JACK implementation is not suitable for realtime audio. Either hotplug or session manager compatibility alone would be a significant reason for C & C++ applications to choose CPAL over those other libraries.