Using a low power (400Mhz HP t5135) thin client with rdesktop 1.6 I will occasionally (about every 30 seconds) get garbage noise when playing videos.
I've been testing with youtube videos and found that if I scroll the video off the screen the sound issue doesn't occur. It also doesn't occur on a higher powered thin client (1Ghz) running the same rdesktop binary.
While the noise is occurring "Fooo!" is printed repeatedly in the terminal. I looked into the code and found that in rdpsnd_alsa.c the alsa_play function calls snd_pcm_writei(out_handle, out->p, ((MAX_FRAMES < len) ? MAX_FRAMS : len))), which returns an EPIPE error that the alsa documentation says occurs during a buffer underrun.
Rdesktop 1.5 does not have the same issue, but it does not have rdpsnd_alsa.c; I'm assuming it's using oss or libao instead.
I believe the correct behavior would be to avoid the buffer underrun, or if that is impossible due to the hardware, to output no sound instead of noise during the underrun.
It sounds like it should be a pretty easy fix, but I don't have enough experience with the alsa library to know the correct way to zero out the sound output during an underrun or how to avoid the underrun all together.
Get latest updates about Open Source Projects, Conferences and News.