properly deal with time pausing

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1977 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2007-10-29 16:38:57 +00:00
parent a46804a8e2
commit 6e1f7bd144

View file

@ -310,8 +310,9 @@ void pa_smoother_put(pa_smoother *s, pa_usec_t x, pa_usec_t y) {
/* Fix up x value */ /* Fix up x value */
if (s->paused) if (s->paused)
x = s->pause_time; x = s->pause_time;
else
x -= s->time_offset; pa_assert(x >= s->time_offset);
x -= s->time_offset;
pa_assert(x >= s->ex); 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 */ /* Fix up x value */
if (s->paused) if (s->paused)
x = s->pause_time; x = s->pause_time;
else
x -= s->time_offset; pa_assert(x >= s->time_offset);
x -= s->time_offset;
pa_assert(x >= s->ex); pa_assert(x >= s->ex);
@ -373,6 +375,8 @@ void pa_smoother_resume(pa_smoother *s, pa_usec_t x) {
if (!s->paused) if (!s->paused)
return; return;
pa_assert(x >= s->pause_time);
s->paused = FALSE; s->paused = FALSE;
s->time_offset += x - s->pause_time; s->time_offset += x - s->pause_time;
} }