aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-02-07tinyalsa: add support for mixer pluginsBhalchandra Gajare
Update the mixer framework to support plugins. Add ability for physical card to have either kernel registered mixer controls or plugin registered mixer control or both. Split mixer controls into two groups, one for kernel registered (hw_grp) and the other for plugin registered (virtual_grp). Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2020-02-07tinyalsa: add support for PCM pluginsBhalchandra Gajare
Update the pcm framework to support plugins. Resolve the pcm device node to be either kernel device or virtual device and setup function pointers accordingly. Implement framework functionality for pcm_plugin.c for ease of plugin development. Plugin itself is compiled as shared object (.so) and dynamically linked from pcm_plugin.c. Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org> Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
2020-02-06Merge pull request #144 from mgaio/fix/mmap/pcm_waitTaylor Holberton
pcm: Set SW params.avail_min to period size
2020-02-06pcm: Set SW params.avail_min to period sizeMiguel GAIO
Using MMAP APIs, this parameter wake up application when 'avail_min' samples are availables. When audio processing expects exactly a full period size samples, the default parameter to 1 burns CPU until the full period available. Fix SW params.avail parameter to period size value. Signed-off-by: Miguel GAIO <mgaio35@gmail.com>
2019-12-17Merge pull request #143 from kraj/masterTaylor Holberton
Use CMAKE_INSTALL_<path> instead of hardcoding bin/lib/ install paths
2019-12-16Use CMAKE_INSTALL_<path> instead of hardcoding bin/lib/ install pathsKhem Raj
Helps fix build/packaging issues on machines where default libdir is not lib but say lib64 Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-09-21Merge pull request #140 from pasqualirb/masterTaylor Holberton
utils: Fix spelling in help text
2019-09-21utils: Fix spelling in help textRicardo Biehl Pasquali
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-07-07Merge pull request #131 from pasqualirb/masterTaylor Holberton
pcm: Allow to wait if capture is not running
2019-06-26pcm-readi: Fixed segfault in failure recoveryTaylor Holberton
2019-05-23Merge pull request #134 from jcromero/patch-1Taylor Holberton
Fix typo in -D and -d options descriptions
2019-05-23Fix typo in -D and -d options descriptionsjcromero
2019-05-11Merge pull request #132 from lucastanure/masterTaylor Holberton
makefile: Don't overwrite CROSS_COMPILE variable
2019-05-11makefile: Don't overwrite CROSS_COMPILE variableLucas Tanure
Signed-off-by: Lucas Tanure <tanure@linux.com>
2019-04-24pcm: Allow to wait if capture is not runningRicardo Biehl Pasquali
This allows starting capture from another thread. See the commit 932a81519572 ("ALSA: pcm: Comment why read blocks when PCM is not running") in Linux kernel. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-04-13Merge pull request #128 from alexonea/masterTaylor Holberton
Easier Version Specification
2019-04-13Merge pull request #130 from pasqualirb/masterTaylor Holberton
pcm: Remove setting unnecessary parameters
2019-04-12pcm: Remove setting unnecessary parametersRicardo Biehl Pasquali
SUBFORMAT is always zero. SAMPLE_BITS and FRAME_BITS are refined by ALSA based on the already set FORMAT and CHANNELS. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-04-11Merge pull request #129 from DanielaBistrean/masterTaylor Holberton
Fix integer division issue in int_to_percent function
2019-04-12Fix integer division issue in int_to_percent functionDaniela-Marinela Bistrean
Changed order of operations to preserve the precision during the division.
2019-04-11Move changelog check ver. from build systems to CIAlexandru N. Onea
This commit moves the changelog version check to the CI instead of the build systems. Rationale is: the failure to update the changelog is not a build failure / issue but rather an integration failure and it should be detected at integration testing. The closest to integration testing is the CI testing which is mandatory before pull requests and new features integration. Additionally, the old version.py script is removed because it is relying on the old version of include/tinyalsa/version.h where the TINYALSA_VERSION_STRING macro is defiend as an explicit string literal. Since now the version string is defined piece-wise and based on the individual version numbers, and since the introduction of version.sh and its use within meson build system to get the version from the version file, the old version.py script is obsolete.
2019-04-10Rename version-bump to just versionAlexandru N. Onea
2019-04-10Add dry-run option to version-bump.shAlexandru N. Onea
2019-04-10Minor improvements to version-bump.shAlexandru N. Onea
2019-04-09Add check action to version-bump.sh; Activate checksAlexandru N. Onea
2019-04-09Add release action to version-bump.shAlexandru N. Onea
2019-04-09Initial version-bump.shAlexandru N. Onea
2019-04-08Generate final version string and number based on major, minor and patchAlexandru N. Onea
2019-01-15Merge pull request #125 from afordcirrus/masterTaylor Holberton
tinymix: fix use of -D with set command
2019-01-15tinymix: fix use of -D with set commandAndrew Ford
Signed-off-by: Andrew Ford <aford@opensource.cirrus.com>
2019-01-13Checking for error in pcm_writei exampleTaylor Holberton
2019-01-13Merge branch 'develop'Taylor Holberton
2019-01-13Added the 'attributes.h' headerTaylor Holberton
2019-01-08pcm: Check for error after setting appl_ptrRicardo Biehl Pasquali
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Cleanup control/status when setup failsRicardo Biehl Pasquali
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Replace 'underruns' with 'xruns'Ricardo Biehl Pasquali
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Create generic transferRicardo Biehl Pasquali
Group read/write transfer into pcm_rw_transfer(). Create pcm_generic_transfer() for read/write and mmap transfer modes. This recovers from xrun and suspended. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Put transfer functions togetherRicardo Biehl Pasquali
A generic transfer function will be created. Put together functions related to it. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Remove 'running' variable from pcm structureRicardo Biehl Pasquali
It is not needed. As the pcm structure is opaque to user it can be safely removed. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Rewrite pcm_mmap_transfer() for compatibilityRicardo Biehl Pasquali
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>
2019-01-08pcm: Exit loop when there are no available framesRicardo Biehl Pasquali
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Put mmap functions togetherRicardo Biehl Pasquali
pcm_mmap_transfer() will be rewritten. Put together functions related to mmap transfer. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Add macro for PREPARED stateRicardo Biehl Pasquali
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Rewrite pcm_get_htimestamp()Ricardo Biehl Pasquali
Use pcm_avail_update(), check avail for timestamp coherence. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Move pcm_get_htimestamp()Ricardo Biehl Pasquali
pcm_get_htimestamp() will be rewritten. Place it after pcm_avail_update(), which will be used in the rewrite. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Get values from kernel in avail_updateRicardo Biehl Pasquali
Instead of sending appl_ptr and avail_min to the kernel, get them. This is the behavior of alsa-lib. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Call HWSYNC ioctl when status is mmapedRicardo Biehl Pasquali
When hardware pointer update is requested and status structure is mmaped, call HWSYNC ioctl. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Remove HWSYNC before available calculationRicardo Biehl Pasquali
Hardware pointer should not be updated in available calculation. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Do not set values after control/status mmapRicardo Biehl Pasquali
It's not necessary to send appl_ptr or avail_min to the kernel here. In prepare action, called later in pcm_open(), appl_ptr becomes zero. avail_min is already defined in software parameters. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
2019-01-08pcm: Get appl_ptr and avail_min after prepareRicardo Biehl Pasquali
appl_ptr becomes zero in prepare action. avail_min is the same as when it was set in software parameters. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>