Hi!
Please consider merging this patch we ship in Fedora:
http://cvs.fedoraproject.org/viewcvs/*checkout*/devel/alsa-plugins/1.0.14-st...
It adds support to report back XRUN to the application if one happens. This is required to make some applications work on top of the pulse plugin. One being XMMS, which checks if a song finished to play by waiting for an XRUN (yes, I don't argue that XMMS shouldn't do that, but nonetheless it is a good thing if XRUNs are reported properly.)
Now, this patch is a bit problematic, since it touches pcm->io.state which is not supposed to be touched by ioplug-based plugins -- according to the comments in ioplug. However, I saw no other way to fix this, and from judging the ioplug code overwriting the variable should be safe. Thus I decided to simply touch the variable but documented it in a comment.
Alternatively, ioplug could be beefed up to properly handle XRUNs, but I thought this fix is simpler.
Also reported on the ALSA BTS:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3579
Lennart