in src/backend/mod.rs [2918:2941]
fn register_device_collection_changed(
&mut self,
devtype: DeviceType,
collection_changed_callback: ffi::cubeb_device_collection_changed_callback,
user_ptr: *mut c_void,
) -> Result<()> {
if devtype == DeviceType::UNKNOWN {
return Err(Error::invalid_parameter());
}
self.serial_queue
.clone()
.run_sync(|| {
if collection_changed_callback.is_some() {
self.add_devices_changed_listener(
devtype,
collection_changed_callback,
user_ptr,
)
} else {
self.remove_devices_changed_listener(devtype)
}
})
.unwrap()
}