commit | 6a9dc10d114a161332fb6035a9983bc51d0a9c29 | [log] [tgz] |
---|---|---|
author | dvdli <dvdli@google.com> | Tue May 24 10:47:42 2022 +0800 |
committer | David Li <dvdli@google.com> | Tue Dec 06 02:12:57 2022 +0000 |
tree | dcb8784ad63d2b85a57bb358e89d406ce296e0d2 | |
parent | 82eab38b0705f238e583226a49d22a1f391999bf [diff] |
match the boundary type with kernel driver 1. Remove calculation of boundary and retrieve boundary from ALSA kernel. Also fix type when getting available and advance appl_ptr. 2. Fix avail in pcm_mmap_transfer getting overflow. 3. Fix typo. Bug: 255983466 Test: mm libtinyalsav2 Merged-In: I04d3e11967c2d435cb035389cd2afed927430c6d Change-Id: I3195901da206eb800943fc6dcc4ea0a6a01304cd
TinyALSA is a small library to interface with ALSA in the Linux kernel.
The aims are:
TinyALSA supports these build systems:
To build and install with Make, run the commands:
make sudo make install sudo ldconfig
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
Once installed, the man pages are available via:
man tinyplay man tinycap man tinymix man tinypcminfo man libtinyalsa-pcm man libtinyalsa-mixer
To test libtinyalsa, please follow the instructions,
Visit here to get more info to setup Bazel environment.
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/*
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]
bazel coverage //:tinyalsa_tests --combined_report=lcov --test_output=all genhtml bazel-out/_coverage/_coverage_report.dat -o tinyalsa_tests_coverage