summaryrefslogtreecommitdiffstats
path: root/libaf/af_scaletempo.c
diff options
context:
space:
mode:
Diffstat (limited to 'libaf/af_scaletempo.c')
-rw-r--r--libaf/af_scaletempo.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libaf/af_scaletempo.c b/libaf/af_scaletempo.c
index 4cdde2d5c0..3ed14aec68 100644
--- a/libaf/af_scaletempo.c
+++ b/libaf/af_scaletempo.c
@@ -261,6 +261,11 @@ static af_data_t* play(struct af_instance_s* af, af_data_t* data)
offset_in += fill_queue(af, data, offset_in);
}
+ // This filter can have a negative delay when scale > 1:
+ // output corresponding to some length of input can be decided and written
+ // after receiving only a part of that input.
+ af->delay = s->bytes_queued - s->bytes_to_slide;
+
data->audio = af->data->audio;
data->len = pout - (int8_t *)af->data->audio;
return data;