X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=gr-audio-portaudio%2Fsrc%2Faudio_portaudio_source.h;h=31e70a12779b257f2c72078c6d881cef9cbc119e;hb=a178f23be75489c1507060a8b0e9e59cd358dfba;hp=3102db739c8a41a497d583ed718ef988480c137a;hpb=665d7a850eeb46bfc6388a98e4a4107648cb6add;p=debian%2Fgnuradio diff --git a/gr-audio-portaudio/src/audio_portaudio_source.h b/gr-audio-portaudio/src/audio_portaudio_source.h index 3102db73..31e70a12 100644 --- a/gr-audio-portaudio/src/audio_portaudio_source.h +++ b/gr-audio-portaudio/src/audio_portaudio_source.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2006 Free Software Foundation, Inc. + * Copyright 2006.2010 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -24,11 +24,10 @@ #include #include -#include +#include #include #include #include -//#include class audio_portaudio_source; typedef boost::shared_ptr audio_portaudio_source_sptr; @@ -74,11 +73,13 @@ class audio_portaudio_source : 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_noverruns; // count of overruns - //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); @@ -87,7 +88,7 @@ class audio_portaudio_source : public gr_sync_block { protected: audio_portaudio_source (int sampling_rate, const std::string device_name, - bool ok_to_block); + bool ok_to_block); public: ~audio_portaudio_source ();