niom
niom

Reputation: 41

ALSA PCM Playback device in Userspace

I'm having a hard time figuring out how to make a Linux PCM playback device which entirely works in user space. When the application calls snd_pcm_open/snd_pcm_readi/writei, I want does calls to end up in a user space driver and the pcm data to be handled in a thread created when the user space driver was initialized. The audio process thread will then call an actual ALSA kernel driver which will output pcm to HW. This is basically what I want to achive:

Application -> ALSA (pcmC1D0p) -> Audio process thread (user space) -> ALSA (pcmC0D0p) -> HW

I have looked a little bit at plugins but not sure it that is the correct way to do it? Also not sure how to actually start my plugin? I have compiled a .so file not not sure where to place it or how/what calls it?

Any pointers would be greatly appreciated.

Upvotes: 4

Views: 1534

Answers (1)

CL.
CL.

Reputation: 180020

Something like this can be done with the external filter plugin SDK, which is basically undocumented.

Upvotes: 0

Related Questions