- packet->type = SR_DF_HEADER;
- packet->payload = header;
- header->feed_version = 1;
- gettimeofday(&header->starttime, NULL);
- header->samplerate = ctx->cur_samplerate;
- header->num_logic_probes = ctx->profile->num_probes;
- sr_session_send(cb_data, packet);
- g_free(header);
- g_free(packet);
+ packet.type = SR_DF_HEADER;
+ packet.payload = &header;
+ header.feed_version = 1;
+ gettimeofday(&header.starttime, NULL);
+ sr_session_send(cb_data, &packet);
+
+ /* Send metadata about the SR_DF_LOGIC packets to come. */
+ packet.type = SR_DF_META_LOGIC;
+ packet.payload = &meta;
+ meta.samplerate = ctx->cur_samplerate;
+ meta.num_probes = ctx->sample_wide ? 16 : 8;
+ sr_session_send(cb_data, &packet);