[pulseaudio-discuss] PulseAudio for Embedded System

keith preston keithpre at gmail.com
Mon May 14 07:47:55 PDT 2007


Have you been working on a fixed point resampling/mixing patch already?

I've actually been working on pulseaudio a lot lately.   Although nothing is
quite ready for patches yet, here a sample of what I've been working on:

libspeex resampling patch.   I have this working in certain cases.  Most
notably the embedded case, which is S16_LE audio in 1 or 2 channels.   I
haven't really followed up with the libspeex guys, but I was going to wait
for the resampling code API to stabilize in libspeex and be released, before
I added a patch with a dependency to it.

software volume/mixing (sample-utils.c)   I've been looking and thinking
about how to rewrite this for efficiency.  I found on my embedded device CPU
Utilization for from 5% to 100% whenever I have two streams with software
volumes.   As a temporary measure for myself, my embedded platform has some
proprietary audio mixing code I am using, but this code should be cleaned up
a bit.

Audio Class Policy,  this is really the big one and I'm sure you'll be
interested in with the gsmartmix stuff.   I've added the concept of audio
class to all the internal streams in pulseaudio and have a module that
arbitrates between streams actively preempting streams, changing volume and
such.   It is working pretty well right now.   I can have my music turn down
when sound events happen that need my attention, I can block all audio when
a VOIP call comes in, etc...

Keith Preston
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20070514/8b765d20/attachment.htm>

More information about the pulseaudio-discuss mailing list