OSDN Git Service

pcm: use CLOCK_REALTIME for non-monotonic ts
authorOlivier Langlois <olivier@trillion01.com>
Fri, 24 Jan 2014 00:03:00 +0000 (19:03 -0500)
committerTakashi Iwai <tiwai@suse.de>
Fri, 24 Jan 2014 12:54:15 +0000 (13:54 +0100)
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>
src/pcm/pcm_local.h

index e1c0baa..8a6c743 100644 (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
 }