I have update the graph about the sound system
On Fri, 19 Dec 2014 14:38:49 +0100
Alexandre Ratchov <[email protected]> wrote:
> Yes this is right. Note that pograms can bypass sndiod seamlessly
> and use sio_xxx and mio_xxx functions to connect directly to the
> audio(4) and midi(4) layers. This is determined at runtime by
> sio_open() and mio_open() arguments and/or environment variables.
and I have added the border between userspace and kernelspace
(I hope it is right now).
|------| |------| |------|
| app1 | | app2 | .... | appN |
|------| |------| |------|
| | |
\|/ \|/ \|/
|-----------------------------------------------|
| sndio.h |
| sio_open(3)/mio_open(3) |
| interface to audio devices and MIDI streams |
|-----------------------------------------------|
| | |
| \|/ |
| |-----------------------| |
| | sndiod(1) | |
| | audio/midi server | |
| |-----------------------| |
| | | | User
| | | | space
-------------------------------------------------
| | | | Kernel
| | | | space
\|/ \|/ \|/ \|/
|--------------------| |-------------|
| audio(4) | | midi(4) |
| device-independent | | raw device |
| driver layer | | independent |
|--------------------| | interface |
| |-------------|
| |
\|/ \|/
|---------------------------------|
| device dependent driver |
| (azalia(4), ac97(4), ...) |
|---------------------------------|
|
\|/
|--------------------------------------|
| [audio] [MIDI] |
| |
| Hardware |
|--------------------------------------|
Regards Alfonso
----------------------
Alfonso Sabato Siciliano <[email protected]>