mirror of
https://github.com/openharmony/third_party_tinyalsa.git
synced 2026-07-19 15:24:22 -04:00
a6947c624c6557369fff79a8bfab1940e7b022fb
The arguments passed after the set command are not handled properly, leading to segfaults or inability to set controls Example with control 0 which is Headset Volume on my NUC: before fix $ ./tinymix set 0 Segmentation fault $ ./tinymix set 0 10 Segmentation fault $ ./tinymix set 0 10 20 Error: 3 values given, but control only takes 2 After correction $ ./tinymix set 0 no value(s) specified $ ./tinymix set 0 10 $ ./tinymix set 0 10 10 $ ./tinymix set 0 10 10 10 Error: 3 values given, but control only takes 2 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
TinyALSA
TinyALSA is a small library to interface with ALSA in the Linux kernel.
The aims are:
- Provide a basic pcm and mixer API.
- If it's not absolutely needed, don't add it to the API.
- Avoid supporting complex and unnecessary operations, that could be dealt with at a higher level.
- Provide comprehensive documentation.
Building
TinyALSA uses Makefile as the primary build system.
To build and install with Make, run the commands:
make
sudo make install
sudo ldconfig
Installing
TinyALSA is now available as a set of the following debian packages from launchpad:
| Package Name: | Description: |
|---|---|
| tinyalsa | Contains tinyplay, tinycap, tinymix and tinypcminfo |
| libtinyalsa | Contains the shared library |
| libtinyalsa-dev | Contains the static library and header files |
To install these packages, run the commands:
sudo apt-add-repository ppa:taylorcholberton/tinyalsa
sudo apt-get update
sudo apt-get install tinyalsa
sudo apt-get install libtinyalsa-dev
Documentation
Once installed, the man pages are available via:
man tinyplay
man tinycap
man tinymix
man tinypcminfo
man libtinyalsa-pcm
man libtinyalsa-mixer
Description
Languages
C
77.3%
C++
14.9%
Roff
2.1%
Shell
1.9%
Makefile
1.6%
Other
2.2%