- bool supported_device = false;
- if ((sr_config_list(drivers[i], SR_CONF_DEVICE_OPTIONS,
- (const void **)&hwopts, NULL) == SR_OK) && hwopts)
- for (int j = 0; hwopts[j]; j++)
- if(hwopts[j] == SR_CONF_SAMPLERATE) {
- supported_device = true;
- break;
- }
-
- if(supported_device)
- _drivers.addItem(QString("%1 (%2)").arg(
- drivers[i]->longname).arg(drivers[i]->name),
- qVariantFromValue((void*)drivers[i]));
+ bool supported_device = driver->config_check(
+ ConfigKey::SAMPLERATE, ConfigKey::DEVICE_OPTIONS);
+
+ if (supported_device)
+ drivers_.addItem(QString("%1 (%2)").arg(
+ driver->long_name().c_str()).arg(name.c_str()),
+ qVariantFromValue(driver));