From 25123469d53e2ef555549984ea4e8b028c1632fb Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 10 Sep 2004 22:35:12 +0000 Subject: add support for module search path as command line argument protocol-native: move first data request into ack of stream creation improve mainloop API: return the number of dispatched sources on iterate() fix a resampling bug introduce network latency measurement WARNING: all these changes together may break some applications git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@189 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/util.c | 54 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 14 deletions(-) (limited to 'polyp/util.c') diff --git a/polyp/util.c b/polyp/util.c index 408e60e9..eeb1d192 100644 --- a/polyp/util.c +++ b/polyp/util.c @@ -221,26 +221,52 @@ char *pa_get_host_name(char *s, size_t l) { return s; } -uint32_t pa_age(struct timeval *tv) { - struct timeval now; - uint32_t r; - assert(tv); +pa_usec_t pa_timeval_diff(const struct timeval *a, const struct timeval *b) { + pa_usec_t r; + assert(a && b); + + if (pa_timeval_cmp(a, b) < 0) { + const struct timeval *c; + c = a; + a = b; + b = c; + } - if (tv->tv_sec == 0) - return 0; + r = (a->tv_sec - b->tv_sec)* 1000000; - gettimeofday(&now, NULL); - - r = (now.tv_sec-tv->tv_sec) * 1000000; - - if (now.tv_usec >= tv->tv_usec) - r += now.tv_usec - tv->tv_usec; - else - r -= tv->tv_usec - now.tv_usec; + if (a->tv_usec > b->tv_usec) + r += (a->tv_usec - b->tv_usec); + else if (a->tv_usec < b->tv_usec) + r -= (b->tv_usec - a->tv_usec); return r; } +int pa_timeval_cmp(const struct timeval *a, const struct timeval *b) { + assert(a && b); + + if (a->tv_sec < b->tv_sec) + return -1; + + if (a->tv_sec > b->tv_sec) + return 1; + + if (a->tv_usec < b->tv_usec) + return -1; + + if (a->tv_usec > b->tv_usec) + return 1; + + return 0; +} + +pa_usec_t pa_age(const struct timeval *tv) { + struct timeval now; + assert(tv); + gettimeofday(&now, NULL); + return pa_timeval_diff(&now, tv); +} + #define NICE_LEVEL (-15) void pa_raise_priority(void) { -- cgit