pcm: Rewrite pcm_mmap_transfer() for compatibility

Make pcm_mmap_transfer() compatible with read/write IO.

start_threshold check was not valid for capture.

pcm->running checks were removed.

NOIRQ fallback was removed. Clocks of sound devices may
differ from the system, leading to desynchronization.

Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
1 file changed
tree: f304dd079230c98591789dee91e7f711371a2321
  1. debian/
  2. doxygen/
  3. examples/
  4. include/
  5. scripts/
  6. src/
  7. utils/
  8. .gitignore
  9. .travis.yml
  10. Android.bp
  11. CMakeLists.txt
  12. Makefile
  13. meson.build
  14. meson_options.txt
  15. NOTICE
  16. README.md
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 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:
tinyalsaContains tinyplay, tinycap, tinymix and tinypcminfo
libtinyalsaContains the shared library
libtinyalsa-devContains 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