[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] gr-audio-osx ToDo
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] gr-audio-osx ToDo |
Date: |
Tue, 4 Apr 2006 17:59:48 -0700 |
User-agent: |
Mutt/1.5.9i |
On Tue, Apr 04, 2006 at 08:47:51PM -0500, Michael Dickens wrote:
> I have 3 things to do on gr-audio-osx (enumerated below), but those can
> be "ToDo's" or whatever; I would really like to get this code available
> for others to try, as feedback on compiling and other issues would make
> it installation robust. The blocks seems to work just fine for
> everyone who's gotten them to compile ... they say that the FM audio on
> a good station is amazingly crisp!
>
> But compiling has been an issue since it -seems- like gnu's libtool
> somewhere between 1.5.10 and 1.5.20 has been updated to better handle
> Darwin stuff and thus there -seems- like a need for the later version
> (or even more recent, but I haven't tried 1.5.22 yet since 1.5.20 works
> for me). I can't be 100% sure that this was the issue. Here are the 3
> things to do:
>
> 1) Fix a bug in the way an omni_semaphore is being used (actually, make
> it an omni_mutex I think).
>
> 2) Fix the transfer buffer between the various threads; I wrote my own
> version which is thread-safe, but I think GR has one available - which
> would be better for me to use. It's just a simple circular ("ring")
> buffer with thread protection using omni_semaphore's and omni_mutex'es.
> Is GR's circular buffer thread-safe?
You can just use a gr_buffer and gr_buffer_reader. See the
gr-audio-portaudio code for an example. Since you've got a singler
reader and writer there are no mutex required for access control. We
use a semaphore to signal the reader/writer about space available.
> 3) Add in the code in "source" to "watch" for the user changing the
> input device in the OS, and handling this change so that there is at
> worst a quick blip during the switch over (but at least the program
> doesn't crash).
OK.
I guess the other thing to do is to see if gr-audio-portaudio "just works" ;)
Eric