X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=gr-audio-portaudio%2Fsrc%2Faudio_portaudio_source.h;fp=gr-audio-portaudio%2Fsrc%2Faudio_portaudio_source.h;h=31e70a12779b257f2c72078c6d881cef9cbc119e;hb=8a9ddbb0675f9bfcc6e03b457fba6c79474a3693;hp=d14fe80587f17c68f0627b772084f421efe036fa;hpb=82d471b9b4a8b389b5da44b19c69c36420828382;p=debian%2Fgnuradio diff --git a/gr-audio-portaudio/src/audio_portaudio_source.h b/gr-audio-portaudio/src/audio_portaudio_source.h index d14fe805..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 ();