- return offset;
-}
-
-static int initial_receive(struct sr_input *in)
-{
- struct sr_datafeed_packet packet;
- struct sr_datafeed_meta meta;
- struct sr_channel *ch;
- struct sr_config *src;
- struct context *inc;
- int ret, i;
- char channelname[8];
-
- if (!in->buf)
- /* Shouldn't happen. */
- return SR_ERR;
-
- inc = in->priv = g_malloc(sizeof(struct context));
- if ((ret = parse_wav_header(in->buf, inc)) != SR_OK)
- return ret;
-
- for (i = 0; i < inc->num_channels; i++) {
- snprintf(channelname, 8, "CH%d", i + 1);
- ch = sr_channel_new(i, SR_CHANNEL_ANALOG, TRUE, channelname);
- in->sdi->channels = g_slist_append(in->sdi->channels, ch);
- }
-
- std_session_send_df_header(in->sdi, LOG_PREFIX);
-
- packet.type = SR_DF_META;
- packet.payload = &meta;
- src = sr_config_new(SR_CONF_SAMPLERATE, g_variant_new_uint64(inc->samplerate));
- meta.config = g_slist_append(NULL, src);
- sr_session_send(in->sdi, &packet);
- sr_config_free(src);