Библиотека Alsa имеет разные версии функций чтения и взаимодействия с драйверами. Почему?
Я просматривал код библиотеки alsa, я хотел знать, какая функция чтения используется. Однако я вижу, что есть несколько версий функций чтения. т.е.
.readi = snd_pcm_hw_readi
.readi = snd_pcm_ioplug_readi
.readi = snd_pcm_mmap_readi
.readi = snd_pcm_dshare_readi
.readi = snd_pcm_plugin_readi
Я не уверен, как библиотека alsa выбирает, какую функцию использовать?
какие параметры заставляют его выбирать разные API (например, swparams, hwparams)