ts->tv_nsec = tv.tv_usec*1000; | ts->tv_nsec = tv.tv_usec*1000; | ||||
} | } | ||||
void add_time_in_ms(struct timespec *ts, int time_in_ms) | |||||
void add_time_in_ms(struct timespec *ts, uint64_t time_in_ms) | |||||
{ | { | ||||
if (!ts) | if (!ts) | ||||
return; | return; | ||||
uint64_t t_ns = (uint64_t)ts->tv_nsec + 1000000 * (uint64_t)time_in_ms; | |||||
uint64_t t_ns = (uint64_t)ts->tv_nsec + 1000000 * time_in_ms; | |||||
while (t_ns >= ONE_BILLION) { | while (t_ns >= ONE_BILLION) { | ||||
ts->tv_sec += 1; | ts->tv_sec += 1; | ||||
t_ns -= ONE_BILLION; | t_ns -= ONE_BILLION; |
// general functions | // general functions | ||||
extern void clock_gettime2(struct timespec *ts); | extern void clock_gettime2(struct timespec *ts); | ||||
extern void add_time_in_ms(struct timespec *ts, int time_in_ms); | |||||
extern void add_time_in_ms(struct timespec *ts, uint64_t time_in_ms); | |||||
// for tests | // for tests | ||||
extern void *wave_test_get_write_buffer(); | extern void *wave_test_get_write_buffer(); |