Thanks to tons of grunt work by Eric, we have used the highly tuned
ring buffers in the audio_portaudio_sink code and it functions nicely
with a little bit of operator help. I can now get solid performance
on all Linux hosts with the example code
mono_tone_portaudio.py and multi_tone_portaudio.py.
All worked on oss, alsa, and jack.
Eric got similar performance.
Thomas Schmid ran mono_tone_portaudio.py successfully on his mac with
coreaudio automatically identified as the host. We had to modify the
buffer size calculation (by forcing it). This will improve over the
next few days as the audio_portaudio_source gets built and these very
large portaudio messages which are delivered in device and stream info
structs are parsed more carefully.
It is not clear to me that we want to prefer portaudio talking to jack
over directly talking to jack. This might change if we (Stephane, me,
others) improve the portaudio jack handler. For now, my thinking is
we are probably better off and we will be more versatile talking
directly to jack without portaudio but we can do this kind of thinking
after we get this portaudio stuff fully stabilized.
I am hoping the Windows folks can bring their code up now as well.
Portaudio is really solid on Windows as I have been using it there for
ASIO, MME, and DirectX for two years and after I helped Eric Wachsman
get a leg up (by leaning on my friends for help) he got WDM-KS running.
WDM-KS is the single lowest latency sound host I have seen in ANY
personal computer but let me say that I have never used a Mac. If
anyone working on the windows code needs a dll, export library,
Microsoft .NET 2003 project for v-19 devel, please let me know. We
should be able to build the dll under mingw but I have not tried yet.
That said, all of this portaudio stuff about latency this and that make
very little sense for what we are doing. What we need is not
necessarily very low latency but rock solid performance using buffer
sizes that make sense for our applications.
Expect more soon,
Bob
--
AMSAT VP Engineering. Member: ARRL, AMSAT-DL, TAPR, Packrats,
NJQRP/AMQRP, QRP ARCI, QCWA, FRC. ARRL SDR Wrk Grp Chairman
Laziness is the number one inspiration for ingenuity. Guilty as charged!
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio