[alsa-devel] Monitoring ALSA's write pointer (appl_ptr)?
Takashi Iwai
tiwai at suse.de
Tue Nov 4 17:33:42 CET 2008
At Mon, 3 Nov 2008 23:40:28 -0500,
<brian-welch at cox.net> wrote:
>
> Hello List,
>
> My first post, so excuse any ignorance.
>
> Is there a definitive/safe way to monitor ALSA's write pointer in the
> dma_area? It seems like the ack callback and the appl_ptr is the
> correct way, but I was told by another developer that appl_ptr doesn't
> work in all cases.
>
> As a future optimization for my hardware, I may want to tell ALSA to use
> a specific area of physical memory for it's dma_area, what is the best
> way to do that?
A good question. The ack callback is called only when the explicit
read/write method is used. When mmap access is used, it won't be
called.
One hack would be to check appl_ptr in the pointer callback. This
callback is called in snd_pcm_hwsync(), too. So, if you watch the
appl_ptr change as frequently as possible, it'd be a good place for
that.
Takashi
More information about the Alsa-devel
mailing list