[alsa-devel] dsp after dmix

Takashi Iwai tiwai at suse.de
Mon Oct 14 14:27:37 CEST 2013

At Mon, 14 Oct 2013 14:18:27 +0200,
Michael Trimarchi wrote:
> Hi
> On Mon, Oct 14, 2013 at 2:15 PM, Clemens Ladisch <clemens at ladisch.de> wrote:
> > Michael Trimarchi wrote:
> >> On Mon, Oct 14, 2013 at 9:08 AM, Clemens Ladisch <clemens at ladisch.de> wrote:
> >>> Michael Trimarchi wrote:
> >>>> My problem is to apply filtering after dmix plugin.
> >>>
> >>> The dmix plugin works only on top of a "hw" device.
> >>
> >> Yes I have seen the code. Is there anyway to work with dps without passing
> >> thought pulseaudio?
> >
> > You would have to write an ALSA kernel driver for the DSP device.
> >
> This is not a good approach of the general problem because a lot of
> dsp has userspace
> support and firmware and initialization is done by userspace library.
> Can I change
> the writei and readi of the dmix plugin and let use my dsp function?

It's not trivial approach, either.  The key of dmix is the mmaped
buffer shared among multiple clients, and the shared buffer may be
altered at any time by any client.  This makes the post processing
pretty difficult.

If the post-processing can be applied in real time, one alternative
approach would be to go through loopback device.  But it's also tricky
and involves many round trips.


More information about the Alsa-devel mailing list