I have update the graph about the sound system On Fri, 19 Dec 2014 14:38:49 +0100 Alexandre Ratchov <a...@caoua.org> 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 <alfi...@gmail.com>