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
Thanks. I'll try reading appl_ptr from within the pointer callback.
Brian