Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
libsoundio vs SDL2
Benefits of libsoundio over SDL2:
- Exposes backend support; API can choose which backends to connect to.
- Supports listing devices and choosing one.
- Supports capture devices.
- Supports channel layouts (also known as channel maps), important for surround sound applications.
- Exposes both device id and friendly name. id you could save in a config file because it persists between devices becoming plugged and unplugged, while friendly name is suitable for exposing to users.
- Callback function provides
frame_count_maxto optimally leverage fixed-buffer backends such as JACK and CoreAudio, as well as flexible buffer backends such as ALSA and PulseAudio.
- Exposes extra API that is only available on some backends. For example you can provide application name and stream names which is used by JACK and PulseAudio.
- Ability to monitor devices and get an event when available devices change.
- Ability to get an event when the backend is disconnected, for example when the JACK server or PulseAudio server shuts down.
- Ability to connect to multiple backends at once. For example you could have an ALSA device open and a JACK device open at the same time.
- Lightweight; only does audio.
Benefits of SDL2 over libsoundio:
- Contains more functionality than just audio, it does input, windowing, and graphics.
- Supports older versions of Windows than Windows 7.
Clone this wiki locally
Press h to open a hovercard with more details.