[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r4032 - gnuradio/trunk/gnuradio-core/src/lib/general
From: |
jcorgan |
Subject: |
[Commit-gnuradio] r4032 - gnuradio/trunk/gnuradio-core/src/lib/general |
Date: |
Sun, 26 Nov 2006 21:53:35 -0700 (MST) |
Author: jcorgan
Date: 2006-11-26 21:53:34 -0700 (Sun, 26 Nov 2006)
New Revision: 4032
Modified:
gnuradio/trunk/gnuradio-core/src/lib/general/gr_throttle.cc
Log:
Fixes ticket:103 (patch applied)
Modified: gnuradio/trunk/gnuradio-core/src/lib/general/gr_throttle.cc
===================================================================
--- gnuradio/trunk/gnuradio-core/src/lib/general/gr_throttle.cc 2006-11-27
04:30:26 UTC (rev 4031)
+++ gnuradio/trunk/gnuradio-core/src/lib/general/gr_throttle.cc 2006-11-27
04:53:34 UTC (rev 4032)
@@ -32,6 +32,9 @@
#ifdef HAVE_TIME_H
#include <time.h>
#endif
+#if !defined(HAVE_NANOSLEEP) && defined(HAVE_SSLEEP)
+#include <windows.h>
+#endif
#ifdef HAVE_NANOSLEEP
@@ -80,7 +83,7 @@
const char *in = (const char *) input_items[0];
char *out = (char *) output_items[0];
-#if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_NANOSLEEP)
+#if defined(HAVE_GETTIMEOFDAY)
//
// If our average sample rate exceeds our target sample rate,
// delay long enough to reduce to our target rate.
@@ -96,10 +99,14 @@
double actual_samples_per_sec = d_total_samples / t;
if (actual_samples_per_sec > d_samples_per_sec){ // need to delay
double delay = d_total_samples / d_samples_per_sec - t;
+#ifdef HAVE_NANOSLEEP
struct timespec ts;
ts.tv_sec = (time_t)floor(delay);
ts.tv_nsec = (long)((delay - floor(delay)) * 1e9);
gr_nanosleep(&ts);
+#elif HAVE_SSLEEP
+ Sleep( (DWORD)(delay*1000) );
+#endif
}
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r4032 - gnuradio/trunk/gnuradio-core/src/lib/general,
jcorgan <=