X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fsession_driver.c;h=62b16986e4afa264419fb0263e8381c2afdb176c;hb=a82c83c6a506a41154344593948de859e5b9ae7e;hp=4c4ef364883e83b6e3d0ddf357d20fc9ee8266fa;hpb=f254bc4bba68d2cade0c8f7993d8fa8d3d9b556a;p=libsigrok.git diff --git a/src/session_driver.c b/src/session_driver.c index 4c4ef364..62b16986 100644 --- a/src/session_driver.c +++ b/src/session_driver.c @@ -50,9 +50,9 @@ struct session_vdev { }; static const uint32_t devopts[] = { - SR_CONF_CAPTUREFILE, - SR_CONF_CAPTURE_UNITSIZE, - SR_CONF_SAMPLERATE, + SR_CONF_CAPTUREFILE | SR_CONF_SET, + SR_CONF_CAPTURE_UNITSIZE | SR_CONF_GET | SR_CONF_SET, + SR_CONF_SAMPLERATE | SR_CONF_GET | SR_CONF_SET, }; static int receive_data(int fd, int revents, void *cb_data) @@ -216,13 +216,17 @@ static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *s (void)cg; + if (!sdi) + return SR_ERR; + + vdev = sdi->priv; + switch (key) { case SR_CONF_SAMPLERATE: - if (sdi) { - vdev = sdi->priv; - *data = g_variant_new_uint64(vdev->samplerate); - } else - return SR_ERR; + *data = g_variant_new_uint64(vdev->samplerate); + break; + case SR_CONF_CAPTURE_UNITSIZE: + *data = g_variant_new_uint64(vdev->unitsize); break; default: return SR_ERR_NA;