[alsa-devel] dsp after dmix

Michael Trimarchi michael at amarulasolutions.com
Mon Oct 14 14:44:48 CEST 2013


Hi

On Mon, Oct 14, 2013 at 2:33 PM, Michael Trimarchi
<michael at amarulasolutions.com> wrote:
> Hi
>
> On Mon, Oct 14, 2013 at 2:27 PM, Takashi Iwai <tiwai at suse.de> wrote:
>> 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.
>>
>
> Yes I know about shared area mapping. Can you explain a bit more
> the loopback device approch?
>

dmix->aloop->dsp_plugin->hw

Is it possible to describe in alsarc?

Michael


> Michael
>
>>
>> Takashi


More information about the Alsa-devel mailing list