[pulseaudio-discuss] Configuring PulseAudio to use ALSA PCM plugin
Colin Guthrie
gmane at colin.guthr.ie
Sat Mar 5 03:13:31 PST 2011
'Twas brillig, and Ben C at 04/03/11 19:44 did gyre and gimble:
> Thank you for your help Colin,
>
> The reason I'm doing this is I'm researching audio processing effects. So I need
> to intercept the PCM audio stream somewhere along the chain. Currently what we
> have already coded is an ALSA PCM plugin framework, so we would like to use that
> to intercept the PCM audio stream to apply effects as opposed to starting over
> and writing something new.
>
> The parameter we have to adhere to is that the original sound source could come
> from ALSA or PA. We need to satisfy both. So currently we have the generic setup
> where ALSA is defaulted to use the pulse plugin and redirecting everything to
> PA. Then PA would use the ALSA sink "my_sink", and goes back to ALSA, where we
> could insert our PCM plugin. And it turned out due to the hogging of my_sink,
> we'd need to add dmix after.
>
> And I understand PA has additional benefits over dmix, so if there's a better
> way to configure this that's more natural to PA, please let me know.
OK, so this seems reasonably sensible. I guess my next question is "why
is it a problem that "my_sink" is hogged?
You stated that two different sources are supported: from alsa, and from
PA. Assuming PA is hogging my_sink, when apps play via pulse protocol
directly and uses my_sink, so all is well. When apps play via alsa, they
use the "default" device which maps through to PA via the alsa->pulse
plugin, which then uses my_sink, so all is well too.
So I don't really see where the "hogging" problem comes in to practical
effect?
Just in case a random, left-field suggestion would be appreciated, a
totally different approach is of course to write the filtering stuff
you're doing as either a ladspa plugin and use module-ladspa-sink or
even write it directly in PA based of module-virtual-sink.c code.
Food for thought maybe :)
Col
--
Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/
Day Job:
Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
Mageia Contributor [http://www.mageia.org/]
PulseAudio Hacker [http://www.pulseaudio.org/]
Trac Hacker [http://trac.edgewall.org/]
More information about the pulseaudio-discuss
mailing list