commit-gnuradio
[Top][All Lists]
Advanced

[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  
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]