'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/]

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

Reply via email to