Re: [LAU] Sound in Linux

From: Arnold Krille <arnold@email-addr-hidden>
Date: Sun Oct 14 2007 - 14:01:17 EEST

Hi,

Am Sonntag, 14. Oktober 2007 schrieb Shelagh Manton:
> I have some general questions about sound in linux; the interplay of
> pulse/(esd) and gstreamer,jackd and alsa.
> Let me state what I think I know.
> Alsa provides the drivers that allow sound to be produced and also the
> midi subsystem.
<snip>
> If you want
> to use midi and audio together as in rosegarden, you need jackd because
> that allows more than one program to access the soundcard at a time. It
> is also useful because if you have the right kernel and privileges your
> audio programme can override the right of other programmes to access the
> kernel as well meaning that you don't get glitches when you are
> recording a masterpiece.

Well, not really. jackd is needed to have sound-exchange between apps. The
hardware soundcards are kind of a special application to exchange sound with.
And all the sound-exchange is sample-synced and it also provides a global
transport to start, stop or generally position the playhead of all
(supporting) apps in synchronization.

The fact that the jack-lib also provides an easy way to get higher rights for
the audio-thread is only a bonus and convenience. Each application programmer
could do this himself for each app.

And, jack is not overriding or modifying access to the kernel (you would need
a kernel-module for that). It "just" provides an easy interface to gain more
priority in the schedulers of the kernel. Normally only root(-processes) can
get a higher priority than normal users (everyone can get a lower priority by
themself). Different ways to authorize for gaining more priority exist,
realtime-lsm and rt-limits are the keywords here.
Jack just tries to get a higher priority without having every application
programmer fiddle with this.

> Gstreamer fits in the normal esd/pulse picture
> by providing the access to codecs that files come in. Now this is where
> my understanding fails: gstreamer has a jack module (so I hear rumoured,
> but I can't find it in the ubuntu reps) and so does pulse. How do these
> fit in with the jackd stuff? Obviously they both make it so that jack
> can work with both or either of the sound servers.

These modules do not make jack work with pulse/gstreamer. They make
pulse/gstreamer work with jack. Its not jack outputing to these soundservers,
the soundservers/systems are sending their audio to jack if you use these
modules.

Hope that helps,

Arnold

-- 
visit http://www.arnoldarts.de/
---
Hi, I am a .signature virus. Please copy me into your ~/.signature and send me 
to all your contacts.
After a month or so log in as root and do a rm / -rf. Or ask your 
administrator to do so...

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user

Received on Sun Oct 14 16:15:07 2007

This archive was generated by hypermail 2.1.8 : Sun Oct 14 2007 - 16:15:07 EEST