]> sigrok.org Git - libsigrok.git/blobdiff - input/vcd.c
Add and use std_session_send_df_header().
[libsigrok.git] / input / vcd.c
index 138aa3c1526bbebee085de5d4289f8bcda865b3d..a9963f7e7682dc136575f785f9471f2e439b7d61 100644 (file)
@@ -543,11 +543,12 @@ static void parse_contents(FILE *file, const struct sr_dev_inst *sdi, struct con
 
 static int loadfile(struct sr_input *in, const char *filename)
 {
-       struct sr_datafeed_header header;
        struct sr_datafeed_packet packet;
-       struct sr_datafeed_meta_logic meta;
+       struct sr_datafeed_meta meta;
+       struct sr_config *src;
        FILE *file;
        struct context *ctx;
+       uint64_t samplerate;
 
        ctx = in->internal;
 
@@ -562,17 +563,14 @@ static int loadfile(struct sr_input *in, const char *filename)
        }
 
        /* Send header packet to the session bus. */
-       header.feed_version = 1;
-       gettimeofday(&header.starttime, NULL);
-       packet.type = SR_DF_HEADER;
-       packet.payload = &header;
-       sr_session_send(in->sdi, &packet);
+       std_session_send_df_header(in->sdi, DRIVER_LOG_DOMAIN);
 
        /* Send metadata about the SR_DF_LOGIC packets to come. */
-       packet.type = SR_DF_META_LOGIC;
+       packet.type = SR_DF_META;
        packet.payload = &meta;
-       meta.samplerate = ctx->samplerate / ctx->downsample;
-       meta.num_probes = ctx->probecount;
+       samplerate = ctx->samplerate / ctx->downsample;
+       src = sr_config_make(SR_CONF_SAMPLERATE, (const void *)&samplerate);
+       meta.config = g_slist_append(NULL, src);
        sr_session_send(in->sdi, &packet);
 
        /* Parse the contents of the VCD file */