On 07. 06. 22 11:56, Pavel Hofman wrote:
Hi, Please is there any way to wait for nonblocking read/write at min_avail (like snd_pcm_wait) AND nonblocking subscribed ctl event (like snd_ctl_wait) in a single combined wait? The goal is to react as fast as possible to ctls in aloop and audio gadget devices which notify about stream stop and start (at new rate/format/channel count) on the other side. I guess some wizardry with file descriptors and polling multiple fds could do.
Yes, use snd_ctl_poll_descriptors* and snd_pcm_poll_descriptors* functions to fetch descriptors and translate poll states returned from poll(). The alsaloop utility from alsa-utils may be used as an example.
Jaroslav -- Jaroslav Kysela <perex@xxxxxxxx> Linux Sound Maintainer; ALSA Project; Red Hat, Inc.