> 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