- if (sr_dev_has_hwcap(o->dev, SR_HWCAP_SAMPLERATE)) {
- samplerate = *((uint64_t *) o->dev->driver->dev_info_get(
- o->dev->driver_index, SR_DI_CUR_SAMPLERATE));
- /* TODO: Error checks. */
- } else {
- samplerate = 0; /* TODO: Error or set some value? */
- }
- ctx->samplerate = samplerate;
+ if (sr_config_get(o->sdi->driver, o->sdi, NULL, SR_CONF_SAMPLERATE,
+ &gvar) == SR_OK) {
+ ctx->samplerate = g_variant_get_uint64(gvar);
+ g_variant_unref(gvar);
+ } else
+ ctx->samplerate = 0;