+
+ if (packet->type == SR_DF_ANALOG_OLD) {
+ num_samples = analog_old->num_samples;
+ channels = analog_old->channels;
+ num_channels = g_slist_length(analog_old->channels);
+ data = analog_old->data;
+ } else {
+ num_samples = analog->num_samples;
+ channels = analog->meaning->channels;
+ num_channels = g_slist_length(analog->meaning->channels);
+ if (!(data = g_try_realloc(outc->fdata, sizeof(float) * num_samples * num_channels)))
+ return SR_ERR_MALLOC;
+ outc->fdata = data;
+ ret = sr_analog_to_float(analog, data);
+ if (ret != SR_OK)
+ return ret;
+ }
+
+ if (num_samples == 0)