On Tue, 2008-03-11 at 16:14 -0400, Ross S. W. Walker wrote: > Ignacio Vazquez-Abrams wrote: > > > > On Tue, 2008-03-11 at 11:59 -0400, Ross S. W. Walker wrote: > > > I have been working a while trying to get a big picture of how Linux > > > handles sound processing and after much work I have put together this > > > little representation of what I have learned. > > > > > > Please send me any additional comments or components that I may have > > > missed. > > > > Some corrections (PulseAudio contains an ALSA module that can redirect > > audio back into PA): > > ALSA provides an ALSA driver in it's plugins to send audio to a > PulseAudio server, so that part is pure ALSA. I mean sure it > uses PulseAudio's protocol to send over the network, but as far > as ALSA is concerned it's just another ALSA kernel driver for > communicating with sound hardare. The PulseAudio server by > itself is of course a pure sound server. > > Having said that, I don't believe that the ALSA driver for > PulseAudio counts as yet another interface. No, but it does place part of ALSA above (in front of?) part of PA. (JACK and OSS also have similar ALSA plugins, although I don't see the point of the OSS module) > Also sound servers can and do use third party API products such > as GStreamer. "Can" far, far more than "do". The only concrete evidence of that I was able to find were the PA GStreamer and JACK plugins. I was unable to find any evidence that ESD or aRts use third-party APIs, only ALSA and OSS. (Incidentally, I found that NAS can only use OSS. Yet another reason for it to die.) > Often GStreamer provides those plugins on behalf > of the sound server (cause no one else wants to), but the > plugin is still part of the sound server and as far as the sound > server is concerned it is just sending audio directly to the > hardware API. It's just sending audio, period. It's not at all concerned with where it ends up, just that it moves to the next stage. > GStreamer/Phonon also have plugins for > communicating with sound servers as well as HW APIs such as > ALSA or OSS. When diagramming these third party APIs things > can ugly pretty darn fast. Indeed. And I also think that an ASCII diagram is no longer sufficient for showing the details. -- Ignacio Vazquez-Abrams <ivazqueznet at gmail.com> PLEASE don't CC me; I'm already subscribed -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.centos.org/pipermail/centos/attachments/20080311/3b96ab8e/attachment-0005.sig>