On Mon, Nov 29, 2010 at 10:31:06AM +0800, Ng Oon-Ee wrote:
Thanks fons, I was under the mmap alsa capability implied direct control over the hardware's memory.
It probably does in some cases (e.g. a hw: device on a PCI bus), but only to the sample data - there's no direct access to any control registers ever in ALSA. Since the access _could_ be to real HW it's of course ALSA that dictates the layout (separate buffers for each channel, or interleaved, or even more complex schemes) and the sample format (16/24/32 bit or float, LE or BE). The client application just has to accept this and do any conversions itself. Maybe the PA devs were thinking they had to emulate all of those, which could be a nightmare but is not necessary. They could just select the format that corresponds to any buffers they already have, and only support that one. Clients using mmap mode check what is available and adapt to it. Ciao, -- FA There are three of them, and Alleline.