All Projects → tinyalsa → Tinyalsa

tinyalsa / Tinyalsa

Licence: other
Tiny library to interface with ALSA in the Linux kernel

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Tinyalsa

rtpmidid
RTP MIDI (AppleMIDI) daemon for Linux
Stars: ✭ 109 (-70.54%)
Mutual labels:  alsa
kernel-ci
Continuous integration for the Linux Kernel - Built within Docker
Stars: ✭ 34 (-90.81%)
Mutual labels:  linux-kernel
Linux
XanMod: Linux kernel source code tree
Stars: ✭ 310 (-16.22%)
Mutual labels:  linux-kernel
kbdashboard
Tool to configure, build and install multiple linux kernels.
Stars: ✭ 14 (-96.22%)
Mutual labels:  linux-kernel
Microdot
The Microdot Project guides you to create a fully functional but compact Linux system from scratch
Stars: ✭ 41 (-88.92%)
Mutual labels:  linux-kernel
Sphinx-Beryllium
Sphinx Custom Kernel for Pocophone F1 (Beryllium)
Stars: ✭ 23 (-93.78%)
Mutual labels:  linux-kernel
ksmbd
ksmbd kernel server(SMB/CIFS server)
Stars: ✭ 98 (-73.51%)
Mutual labels:  linux-kernel
Linux kernel cves
Tracking CVEs for the linux Kernel
Stars: ✭ 357 (-3.51%)
Mutual labels:  linux-kernel
LinuxEelvation
Linux Eelvation(持续更新)
Stars: ✭ 189 (-48.92%)
Mutual labels:  linux-kernel
Seeed Voicecard
2 Mic Hat, 4 Mic Array, 6-Mic Circular Array Kit, and 4-Mic Linear Array Kit for Raspberry Pi
Stars: ✭ 297 (-19.73%)
Mutual labels:  alsa
lkmd
Linux Kernel Module Debugger
Stars: ✭ 13 (-96.49%)
Mutual labels:  linux-kernel
linux-surfacebook
A kernel which strives to be semi-practical for daily use on the Surface Book, no matter the cost (stability included)
Stars: ✭ 34 (-90.81%)
Mutual labels:  linux-kernel
Docker To Linux
Make bootable Linux disk image abusing Docker
Stars: ✭ 257 (-30.54%)
Mutual labels:  linux-kernel
apple-bce-arch
Arch Linux package for the Apple BCE driver required for T2-equipped devices.
Stars: ✭ 24 (-93.51%)
Mutual labels:  linux-kernel
Vmlinux To Elf
A tool to recover a fully analyzable .ELF from a raw kernel, through extracting the kernel symbol table (kallsyms)
Stars: ✭ 317 (-14.32%)
Mutual labels:  linux-kernel
linux kernel wiki
linux内核学习资料:200+经典内核文章,100+内核论文,50+内核项目,500+内核面试题,80+内核视频
Stars: ✭ 1,653 (+346.76%)
Mutual labels:  linux-kernel
camflow-dev
Generates kernel patch for CamFlow Linux Provenance Capture.
Stars: ✭ 19 (-94.86%)
Mutual labels:  linux-kernel
Ldt
Linux Driver Template
Stars: ✭ 363 (-1.89%)
Mutual labels:  linux-kernel
Linux Kernel Exploitation
A collection of links related to Linux kernel security and exploitation
Stars: ✭ 3,859 (+942.97%)
Mutual labels:  linux-kernel
Krf
A kernelspace syscall interceptor and randomized faulter
Stars: ✭ 267 (-27.84%)
Mutual labels:  linux-kernel

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].