doc/components.txt: record/play infrastructure

This commit is contained in:
Norman Feske 2024-02-27 16:05:26 +01:00
parent 9c7a303caf
commit 1e8c36f682

View File

@ -34,10 +34,11 @@ of them is briefly characterized as follows:
the driver is made available to other system components via the driver is made available to other system components via
one of Genode's device-independent session interfaces, which are one of Genode's device-independent session interfaces, which are
'platform_session', 'capture_session', 'event_session', 'block_session', 'platform_session', 'capture_session', 'event_session', 'block_session',
'audio_out_session', 'log_session', 'nic_session', and 'timer_session' 'record_session', 'play_session', 'log_session', 'uplink_session', and
(see _os/include/_ for the interface definitions). Those interfaces are 'timer_session' (see _os/include/_ for the interface definitions).
uniform across hardware platforms and kernel base platforms. Usually, Those interfaces are uniform across hardware platforms and kernel base
each device driver can accommodate only one client at a time. platforms. Usually, each device driver accommodates one client at a
time.
:Resource multiplexers: provide mechanisms to multiplex device resources :Resource multiplexers: provide mechanisms to multiplex device resources
to multiple clients. A typical resource multiplexer requests one to multiple clients. A typical resource multiplexer requests one
@ -194,9 +195,9 @@ provided by the kernel, or a pseudo time source (busy):
Audio drivers Audio drivers
============= =============
Audio drivers implement the Audio_out session interface defined at Audio drivers use the audio mixer's record session interface defined at
_os/include/audio_out_session/_ for playback and optionally the audio_in _os/include/record_session/_ for audio output and optionally the play
interface for recording. session interface _os/include/play_session/_ for audio input.
:_os/src/drivers/audio/spec/linux/_: :_os/src/drivers/audio/spec/linux/_:
Uses ALSA as back-end on the Linux base platform and supports only playback. Uses ALSA as back-end on the Linux base platform and supports only playback.
@ -277,9 +278,9 @@ subdirectory of a source repository.
framebuffer and a virtual input interface. Nitpicker (including a README framebuffer and a virtual input interface. Nitpicker (including a README
file) is located at _os/src/server/nitpicker/_. file) is located at _os/src/server/nitpicker/_.
:Audio output: The audio mixer located at _os/src/server/mixer/_ enables :Audio output: The audio mixer located at _os/src/server/record_play_mixer/_
multiple clients to use the audio-out interface. The mixing is done by simply allows for the routing and mixing of audio signals from play-session clients
adding and clamping the signals of all present clients. to record-session clients.
:Networking: The NIC bridge located at _os/src/server/nic_bridge/_ multiplexes :Networking: The NIC bridge located at _os/src/server/nic_bridge/_ multiplexes
one NIC session to multiple virtual NIC sessions using a proxy-ARP one NIC session to multiple virtual NIC sessions using a proxy-ARP