EdgyPlusOneThinclientSound

Summary

Network sound is a difficult problem. We've used esd for the longest time, because it sucked the least. Now that GStreamer .10, and Pulse audio are here, we need to fix things properly, once and for all.

Rationale

As thin client computing becomes more and more prevalent, users will want a richer thin client sound experience, including full and transparent mixer support, and mic inputs for voip or teaching applications. Multicast sound would also be nice for teaching applications.

Use cases

  • Danni is a teacher in a lab class. For her "Media and Internet" class, she wants her students to be able to create full multimedia presentations in OpenOffice.org Impress, with recorded sound clips from the students, who are all equiped with microphone/headsets. The students simply click on the "Sound Recorder" program under Applications->Sound and Video, adjust their mixer settings for the mic, and speak as they always would, just like they were on a "Fat" client.

  • Hans is running a German language class. He has some kind of multi-cast audio server, that allows him to play language tapes. These are multicast out across the network seamlessly, so that the server doesn't need to send the audio stream individually to each of the students. As the users sit at their thin clients, they can all hear the language tape being played.
  • Scott's a little hard of hearing in one ear, and as a result, he needs to have his right channel on his headset set about 50% higher than the left ear. He's on a thin client listening to his "Pink Floyd" OGG's in RhythmBox. He can pop open the mixer app, and set the left and right volume normally, without having to mess about with his lts.conf file.

Scope

Removal of esd, and substitute Pulse audio.

Design

Things that need to "just work":

  • Volume control/mixer
    • Handled by GStreamer, Pulse understands mixer settings.
  • RhythmBox, Totem

    • Handled by GStreamer, Pulse can deal with latency issues.
  • Flash
    • Flash 9 will speak ALSA, the Pulse audio libs can plug into ALSA, and look like a virtual sound card.
  • Sound recording apps, such as Gnome Sound Recorder, or Ekiga
    • Either handled by GStreamer, or ALSA
  • Jokosher:
    • Cool new sound app, great for music classes. Speaks GStreamer.

By moving to Pulse, everything desired by the developers will work.

Implementation

Outstanding issues

  • Upstream Gnome 2.18 integration: separating main audio and conferencing devices.
  • Phonon integration with KDE 4: KDE 4 general availability.
  • Phonon-GStreamer integration (Google SoC 2006 project).
  • Feisty+1: udev/dbus/hal magic to handle multiple sound cards.


CategorySpec

EdgyPlusOneThinclientSound (last edited 2008-08-06 16:29:22 by localhost)