X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=hardware%2Fdemo%2Fdemo.c;h=8a4bc9a0593c7b15ae5cfdfb44e3c2306716104b;hb=4afdfd4628e9955af02a3ea619ecdfe469f9a9e2;hp=248ee11eabb53756dd3c697ff221f080448b7ce7;hpb=961009b0c4002717c669a0cdcafb0fcf29f5ea1b;p=libsigrok.git diff --git a/hardware/demo/demo.c b/hardware/demo/demo.c index 248ee11e..8a4bc9a0 100644 --- a/hardware/demo/demo.c +++ b/hardware/demo/demo.c @@ -387,14 +387,10 @@ static int receive_data(int fd, int revents, void *cb_data) static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) { - struct sr_datafeed_packet *packet; - struct sr_datafeed_header *header; struct dev_context *devc; (void)sdi; - sr_dbg("Starting acquisition."); - /* TODO: 'devc' is never g_free()'d? */ if (!(devc = g_try_malloc(sizeof(struct dev_context)))) { sr_err("%s: devc malloc failed", __func__); @@ -434,28 +430,12 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, sr_session_source_add_channel(devc->channels[0], G_IO_IN | G_IO_ERR, 40, receive_data, devc); - if (!(packet = g_try_malloc(sizeof(struct sr_datafeed_packet)))) { - sr_err("%s: packet malloc failed", __func__); - return SR_ERR_MALLOC; - } - - if (!(header = g_try_malloc(sizeof(struct sr_datafeed_header)))) { - sr_err("%s: header malloc failed", __func__); - return SR_ERR_MALLOC; - } - - packet->type = SR_DF_HEADER; - packet->payload = header; - header->feed_version = 1; - gettimeofday(&header->starttime, NULL); - sr_session_send(devc->session_dev_id, packet); + /* Send header packet to the session bus. */ + std_session_send_df_header(cb_data, DRIVER_LOG_DOMAIN); /* We use this timestamp to decide how many more samples to send. */ devc->starttime = g_get_monotonic_time(); - g_free(header); - g_free(packet); - return SR_OK; }