From 6e1f7bd144d2f5ce8cb5f30772b2ad31652ab213 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 29 Oct 2007 16:38:57 +0000 Subject: properly deal with time pausing git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1977 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/pulsecore/time-smoother.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/pulsecore/time-smoother.c b/src/pulsecore/time-smoother.c index 6bda3df06..4cebded4d 100644 --- a/src/pulsecore/time-smoother.c +++ b/src/pulsecore/time-smoother.c @@ -310,8 +310,9 @@ void pa_smoother_put(pa_smoother *s, pa_usec_t x, pa_usec_t y) { /* Fix up x value */ if (s->paused) x = s->pause_time; - else - x -= s->time_offset; + + pa_assert(x >= s->time_offset); + x -= s->time_offset; pa_assert(x >= s->ex); @@ -342,8 +343,9 @@ pa_usec_t pa_smoother_get(pa_smoother *s, pa_usec_t x) { /* Fix up x value */ if (s->paused) x = s->pause_time; - else - x -= s->time_offset; + + pa_assert(x >= s->time_offset); + x -= s->time_offset; pa_assert(x >= s->ex); @@ -373,6 +375,8 @@ void pa_smoother_resume(pa_smoother *s, pa_usec_t x) { if (!s->paused) return; + pa_assert(x >= s->pause_time); + s->paused = FALSE; s->time_offset += x - s->pause_time; } -- cgit v1.2.1