[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