Dan Hordern wrote:
We have a need for our process to poll/monitor the sound cards.
Something like libudev would help with monitoring /dev/snd/controlC* devices.
This process needs to provide a unique id for the sound card (e.g. some concat of name+hardware address) which we can get using snd_ctl_t handle.
snd_ctl_card_info_get_id()
However, we also need to provide the number or rx/tx channels each sound card provides. Doing this using the pcm hw_params after snd_pcm_open won't work as the device may be in use.
Is there a way for this process to get the number of rx/tx channels without needing to 'open' the device, e.g. using the snd_ctl_t handle?
No. The number of channels might depend on the current configuration and on other resources.
What do you need these numbers for?
Regards, Clemens