Age | Commit message (Collapse) | Author |
|
https://android.googlesource.com/platform/external/tinyalsa/+/f2d93a540297e75815eeb6644bf675cdae3be909
commit f2d93a540297e75815eeb6644bf675cdae3be909
author HW Lee <hwlee@google.com>
tinymix: fix setting enum str started with digits
For those value strings which are started with digits, they must be set
as enum instead of index value.
Test: with mixer control values started with digits like '48KHz'
Change-Id: I1c70f5613a48d020d3248b71c1e4384f83e33d25
Signed-off-by: HW Lee <hwlee@google.com>
|
|
reference: https://android.googlesource.com/platform/external/tinyalsa/+/8b7274b2ec686c87673bf39328381acbdea1a333
commit 8b7274b2ec686c87673bf39328381acbdea1a333
author Haynes Mathew George <hgeorge@codeaurora.org>
tinyplay: play PCM up to size specified in the header
tinyplay plays to the end of file without checking whether playback
goes beyond end of data section which its size is specified in the
RIFF wave header. This could lead to playing out unwanted data which
is placed at the end of file.
authored-by: Patrick Lai <plai@codeaurora.org>
Change-Id: I17bd3f6ebca4813f8987585472208c1f52696cae
|
|
commit f451f433520fc154de6e371747f21d2f746da83b
author Glenn Kasten <gkasten@google.com>
tinyalsa: fix typos in tinyplay and asoundlib.h
Test: run tinyplay and look for typos in the output
Change-Id: Ieedcc1b7610700aa3d5ff913d5c01105db2c1601
|
|
|
|
Fix mixer set/get for tlv based controls
|
|
|
|
TLV header is added by tinyalsa library. Remove tlv
header addition from tinymix to avoid adding it twice.
|
|
|
|
|
|
|
|
|
|
Add public domain header-only option-parsing library optparse
|
|
This also removes the requirement for the file argument to come before
options.
|
|
add equivalent longopts that are available in other commands
|
|
|
|
|
|
https://github.com/skeeto/optparse
|
|
|
|
|
|
|
|
|
|
Cross-compilation failing due to make library resolution.
|
|
Plugin support
|
|
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>
|
|
Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
|
|
|
|
Signed-off-by: Andrew Ford <aford@opensource.cirrus.com>
|
|
The Meson build system is being adopted by projects
such as GNOME, PulseAudio, GStreamer, VLC, systemd, Mesa,
Wayland, X.org, and many others. Having a meson build
upstream in tinyalsa would allow for easy use of tinyalsa
as a Meson subproject in other projects.
https://mesonbuild.com
|
|
|
|
|
|
The current format of the data printed for enumeration controls is to
list all the control values with no separator between them and to place
a comma before the currently selected value. This format is hard to
parse as a human and very difficult to parse automatically. Change this
to separate individual values with a comma and mark the selected value
with a right angle bracket.
For example, the following output is given for the "AEC Loopback"
control on one of our CODECs:
HPOUT1LHPOUT1R, SPKOUTSPKDATLSPKDATR
After the change this becomes:
HPOUT1L, HPOUT1R, > SPKOUT, SPKDATL, SPKDATR,
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
|
|
It is only required to obtain the value of the control once whilst
processing tinymix_print_enum. This will significantly reduce the amount
of IOCTLs sent for reading an enum control.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
|
|
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
|
|
|
|
|
|
|
|
pcm_writei expects size of data in frames, whereas currently size
is passed as number of bytes. So convert number of bytes to frames
for argument to pcm_writei.
Signed-off-by: Jaikrishna Nemallapudi <jaikrishnax.nemallapudi@intel.com>
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
|
|
|
|
The arguments passed after the set command are not handled properly,
leading to segfaults or inability to set controls
Example with control 0 which is Headset Volume on my NUC:
before fix
$ ./tinymix set 0
Segmentation fault
$ ./tinymix set 0 10
Segmentation fault
$ ./tinymix set 0 10 20
Error: 3 values given, but control only takes 2
After correction
$ ./tinymix set 0
no value(s) specified
$ ./tinymix set 0 10
$ ./tinymix set 0 10 10
$ ./tinymix set 0 10 10 10
Error: 3 values given, but control only takes 2
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
|
|
|
|
|
The TLV byte controls expect a TLV header as well. Check for TLV
access and add TLV header size before invoking mixer API.
Change-Id: I12ba129e5bbc0676e80eb920e85b3683decfe0db
Signed-off-by: Pawse, GuruprasadX <guruprasadx.pawse@intel.com>
Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
|
|
The newer pcm_readi and pcm_writei functions are now being used.
|
|
The changed was brought on by to early commits to the PCM API.
|
|
|
|
|
|
|
|
|
|
|
|
hundreds of paths on the audio side of this chip.
There was a recent change whereby tinymix will ALWAYS prints the routes/paths
for the different ports on ALSA. I consider this to be a regression. It
really should only be printed if asked.
In addition, I've modified tinymix to more closely conform to the following:
https://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
Lastly, I removed a redundant errno.h..
|