faq
flatforty
contribute
subscribe
configure
search
rdf
main
parent
thread
|
Re: PulseAudio and Phonon?
by Kevin Kofler on Sunday 04/Nov/2007, @18:34
|
The callgraph actually looks like:
Phonon -> xine-lib/GStreamer -> PulseAudio -> ALSA
Xine-lib or GStreamer are used to implement the Phonon backend. (KDE 4.0 will come with Phonon-Xine. As far as I know, Trolltech is working on a GStreamer backend for Phonon.) They handle decoding using a plugin framework, then hand off the decoded stream to either the hardware or a sound server such as PulseAudio through an output plugin.
PulseAudio can also work as an ALSA plugin, in which case the applications think they're talking to a native ALSA device, but what they get is not a hardware device, but a connection to PulseAudio. This is very similar to how dmix works. In a Phonon context, this makes the callgraph look like this:
Phonon -> xine-lib/GStreamer -> ALSA (PulseAudio plugin) -> PulseAudio -> ALSA (hardware device)
I've read reports that xine-lib's native PulseAudio output plugin currently isn't very stable, so with xine-lib using the PulseAudio ALSA plugin is more reliable. Fixing this in xine-lib is on the PulseAudio TODO list, but in a KDE 4 context it might become moot with the Trolltech-backed Phonon-GStreamer anyway. |
|
|