[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