Not sure if this is a via82cxxx bug or a ac97_codec bug.
This bug is easiest to reproduce with xmms. Simply
play an MP3, and the GUI frequently becomes
unresponsive--you can't even move the window.
What's happening is, xmms periodically polls the mixer
to get the current volume, and this blocks the whole
app. The root of the problem can be demonstrated with
this code snip:
int i, fd;
fd = open("/dev/mixer", O_RDONLY);
fprintf(stderr, "before ioctl\n");
ioctl(fd, SOUND_MIXER_READ_DEVMASK, &i);
fprintf(stderr, "after ioctl\n");
When no sound is playing, this code will constantly
print "before ioctl" and "after ioctl", but once you
start playing sound, this code will frequently hang
(usually 2-15 seconds at a time) in the ioctl.
Log in to post a comment.