aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2021-10-12 16:49:21 +0200
committerTakashi Iwai <tiwai@suse.de>2021-10-12 16:49:21 +0200
commit8b0c72d244346f2d131a0c951bb24eed0cf2885f (patch)
tree5ddd91272ddee3f636d8269abc87d4c1b4ef9e40
parent135f38646a9adeddc940f8b795b7a853ef61b023 (diff)
downloadsalsa-lib-devel.tar.gz
README: Some more brush up for MDdevel
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--README.md97
1 files changed, 43 insertions, 54 deletions
diff --git a/README.md b/README.md
index 7ca8b27..bacc17d 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@ SALSA-Lib - Small ALSA Library
==============================
GENERAL
-=======
+-------
SALSA-Lib is a small, light-weight, hot and spicy version of the ALSA
library, mainly for embedded systems with limited resources.
@@ -15,37 +15,33 @@ neither dmix nor format conversion is available with SALSA-lib.
The current features are found in the sections below.
-CONFIG
-------
+### CONFIG
-* All functions snd_config_*() are replaced with dummy ones since
+* All functions ``snd_config_*()`` are replaced with dummy ones since
SALSA-Lib doesn't support the configuration files.
The apps accessing config stuff won't work properly as expected.
* Disabled as default
-PCM
----
+### PCM
* Supports only the hw layer, i.e. no up/down-mixing, format
conversion, rate conversion, etc, and no external plug-in
* Accepts the limited PCM name, ``hw``, ``default``, ``default:x``,
and ``hw:x,y,z``
-* snd_pcm_mmap_read/write*() are declared but not implemented (returns
- -ENXIO)
+* Some of ``snd_pcm_mmap_read/write*()`` functions are declared but
+ not implemented (returns -ENXIO)
* The support of async handlers can be built in via configure option,
- --enable-async. For simplicity, SALSA-lib supports only one async
+ ``--enable-async``. For simplicity, SALSA-lib supports only one async
handler per PCM handler.
-CONTROL
--------
+### CONTROL
* Supports only the hw layer, no plug-in
* Some H-control functions are not included
-* The support of async handlers via --enable-async as well as PCM
+* The support of async handlers via ``--enable-async`` as well as PCM
async handlers.
-MIXER
------
+### MIXER
* No sort with weight as default, sorted in the order of numid
* Simple-none layer only
@@ -54,44 +50,37 @@ MIXER
* dB support can be selected via configure option
* Linear <-> log dB conversion enabled via configure option
-TIMER
------
+### TIMER
* No query interface (returns errors)
* No async handler (returns -ENXIO)
* Disabled as default
-RAWMIDI
--------
+### RAWMIDI
* Should work
* Disabled as default
-HWDEP
------
+### HWDEP
* Should work
* Disabled as default
-SEQUENCER
----------
+### SEQUENCER
* All replaced with dummy functions. The apps using sequencer won't
work properly.
* Disabled as default
-INSTRUMENT LAYER
-----------------
+### INSTRUMENT LAYER
* No APIs are provided
-UCM
----
+### UCM
* Not supported yet at all
-MISC
-----
+### MISC
* The API functions that are not supported but defined have
"deprecated" attribute. You'll get compile warnings when compiling
@@ -99,67 +88,67 @@ MISC
components below.) They are just warnings that you can usually
ignore. The warnings are given so that you can find the
non-functional features easily. If warnings really matter, remove
- the deprecated attribute via --disable-deprecated configure option.
+ the deprecated attribute via ``--disable-deprecated`` configure option.
INSTALLATION
-============
+------------
Some configure options are available to reduce the binary size.
As default, rawmidi, hwdep, timer, conf and seq components are
-disabled. They can be enabled via --enable-xxx option, such as
---enable-rawmidi.
+disabled. They can be enabled via ``--enable-xxx`` option, such as
+``--enable-rawmidi``.
The PCM and mixer components are enabled as default, and can be
-disabled via --disable-pcm and --disable-mixer option, respectively.
+disabled via ``--disable-pcm`` and ``--disable-mixer`` option, respectively.
-The dB range support can be enabled via --enable-tlv option. It's
+The dB range support can be enabled via ``--enable-tlv`` option. It's
disabled as default. For enabling the floating-point math calculation
-used in dB <-> linear conversion for the mixer, pass --enable-float
+used in dB <-> linear conversion for the mixer, pass ``--enable-float``
option as well.
The support for user-space control elements is enabled as default
to keep the compatibility with the older salsa-lib releases. But now
-it can be disabled via --disable-user-elem configure option, too.
+it can be disabled via ``--disable-user-elem`` configure option, too.
-The async handler support can be enabled via --enable-async option.
+The async handler support can be enabled via ``--enable-async`` option.
It's disabled as default.
The PCM chmap API support is also optional, can be enabled via
---enable-chmap option.
+``--enable-chmap`` option.
-With option --enable-abi-compat, libasound.so will be created as an
+With option ``--enable-abi-compat``, libasound.so will be created as an
opt-in ABI-compatible library with the genuine ALSA-lib.
-When --enable-abicheck is given, each open function checks the ABI
+When ``--enable-abicheck`` is given, each open function checks the ABI
compatibility with the installed library.
All these options can be enabled via a single option,
---enable-everything, for your convenience.
+``--enable-everything``, for your convenience.
For disabling the deprecated attribute for non-working functions (see
the description of "MISC" in the section "GENERAL"), pass
---disable-deprecated option.
+``--disable-deprecated`` option.
-For enabling the support for the string buffer with snd_output_*()
-function (e.g. used by PulseAudio), pass --enable-output-buffer option.
+For enabling the support for the string buffer with ``snd_output_*()``
+function (e.g. used by PulseAudio), pass ``--enable-output-buffer`` option.
The alsa-library version to be compatible can be given explicitly via
---with-compat-version option. As default, 1.2.5 is set.
+``--with-compat-version option``. As default, 1.2.5 is set.
If the ALSA device files are not in /dev/snd, another directory can be
-specified with the --with-alsa-devdir option.
+specified with the ``--with-alsa-devdir option``.
-The library is installed as $LIBDIR/libsalsa.so.*.
+The library is installed as ``$LIBDIR/libsalsa.so.*``.
This package provides also the compatible alsa.m4 and alsa.pc. If the
other packages can be autoreconf'ed, you'll be able to link libsalsa
as it is.
-The C header files are installed into $INCLUDEDIR/alsa. The
+The C header files are installed into ``$INCLUDEDIR/alsa``. The
alsa/asoundlib.h should be compatible with the normal alsa-lib's one.
CROSS-COMPILATION
-=================
+-----------------
For compiling the library with a cross compiler, run like the
following:
@@ -167,23 +156,23 @@ following:
% CC=arm-linux-gcc \
./configure --target=arm-linux --host=i686-linux
-Don't forget to add "-linux" to the host option value. Otherwise
+Don't forget to add ``-linux`` to the host option value. Otherwise
configure script won't detect the host type correctly, and the shared
library won't be built properly.
DOCUMENTATION
-=============
+-------------
See alsa-lib reference. It's compatible!
KNOWN PROBLEMS
-==============
+--------------
* Incomplete MMAP mode
- snd_pcm_mmap_*() are only partially implemented, and the mmap-mode
+ ``snd_pcm_mmap_*()`` are only partially implemented, and the mmap-mode
is less tested, so far.
* When built without --enable-output-buffer, the buffer output via
@@ -193,7 +182,7 @@ KNOWN PROBLEMS
LICENSE
-=======
+-------
Distributed under LGPL. See COPYING file.