summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bat/signal.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/bat/signal.c b/bat/signal.c
index a47ba97..61d2824 100644
--- a/bat/signal.c
+++ b/bat/signal.c
@@ -168,16 +168,17 @@ int generate_sine_wave(struct bat *bat, int frames, void *buf)
/* reorder samples to interleaved mode */
err = reorder(bat, sinus_f, frames);
if (err != 0)
- return err;
+ goto exit;
/* adjust amplitude and offset of waveform */
err = adjust_waveform(bat, sinus_f, frames);
if (err != 0)
- return err;
+ goto exit;
bat->convert_float_to_sample(sinus_f, buf, frames, bat->channels);
+exit:
free(sinus_f);
- return 0;
+ return err;
}