diff --git a/spa/plugins/support/loop.c b/spa/plugins/support/loop.c index aae27b732..11ac7235d 100644 --- a/spa/plugins/support/loop.c +++ b/spa/plugins/support/loop.c @@ -884,8 +884,9 @@ loop_update_timer(void *object, struct spa_source *source, if (SPA_LIKELY(value)) { its.it_value = *value; } else if (interval) { + // timer initially fires after one interval its.it_value = *interval; - absolute = true; + absolute = false; } if (SPA_UNLIKELY(interval)) its.it_interval = *interval;