mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
ctl: add an overview for design of ALSA control interface
This commit adds a description about the design of ALSA control interface for developers to understand a few components of low level. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
f449a29943
commit
f3c24de8c0
1 changed files with 22 additions and 2 deletions
|
|
@ -35,9 +35,29 @@ also interface notifying about control and structure changes.
|
|||
|
||||
\section control_general_overview General overview
|
||||
|
||||
The primitive controls can be integer, inter64, boolean, enumerators, bytes
|
||||
and IEC958 structure.
|
||||
In ALSA control feature, each sound card can have control elements. The elements
|
||||
are managed according to below model.
|
||||
|
||||
- element set
|
||||
- A set of elements with the same attribute (i.e. name, get/put operations).
|
||||
Some element sets can be added to a sound card by drivers in kernel and
|
||||
userspace applications.
|
||||
- element
|
||||
- An element can be identified by userspace applications. Each element has
|
||||
own identical information.
|
||||
- member
|
||||
- An element includes some members to have a value. The value of each member
|
||||
can be changed by both of userspace applications and drivers in kernel.
|
||||
|
||||
Each element can be identified by two ways; a combination of name and index, or
|
||||
numerical number (numid).
|
||||
|
||||
The type of element set is one of integer, integerr64, boolean, enumerators,
|
||||
bytes and IEC958 structure. This indicates the type of value for each member in
|
||||
elements included in the element set.
|
||||
|
||||
When the value of member is changed, corresponding events are transferred to
|
||||
userspace applications. The applications should subscribe any events in advance.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue