Re: XMMS (or some other audio player) 'hang' issues with intel8x0and dmix plugin [u]

From: Christophe Saout
Date: Tue Nov 02 2004 - 06:54:23 EST


Am Dienstag, den 02.11.2004, 13:40 +0200 schrieb Jan Knutar:

> > I've tracked this down to what seems to be a bug in the libalsa dmix
> > code with mmap emulation. If the sound output was stopped for some
> > reason (stream paused or underrun) the library will accept more data
> > until the buffer is full but never restart the output.
>
> Strangely, I've observed these kinds of "Hangs" with bmp and mplayer,
> without mmap mode enabled in either. Also using dmix as in the other
> reports here. Could of course be some third application using alsa in
> mmap mode, I suppose.

It might have something to do whether dmix needs to convert the data or
not. In my case /proc shows that the card supports 48kHz but bmp plays a
44kHz file.

> Unfortunately, I have no strace to offer right now as the bug is happening
> randomly and I haven't been able to find any method by which to reproduce
> it.

100% reproducable on my machine. I stopped debugging when I found out
that it happened somewhere deep inside the libalsa dmix core, the code
didn't look easy to follow.

> What's strange is that almost always when it happens, either mplayer or
> beep-media-player will have an extra forked process.

This has something to do with dmix forking off a process, I don't know
exactly what it is for, it does something with the dmix unix socket
in /tmp.

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil