Hi,
In Writing an ALSA driver, it is written that pointer callback is called usually from the buffer-update routine in the pcm middle layer, which is invoked when snd_pcm_period_elapsed() is called in the interrupt routine. Then the pcm middle layer updates the position and calculates the available space, and wakes up the sleeping poll threads, etc.
I know from a kernel space ALSA driver, the pointer callback is called after the driver calls snd_pcm_period_elapsed() from the interrupt handler or after a period is consumed. How pointer function of a user space plugin is called? I have a user space pcm external plugin which updates the buffer counter after every period is consumed, but when will it be called? How does the ALSA lib know when to call it since there is no snd_pcm_period_elapsed() in user space.
-Phraoh.