You are supposed to call snd_hctl_poll_descriptors_count() to get the
number of descriptors.
> if (poll_fds.revents & POLLIN)
You are supposed to call snd_hctl_poll_descriptors_revents() to get the
events from the descriptors.
> While I can get the first mixer event fine, in all subsequent rounds,
You should call snd_hctl_handle_events() to read all the events.
> However, calling snd_hctl_handle_events here never returns
See amixer/amixer.c in the alsa-utils package for an example.
"amixer events" is undocumented for some reason; but does it work?
Linux-audio-dev mailing list