Control events

Updated: April 19, 2023

You may have an application that needs to monitor audio concurrency management events and be notified when an event occurs.

These events track active audio streams and let you know what audio types are active on the system. You have to call snd_ctl_read() after the select() to read the event from the queue.

If it's a SND_CTL_READ_AUDIOMGMT_STATUS_CHG event, use snd_ctl_ducking_status_read() to get a list of all the active audio subchannels and information about their priority and ducking state.

Note: Audio streams that have been user-paused (e.g., snd_pcm_*_pause()) are considered active.

For an example of how to monitor events and determine the state of active audio streams on the system, see the audiomgmt_monitor.c example appendix.

You use the audiomgmt_id key in the [AUDIOMGMT] section of the audio configuration file to specify the ducking output that you want to monitor (the audio concurrency management context or output) . For more information, see io-audio in the Utilities Reference.