[alsa-devel] [PATCH] alsa-libs: 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 --- src/pcm/pcm_local.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h index e1c0baa..8a6c743 100644 --- a/src/pcm/pcm_local.h +++ b/src/pcm/pcm_local.h @@ -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 }
At Thu, 23 Jan 2014 19:03:00 -0500, Olivier Langlois wrote:
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
Thanks, applied.
Takashi
src/pcm/pcm_local.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h index e1c0baa..8a6c743 100644 --- a/src/pcm/pcm_local.h +++ b/src/pcm/pcm_local.h @@ -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 } -- 1.8.5.3
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
participants (2)
-
Olivier Langlois
-
Takashi Iwai