ThinClientAudioSupport
2086
Comment:
|
3439
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
* esd/libesd * ltsp-server/ltsp-server-standalone |
|
Line 21: | Line 23: |
Wilma has edited some wav files in the music class at her schoool where a edubuntu LTSP server is used, but she cant play back the edited sound files because there is no sound suppot for the Thin Clients in edubuntu LTSP yet. | Wilma has edited some wav files in the music class at her schoool where a edubuntu LTSP server is used, but she cant play back the edited sound files because there is no sound support for the Thin Clients in edubuntu LTSP yet. {{{XXX: Use cases should describe what should happen, not what is currently broken; if you need more detail, use a "current status" section --smurf}}} |
Line 30: | Line 34: |
* jack | * jack needs kernel patches, has a bad security history and is not supportable in main. |
Line 46: | Line 50: |
* we will start esound as a service from the ltsp-client bootscript and make it listen to tcp connections * on the server side, gnome-session needs to use gstreamer-esd as sound output, this needs a change to the gnome default session setup we plan to use in dapper (alsa/dmix) * libesd on the server needs to be aware to which IP it shall send the sound. this will be done by reading the LTSP_CLIENT environment variable to determine the clients IP. |
|
Line 47: | Line 55: |
* patches to libesd to make it know where to sent the sound stream to * a change to the default setup in the gnome session is required (dapper will go with alsa/dmix by default, we need gstreamer-esd) this should be done by setting the default gstreamer output sink in ltsp-server's postinst/prerm scripts. {{{XXX:Is that enough detail to actually implement it? (Honest question, I don't have the technical experience in that area to judge that) --smurf}}} {{{YYY: Yes, since the implementation is very straight forward, very easy and already used in older ltsp implementations --ogra}}} |
Launchpad Entry: https://launchpad.net/distros/ubuntu/+spec/thinclient-sound
Created: Date(2005-10-31T22:27:58Z) by OliverGrawert
Contributors: OliverGrawert
Packages affected:
- esd/libesd
- ltsp-server/ltsp-server-standalone
Summary
Thin Client Audio Support how to get audio to the thin clients
Rationale
Since LTSP sessions currently run fully on the server and there is no tweakage done, the first LTSP Client grabs the avilable audio device to play sounds. For dapper the sound output needs to get redirected to the Thin Client over the network to use the actual sound device the user listens to
Use cases
Ian clicks on a menu item in gnome and the "plop" sound used for the menu item get put out on the servers soundcard...
Daniel is playing a movie and since he is sitting on the Thin Client that logged in as the second client, there is no sound output for him at all.
Wilma has edited some wav files in the music class at her schoool where a edubuntu LTSP server is used, but she cant play back the edited sound files because there is no sound support for the Thin Clients in edubuntu LTSP yet.
XXX: Use cases should describe what should happen, not what is currently broken; if you need more detail, use a "current status" section --smurf
Scope
Options:
- ALSA itself does not support network operation
- esound sucks
- polypaudio is dead upstream
- jack needs kernel patches, has a bad security history and is not supportable in main.
- gstreamer: too limited scope
- nas: poor performance
- mas: dead upstream
- vsound: only supports OSS
Design
Idea (network sound for the poor): Have ALSA output to a file/pipeline, and forward this (netcat/ssh) to the client. We should evaluate whether this works in principle (if this works we should make it the default for dapper+1 !).
For dapper, ltsp should still default to esound but forward the sound through a ssh tunnel to no break the current secure model we use with the ew ltsp implementation. We can automatically detect this in the planned automatic backend for gstreamer.
Implementation
- we will start esound as a service from the ltsp-client bootscript and make it listen to tcp connections
- on the server side, gnome-session needs to use gstreamer-esd as sound output, this needs a change to the gnome default session setup we plan to use in dapper (alsa/dmix)
- libesd on the server needs to be aware to which IP it shall send the sound. this will be done by reading the LTSP_CLIENT environment variable to determine the clients IP.
Code
- patches to libesd to make it know where to sent the sound stream to
- a change to the default setup in the gnome session is required (dapper will go with alsa/dmix by default, we need gstreamer-esd) this should be done by setting the default gstreamer output sink in ltsp-server's postinst/prerm scripts.
XXX:Is that enough detail to actually implement it? (Honest question, I don't have the technical experience in that area to judge that) --smurf YYY: Yes, since the implementation is very straight forward, very easy and already used in older ltsp implementations --ogra
Data preservation and migration
Outstanding issues
BoF agenda and discussion
ThinClientAudioSupport (last edited 2009-07-24 03:11:46 by 201)