[pulseaudio-discuss] Supporting hardware resampling

Wade Brown pulseaudio at popeax.net
Mon Nov 29 15:45:35 PST 2010


For background, I'm working on an embedded ARM Linux system similar to
the TI OMAP4 processor, and had a few questions on getting a decent
Pulse Audio implementation working.  The vendor has supplied an ALSA
driver which has been good enough to get pretty much everything
working, but I'd like to take advantage of some more of the hardware
for performance and power reasons.

Specifically, there is a dedicated DSP on board that can resample,
multiplex and output audio.  The ALSA driver actually uses this DSP,
but Pulse Audio is stuck resampling and muxing in user land before
passing data to the ALSA driver.  I've been browsing around source and
documentation, and while it seems straightforward enough to create a
sink module that will dump PCM samples to the DSP, it does not seem
that this would be sufficient as incoming samples to that sink would
be resampled to match its parameters.

Is there some way to make a more generic sink that can take multiple
sample rates and pass data through?  Is this something that may
require a card and sink combination instead of just a sink?  Or maybe
I should just ask is this possible without major changes in Pulse
Audio's architecture?

Thanks in advance for any suggestions or help.

More information about the pulseaudio-discuss mailing list