Atomically update information for all connected devices. Note that calling
this function merely flips a pointer; the actual work of collecting device
information is done elsewhere. It is performant to call this function many
times per second.
When you call this, the following callbacks might be called:
* SoundIo::on_devices_change
* SoundIo::on_backend_disconnect
This is the only time those callbacks can be called.
This must be called from the same thread as the thread in which you call
these functions:
* ::soundio_input_device_count
* ::soundio_output_device_count
* ::soundio_get_input_device
* ::soundio_get_output_device
* ::soundio_default_input_device_index
* ::soundio_default_output_device_index
Note that if you do not care about learning about updated devices, you
might call this function only once ever and never call
::soundio_wait_events.
Atomically update information for all connected devices. Note that calling this function merely flips a pointer; the actual work of collecting device information is done elsewhere. It is performant to call this function many times per second.
When you call this, the following callbacks might be called: * SoundIo::on_devices_change * SoundIo::on_backend_disconnect This is the only time those callbacks can be called.
This must be called from the same thread as the thread in which you call these functions: * ::soundio_input_device_count * ::soundio_output_device_count * ::soundio_get_input_device * ::soundio_get_output_device * ::soundio_default_input_device_index * ::soundio_default_output_device_index
Note that if you do not care about learning about updated devices, you might call this function only once ever and never call ::soundio_wait_events.