1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hmz007 6d24f2138b
Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56)
3 years ago
..
debian Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
doxygen Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
examples Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
include/tinyalsa Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
scripts Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
src Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
tests Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
utils Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
.gitignore Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
.travis.yml Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
Android.bp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
BUILD Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
CMakeLists.txt Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
LICENSE Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
METADATA Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
MODULE_LICENSE_BSD Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
Makefile Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
NOTICE Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
OWNERS Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
README.md Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
WORKSPACE Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
meson.build Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
meson_options.txt Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago

README.md

TinyALSA

Build Status

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 supports these build systems:

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

Test

To test libtinyalsa, please follow the instructions,

Setup Bazel build environment

Visit here to get more info to setup Bazel environment.

Insert loopback devices

The test program does pcm_* operations on loopback devices. You have to insert loopback devices after your system boots up.

sudo modprobe snd-aloop
sudo chmod 777 /dev/snd/*

Run test program

bazel test //:tinyalsa_tests --test_output=all

The default playback device is hw:2,0 and the default capture device is hw:2,1. If your loopback devices are not hw:2,0 and hw:2,1, you can specify the loopback device.

bazel test //:tinyalsa_tests --test_output=all \
    --copt=-DTEST_LOOPBACK_CARD=[loopback card] \
    --copt=-DTEST_LOOPBACK_PLAYBACK_DEVICE=[loopback playback device] \
    --copt=-DTEST_LOOPBACK_CAPTURE_DEVICE=[loopback capture device]

Generate coverage report

bazel coverage //:tinyalsa_tests --combined_report=lcov --test_output=all
genhtml bazel-out/_coverage/_coverage_report.dat -o tinyalsa_tests_coverage