> avail = snd_pcm_avail_update(pcm);
> while (avail > 0) {
> frames = min(avail, block_size);
> snd_pcm_mmap_begin(pcm, areas, &offset, &frames);
> process(frames);
> snd_pcm_mmap_commit(pcm, offset, frames);
> avail -= frames;
> }
I missed something:
frames = min(avail, block_size);
OK, this work. I didn't realize that mmap_begin() would be willing to
limit the amount of data it indicated was available.
--p
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel