Merge branch 'v0.17.x'

This commit is contained in:
Max Kellermann
2013-02-27 20:00:14 +01:00
5 changed files with 22 additions and 16 deletions

View File

@@ -25,6 +25,9 @@
#include <mach/mach_time.h>
#else
#include <time.h>
#ifndef CLOCK_MONOTONIC
#include <sys/time.h>
#endif
#endif
unsigned
@@ -89,7 +92,7 @@ monotonic_clock_us(void)
/* we have no monotonic clock, fall back to gettimeofday() */
struct timeval tv;
gettimeofday(&tv, 0);
return (uint64_t)tv.tv_sec * 1000 + (uint64_t)(tv.tv_usec) / 1000(;
return (uint64_t)tv.tv_sec * 1000 + (uint64_t)tv.tv_usec;
#endif
}

View File

@@ -31,9 +31,9 @@
struct timer *timer_new(const struct audio_format *af)
{
struct timer *timer = g_new(struct timer, 1);
timer->time = 0;
timer->started = 0;
timer->rate = af->sample_rate * audio_format_frame_size(af);
timer->time = 0; // us
timer->started = 0; // false
timer->rate = af->sample_rate * audio_format_frame_size(af); // samples per second
return timer;
}
@@ -59,6 +59,8 @@ void timer_add(struct timer *timer, int size)
{
assert(timer->started);
// (size samples) / (rate samples per second) = duration seconds
// duration seconds * 1000000 = duration us
timer->time += ((uint64_t)size * 1000000) / timer->rate;
}