RE: Linux Sound Architecture (Updated)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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@xxxxxxxxx>

PLEASE don't CC me; I'm already subscribed

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux