return SR_ERR;
}
+ sdi->status = SR_ST_ACTIVE;
+
return SR_OK;
}
sr_err("Failed to close device: %s.",
snd_strerror(ret));
devc->capture_handle = NULL;
+ sdi->status = SR_ST_INACTIVE;
}
} else {
sr_dbg("No capture handle, no need to close audio device.");
*data = g_variant_new_uint64(devc->cur_samplerate);
break;
default:
- return SR_ERR_ARG;
+ return SR_ERR_NA;
}
return SR_OK;
{
struct dev_context *devc;
+ if (sdi->status != SR_ST_ACTIVE)
+ return SR_ERR_DEV_CLOSED;
+
devc = sdi->priv;
switch (id) {
devc->limit_samples = g_variant_get_uint64(data);
break;
default:
- sr_err("Unknown capability: %d.", id);
- return SR_ERR;
+ return SR_ERR_NA;
}
return SR_OK;
*data = g_variant_builder_end(&gvb);
break;
default:
- return SR_ERR_ARG;
+ return SR_ERR_NA;
}
return SR_OK;
int count, ret;
char *endianness;
+ if (sdi->status != SR_ST_ACTIVE)
+ return SR_ERR_DEV_CLOSED;
+
devc = sdi->priv;
devc->cb_data = cb_data;
devc->num_samples = 0;