Merge commit 'v3.3.0' into upstream
[debian/gnuradio] / gr-audio-portaudio / src / audio_portaudio_sink.h
index 0e082c5e29932930e4413bd13b765d2f10cc757a..71cbfcf9f011d0c72dbcb67ddf13b0abaad4ca78 100644 (file)
 
 #include <gr_sync_block.h>
 #include <gr_buffer.h>
-#include <gnuradio/omnithread.h>
+#include <gruel/thread.h>
 #include <string>
 #include <portaudio.h>
 #include <stdexcept>
-#include <gri_logger.h>
+//#include <gri_logger.h>
 
 class audio_portaudio_sink;
 typedef boost::shared_ptr<audio_portaudio_sink> audio_portaudio_sink_sptr;
@@ -74,12 +74,14 @@ class audio_portaudio_sink : public gr_sync_block {
 
   gr_buffer_sptr       d_writer;               // buffer used between work and callback
   gr_buffer_reader_sptr        d_reader;
-  omni_semaphore       d_ringbuffer_ready;     // binary semaphore
 
+  gruel::mutex          d_ringbuffer_mutex;
+  gruel::condition_variable d_ringbuffer_cond;
+  bool                  d_ringbuffer_ready;
 
   // random stats
   int                  d_nunderuns;            // count of underruns
-  gri_logger_sptr      d_log;                  // handle to non-blocking logging instance
+  //gri_logger_sptr    d_log;                  // handle to non-blocking logging instance
 
   void output_error_msg (const char *msg, int err);
   void bail (const char *msg, int err) throw (std::runtime_error);