[alsa-devel] External plugin question
I'm new to alsa dev and I'm trying to write a very simple external pcm plugin. I want my pcm plugin to output sound to multiple slave pcms when sound is being writei'd to it. So:
snd_pcm_myplugin_writei(pcm, buffer, size) { foreach slave pcm { snd_pcm_writei(slave_pcm, buffer, size); } }
I'm having trouble implementing this plugin because the external plugin sdk does not allow me to define the writei function for my plugin, but lets me define the transfer function which has a very different signature than writei:
transfer(snd_pcm_ioplug_t http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b *io, const snd_pcm_channel_area_t http://www.alsa-project.org/alsa-doc/alsa-lib/structsnd__pcm__channel__area__t.html *areas, snd_pcm_uframes_t http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a offset, snd_pcm_uframes_t http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a size)
how do I extract buffer and size from these arguments? Any tips on how I write my plugin.
(I'm aware of the multi plugin but I don't wont to use that. I want to write my own and introduce custom logic later.)
Mina
participants (1)
-
Mina Almasry