7 Jun
2022
7 Jun
'22
12:15 p.m.
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@perex.cz
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.