Age | Commit message (Collapse) | Author |
|
|
|
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..
|
|
|
|
|
|
|