On 9 April 2010 11:04, Dan Kegel dank@kegel.com wrote:
This seemed like a useful overview of how the various layers relate to each other: http://tuxradar.com/content/how-it-works-linux-audio-explained
This is somewhat confusing:
* PulseAudio is an audio mixer that provides a finer grained control over volume (being able to set it per-application), etc.
* GStreamer is not solving the same problem as PulseAudio (PulseAudio is not a multimedia framework). GStreamer adds support for playing, synchronising and encoding audio and video media so is fulfilling a different role in the audio landscape -- you cannot decode ogg files directly through PulseAudio, for example.
* The Xine framework is like GStreamer and FFmpeg/MPlayer. AFAICS, this is independant of GStreamer and thus sits on top of PulseAudio, ALSA, Jack, etc. I can't see anything that says that xine-lib calls into GStreamer.
* Phonon is an API that abstracts the multimedia frameworks and sits on top of either GStreamer or Xine (or other supported backends), with Xine being the default.
- Reece