[LAU] Sound in Linux

Arnold Krille arnold at arnoldarts.de
Sun Oct 14 07:01:17 EDT 2007


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...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.linuxaudio.org/pipermail/linux-audio-user/attachments/20071014/676b0d82/attachment.pgp 


More information about the Linux-audio-user mailing list