sr_packet_copy: Support SR_DF_ANALOG2.
This commit is contained in:
parent
7d65dd3a86
commit
dbdfa4fb50
|
@ -1248,6 +1248,8 @@ SR_PRIV int sr_packet_copy(const struct sr_datafeed_packet *packet,
|
||||||
struct sr_datafeed_logic *logic_copy;
|
struct sr_datafeed_logic *logic_copy;
|
||||||
const struct sr_datafeed_analog *analog;
|
const struct sr_datafeed_analog *analog;
|
||||||
struct sr_datafeed_analog *analog_copy;
|
struct sr_datafeed_analog *analog_copy;
|
||||||
|
const struct sr_datafeed_analog2 *analog2;
|
||||||
|
struct sr_datafeed_analog2 *analog2_copy;
|
||||||
uint8_t *payload;
|
uint8_t *payload;
|
||||||
|
|
||||||
*copy = g_malloc0(sizeof(struct sr_datafeed_packet));
|
*copy = g_malloc0(sizeof(struct sr_datafeed_packet));
|
||||||
|
@ -1290,6 +1292,24 @@ SR_PRIV int sr_packet_copy(const struct sr_datafeed_packet *packet,
|
||||||
analog->num_samples * sizeof(float));
|
analog->num_samples * sizeof(float));
|
||||||
(*copy)->payload = analog_copy;
|
(*copy)->payload = analog_copy;
|
||||||
break;
|
break;
|
||||||
|
case SR_DF_ANALOG2:
|
||||||
|
analog2 = packet->payload;
|
||||||
|
analog2_copy = g_malloc(sizeof(analog2));
|
||||||
|
analog2_copy->data = g_malloc(
|
||||||
|
analog2->encoding->unitsize * analog2->num_samples);
|
||||||
|
memcpy(analog2_copy->data, analog2->data,
|
||||||
|
analog2->encoding->unitsize * analog2->num_samples);
|
||||||
|
analog2_copy->num_samples = analog2->num_samples;
|
||||||
|
analog2_copy->encoding = g_memdup(analog2->encoding,
|
||||||
|
sizeof(struct sr_analog_encoding));
|
||||||
|
analog2_copy->meaning = g_memdup(analog2->meaning,
|
||||||
|
sizeof(struct sr_analog_meaning));
|
||||||
|
analog2_copy->meaning->channels = g_slist_copy(
|
||||||
|
analog2->meaning->channels);
|
||||||
|
analog2_copy->spec = g_memdup(analog2->spec,
|
||||||
|
sizeof(struct sr_analog_spec));
|
||||||
|
(*copy)->payload = analog2_copy;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
sr_err("Unknown packet type %d", packet->type);
|
sr_err("Unknown packet type %d", packet->type);
|
||||||
return SR_ERR;
|
return SR_ERR;
|
||||||
|
|
Loading…
Reference in New Issue