]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/rtclock.c
add pa_rtclock_usec() API
[pulseaudio] / src / pulsecore / rtclock.c
index 0d983f831aa1a558fc89c9089ad9ca6176060347..cec7124f0dc1df2a12795426d840f649fd90ad79 100644 (file)
@@ -53,12 +53,12 @@ struct timeval *pa_rtclock_get(struct timeval *tv) {
 #ifdef CLOCK_MONOTONIC
         if (clock_gettime(CLOCK_MONOTONIC, &ts) >= 0)
             goto out;
-#endif        
+#endif
 
         no_monotonic = 1;
     }
 
-    pa_assert_se(clock_gettime(CLOCK_REALTIME, ts) == 0);
+    pa_assert_se(clock_gettime(CLOCK_REALTIME, &ts) == 0);
 
 out:
     pa_assert(tv);
@@ -75,22 +75,27 @@ out:
 #endif
 }
 
-int pa_rtclock_hrtimer(void) {
+pa_bool_t pa_rtclock_hrtimer(void) {
 #ifdef HAVE_CLOCK_GETTIME
     struct timespec ts;
-    
+
 #ifdef CLOCK_MONOTONIC
     if (clock_getres(CLOCK_MONOTONIC, &ts) >= 0)
         return ts.tv_sec == 0 && ts.tv_nsec <= PA_HRTIMER_THRESHOLD_USEC*1000;
-#endif        
+#endif
 
     pa_assert_se(clock_getres(CLOCK_REALTIME, &ts) == 0);
     return ts.tv_sec == 0 && ts.tv_nsec <= PA_HRTIMER_THRESHOLD_USEC*1000;
 
 #else /* HAVE_CLOCK_GETTIME */
 
-    return 0;
+    return FALSE;
 
 #endif
 }
 
+pa_usec_t pa_rtclock_usec(void) {
+    struct timeval tv;
+
+    return pa_timeval_load(pa_rtclock_get(&tv));
+}