timespecsub(&time_end, &time_start, &elapsed);
dbg("Elapsed s: %ld ns: %ld", elapsed.tv_sec, elapsed.tv_nsec);
if (elapsed.tv_sec == 0 && elapsed.tv_nsec < NSEC_PER_SEC / FPS) {
+ /* remaining delay, _relative_ to time_end */
remaining.tv_nsec = (NSEC_PER_SEC / FPS) - elapsed.tv_nsec;
dbg("Sleeping for: ns: %ld", remaining.tv_nsec);
- clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &remaining, NULL);
+ clock_nanosleep(CLOCK_MONOTONIC, 0, &remaining, NULL);
}
}