pcm: use CLOCK_REALTIME for non-monotonic ts

gettimeofday() is the same than clock_gettime(CLOCK_REALTIME)
except for the loss of precision and the double unnecessary
conversion timespec <-> timeval.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Olivier Langlois 2014-01-23 19:03:00 -05:00 committed by Takashi Iwai
parent 507cdc1318
commit 66f07aa3b7

View file

@ -961,17 +961,21 @@ typedef union snd_tmp_double {
/* get the current timestamp */
static inline void gettimestamp(snd_htimestamp_t *tstamp, int monotonic)
{
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
#if defined(HAVE_CLOCK_GETTIME)
#if defined(CLOCK_MONOTONIC)
if (monotonic) {
clock_gettime(CLOCK_MONOTONIC, tstamp);
} else {
#endif
clock_gettime(CLOCK_REALTIME, tstamp);
#else
struct timeval tv;
gettimeofday(&tv, 0);
tstamp->tv_sec = tv.tv_sec;
tstamp->tv_nsec = tv.tv_usec * 1000L;
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
#endif
#if defined(HAVE_CLOCK_GETTIME)
}
#endif
}