From ca9caa8547d5600e75f44de72730f652c7ed4b64 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Fri, 17 Aug 2018 11:28:06 +0200 Subject: [PATCH] hook: fix format handling fo scale hook --- lib/hooks/scale.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/hooks/scale.c b/lib/hooks/scale.c index c17dbd4c3..5226e35f4 100644 --- a/lib/hooks/scale.c +++ b/lib/hooks/scale.c @@ -69,13 +69,24 @@ static int scale_process(struct hook *h, struct sample *smps[], unsigned *cnt) for (int i = 0; i < *cnt; i++) { for (int k = 0; k < smps[i]->length; k++) { - switch (sample_get_data_format(smps[i], k)) { - case SAMPLE_DATA_FORMAT_INT: + switch (sample_format(smps[i], k)) { + case SIGNAL_FORMAT_INTEGER: smps[i]->data[k].i = smps[i]->data[k].i * p->scale + p->offset; break; - case SAMPLE_DATA_FORMAT_FLOAT: + + case SIGNAL_FORMAT_FLOAT: smps[i]->data[k].f = smps[i]->data[k].f * p->scale + p->offset; break; + + case SIGNAL_FORMAT_COMPLEX: + smps[i]->data[k].z = smps[i]->data[k].z * p->scale + p->offset; + break; + + case SIGNAL_FORMAT_BOOLEAN: + smps[i]->data[k].b = smps[i]->data[k].b * p->scale + p->offset; + break; + + default: { } } } }