processing sound on thin clients

Gavin McCullagh gmccullagh at gmail.com
Wed Jan 24 16:38:34 GMT 2007


Hi,

On Wed, 24 Jan 2007, Phyo W. Soe wrote:

> I would like to run VoIP and video conferencing applications on the thin
> client using a program like Ekiga. 

If you run a program on a thin client the program runs on the server and
therefore the sound would usually play through the server's sound card (if
there is one).

The thin clients in edubuntu edgy use ESounD for sending audio across the
network.  So, instead of the program (eg login sound or rhythmbox) playing
through the server's sound card, it sends the data across the network to
ESounD on the thin client which outputs through the thin client's sound
card.

ESounD is one-way only.  It forwards audio from the thin client server to
the thin client.  However, it doesn't forward microphone sound back to the
the server.  This makes VoIP on thin clients pretty impossible I'm afraid
-- at least it would be a one-way conversation at best.

> Although the thin client has a sound card, in Ekiga's list of Audio
> Devices, it says "No device found" for both Output and Input audio
> devices. 

I doubt Ekiga has built-in ESounD support (given that it's only one-way) so
it is effectively telling you that the server has no sound card.

> But I could hear System sounds like Beep, LogIn and LogOut sounds on the
> thin client, although there is a cross next to the speaker icon on the
> upper task bar (next to the clock).

This stuff all works over ESounD.

> Then, I configured another computer with a sound card to act as an 
> Edubuntu server and tried the same thing. I chose "auto detect" for 
> audio input/output devices and it can play sounds normally. I can make 
> VoIP calls from the server although there is a big delay and the 
> incoming audio quality is really terrible. 

If the call is made from the server (ie not a thin client) VoIP should
work.  It's not immediately clear why the quality is poor within your
network.

> On the thin client, I can now adjust the volume. In Ekiga configuration,
> it lists some devices for audio input/output devices now. I can send and
> receive VoIP calls with some delay but I cannot speak/hear anything.
> Moreover, I cannot hear system sounds anymore.

At a guess I'd say the thin client is adjusting the server sound card's
volume and showing the devices on the thin client server.  If you put
headphones into the server, you might hear the sound coming out there.

> So, basically it's like the thin client device doesn't exist for the 
> Edubuntu server and it thinks all the hardware devices and software 
> configurations are those of the server computer. 

Ekiga only sees the server's audio devices because it doesn't support
ESounD.

> Is there any way to configure the thin clients so that it can
> record/playback sounds independent of what the server is (no sound card/a
> different type of sound card). 

Not easily as far as I'm aware.  There is a spec for (ed)ubuntu to move
from ESounD to a more modern system which supports microphones, etc.,
thought the name of it escapes me now.  At that point, VoIP might be more
realistic.

> Enabling local applications might be a solution but I don't like having
> to configure for each application that needs to use sound. I just want to
> tell the server to use the sound cards on the thin clients for handling
> sound.

I guess it's conceivable to install Ekiga (all it's libraries, etc.) and an
ssh server into the thin client /opt/ltsp/i386/ chroot and then run it over
ssh from the thin client display.  That sounds pretty nasty but I guess
it's a possibility.

	ssh -X $SSH_CLIENT ekiga

I'm not certain but you might need to disable ESounD on the thin client for
this to work, in case it locked the sound card.  You'd also need to mount
the server home directories on the thin client using nfs and possibly set
up users with nis or ldap.  Broadly, it sounds pretty horrible.

Gavin




More information about the edubuntu-users mailing list