AOSP CL "pcm: Fix usage of oops() function for use of strerror."

https://android.googlesource.com/platform/external/tinyalsa/+/50028cd233f8cf8a084e950c951eefc01e1cd15c

commit	50028cd233f8cf8a084e950c951eefc01e1cd15c
author	John Muir <muirj@google.com>

pcm: Fix usage of oops() function for use of strerror.

The oops() function expected errno to be passed in, but at some
point it was broken to look at errno itself, and ignore the
passed-in value.

Fix the oops() function to check the passed-in value, and modify
uses of oops() to actually pass in errno and not -errno or the
return value from the errored function call.

Bug: None
Test: pcm error code printed correctly.
Change-Id: I555e1eda0cdd0cc9b94e05423d341f1c08f8e485
(cherry picked from commit 2c1d902ace5f78dcff0c39740642d269b2e17dff)

Note: the oops in pcm_mmap_transfer was removed.
1 file changed
tree: 350cbb29e72f9b551ea7cd6e18b6b84d4dfdc969
  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. METADATA
  16. MODULE_LICENSE_BSD
  17. NOTICE
  18. OWNERS
  19. 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 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:
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