Re: 2.6.0: alsa, esd, mpg123

From: David Ford
Date: Tue Dec 30 2003 - 12:02:39 EST


Unless esd has ever gotten fixed, esd doesn't handle errors or write() return values.

Some sound cards can't handle the flood of data and only accept so many bytes at a time. Esd does a write of 4K, only 2387 bytes (this is an example) are actually written. Esd doesn't pay attention to this and starts writing with the next 4K chunk. This leads to the skips.

On slow machines or slow kernels you don't notice this (as much), on faster stuff, it's very apparent.

For what it's worth, there is hardly any error checking at all in esd.

David

John M Flinchbaugh wrote:

on my debian (unstable) laptop newly running 2.6.0, i've noticed
an irritating tendency for music to not pause, but instead to
try to go too fast, skipping small parts of the song (fractions
of a second). this results in music with regular beats sounding
erratic.

i'm using gqmpeg -> mpg123-esd -> esd -> oss -> alsa (maestro3).

switching esd to use -tcp instead of -unix seems to alleviate
the trouble a bit. ogg123 playing through esd doesn't seem to
do it as much either.

has anyone else noted this problem and tuned it away? thanks.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/