X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=input%2Fvcd.c;h=a9963f7e7682dc136575f785f9471f2e439b7d61;hb=cd2f0fe22c35dcf3b010411ff6f123701be2a2d6;hp=138aa3c1526bbebee085de5d4289f8bcda865b3d;hpb=6b7ace4832b3b574399098de2ad4f4bd0f35a14e;p=libsigrok.git diff --git a/input/vcd.c b/input/vcd.c index 138aa3c1..a9963f7e 100644 --- a/input/vcd.c +++ b/input/vcd.c @@ -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 */