c – ALSA Kernel API is different from the asoundlib API?

I was reading about how to play audio from the linux kernel when I came across the ALSA (advanced linux sound architecture) and its api here in these kernel docs: www.kernel.org/doc/html/latest/sound/kernel-api/alsa-driver-api.html.

However it seems that most people who try to play audio in linux use the asound library, commonly included as so.

#include <alsa/asoundlib.h>

But when I look through the asoundlib api here: www.alsa-project.org/alsa-doc/alsa-lib/ it seems to not have the same functions as the kernel api I linked above. At this point I am confused because I am not sure when to call the kernel api vs the asoundlib api when playing audio.

A good example of this is the asoundlib api has a function called snd_pcm_open to create a handle and connection to an audio interface. I am unable to find this function in the kernel docs. So I am wondering, does asoundlib call the kernel api functions or are both of these apis orthogonal? If they are orthogonal, then what kerenel calls does asoundlib make?

Read more here: Source link