diff --git a/0022-make-sure-to-use-64bit-rounding-even-on-32bit-machin.patch b/0022-make-sure-to-use-64bit-rounding-even-on-32bit-machin.patch new file mode 100644 index 0000000..5c7eebe --- /dev/null +++ b/0022-make-sure-to-use-64bit-rounding-even-on-32bit-machin.patch @@ -0,0 +1,43 @@ +From ac8af20d8fb42523c70fc364030ce4242d230076 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 24 Oct 2008 04:34:10 +0200 +Subject: [PATCH] make sure to use 64bit rounding even on 32bit machines when converting to pa_usec_t + +--- + src/pulsecore/time-smoother.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/pulsecore/time-smoother.c b/src/pulsecore/time-smoother.c +index 6a2ffaa..6562194 100644 +--- a/src/pulsecore/time-smoother.c ++++ b/src/pulsecore/time-smoother.c +@@ -313,7 +313,7 @@ static void estimate(pa_smoother *s, pa_usec_t x, pa_usec_t *y, double *deriv) { + /* Move back from origin */ + ty += (double) s->ey; + +- *y = ty >= 0 ? (pa_usec_t) lrint(ty) : 0; ++ *y = ty >= 0 ? (pa_usec_t) llrint(ty) : 0; + + /* Horner scheme */ + if (deriv) +@@ -360,7 +360,7 @@ void pa_smoother_put(pa_smoother *s, pa_usec_t x, pa_usec_t y) { + + /* And calculate when we want to be on track again */ + s->px = s->ex + s->adjust_time; +- s->py = s->ry + (pa_usec_t) lrint(s->dp * (double) s->adjust_time); ++ s->py = s->ry + (pa_usec_t) llrint(s->dp * (double) s->adjust_time); + + s->abc_valid = FALSE; + +@@ -456,7 +456,7 @@ pa_usec_t pa_smoother_translate(pa_smoother *s, pa_usec_t x, pa_usec_t y_delay) + + /* pa_log_debug("translate(%llu) = %llu (%0.2f)", (unsigned long long) y_delay, (unsigned long long) ((double) y_delay / nde), nde); */ + +- return (pa_usec_t) lrint((double) y_delay / nde); ++ return (pa_usec_t) llrint((double) y_delay / nde); + } + + void pa_smoother_reset(pa_smoother *s) { +-- +1.6.0.3 +