aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-09-24Defer filling enum-type mixers informationDavid.Coutherut
Currently, all information about all mixers are fetched during mixer_open(). For enum mixers, an additional step gets the string for each enumerated value - this can lead to a lot of ioctls and take time even when these mixers aren't used afterward. Defer fetching integer/string mapping values when needed (when getting/setting a enum mixer). Change-Id: I3681699eb55631a2bc7a1e66bf08aff3a845534f Signed-off-by: David Coutherut <davidx.coutherut@intel.com> Signed-off-by: David Wagner <david.wagner@intel.com> Author-Tracking-BZ: 113043
2014-05-06Merge pull request #31 from rfvirgil/masterSimon Wilson
tinycap: support streaming captured PCM to stdout
2014-05-06mixer: Control input value in mixer_ctl_set_valueAndroidict
When user want to set a mixer control with a value out of range, the mixer control will be set at its maximum
2014-05-06Merge pull request #23 from roml/cleanupSimon Wilson
Clean up asoundlib.h header file
2014-05-06Merge pull request #21 from quantumdream/masterSimon Wilson
Setting binary controls
2014-04-30Merge pull request #39 from dawagner/separate-pcm-prepareSimon Wilson
Add separate call for pcm prepare
2014-04-29tinyalsa: add separate call for pcm prepareOmair Mohammed Abdullah
Tinyalsa combines PREPARE and START calls to the driver in the pcm_start() function. Typically, this is needed for making a driver allocating hardware resources that are not related to a PCM stream. Change-Id: Ic83fad784936bbebab28e8e425debd449182db88 Signed-off-by: Omair Mohammed Abdullah <omair.m.abdullah@linux.intel.com> Signed-off-by: David Wagner <david.wagner@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Author-Tracking-BZ: 73509
2013-10-30tinymix: Add support for setting/getting a binary controlDimitris Papastamos
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
2013-08-13tinycap: support streaming captured PCM to stdoutRichard Fitzgerald
It is sometimes useful for testing to be able to stream the captured PCM to another tool instead of being forced to save it to a WAV file. Using '--' instead of the target filename will send the raw PCM to stdout (without any header). Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
2013-07-17tinymix: only print mixer name for full mixer dumpSimon Wilson
2013-07-17tinycap: support 24 bit captureSimon Wilson
2013-07-17pcm: support S24_LE formatSimon Wilson
S24_LE is 24 bit audio in a 32 bit sample size. Also make the pcm_format_to_bits() function part of the API since it will be required for tinycap.
2013-06-28mixer: add mixer_get_name() APISimon Wilson
2013-06-28mixer: add mixer_ctl_update() APISimon Wilson
Some sound cards update their controls due to external events, such as HDMI EDID byte data changing when an HDMI cable is connected. This API allows the count of elements to be updated.
2013-05-07mixer: add get/set_array APISimon Wilson
This replaces (and extends) the existing get/set_bytes API, which is no longer required.
2013-04-30tinycap: convert size from frames to bytesceskobassman
2012-12-18Clean up asoundlib.h header fileRom Lemarchand
Remove unused constants and unimplemented functions.
2012-12-14Merge pull request #22 from roml/errmsgSimon Wilson
tinyplay: Make error messages more meaningful
2012-12-14Makefile: remove tinypcminfo during cleanSimon Wilson
2012-12-14tinyplay: Make error messages more meaningfulRom Lemarchand
Compare file parameters with device capabilities and print out the reason(s) why a certain file couldn't be played.
2012-12-03Add tinypcminfo utilitySimon Wilson
This uses the new pcm_params_* API.
2012-12-03pcm: add pcm_get_params APISimon Wilson
This enables the capabilities of any given PCM to be queried. Created with input from Priyesh Bisla and Gabriel Beddingfield.
2012-11-09Add -Wall to Makefile and fix warningsSimon Wilson
2012-11-09tinyplay: add clean shutdown handler for ctrl-cLiam Girdwood
Shutdown gracefully on ctrl-c signals
2012-11-09Merge pull request #15 from quantumdream/masterSimon Wilson
Add mixer_ctl_{get,set}_data()
2012-11-09tinymix: Add support for passing control nameMisael Lopez Cruz
Allow mixer controls to be accessed through the name, not only by id.
2012-10-24tinyalsa: Add a CROSS_COMPILE variable in the MakefileDimitris Papastamos
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
2012-10-24mixer: Add mixer_ctl_{set,get}_bytes()Dimitris Papastamos
For binary controls we don't want to go through mixer_ctl_{set,get}_value() as that will trigger many calls to our get()/put() callback in the kernel. Set the entire payload at once and trigger the get()/put() callback once. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
2012-10-22Merge pull request #16 from PeterMalkin/masterSimon Wilson
Correctly fill the value for riff chunk size in the WAV file produced by tinycap
2012-10-22Add pcm_wait() to the tinyalsa API.Gabriel M. Beddingfield
2012-10-22tinyplay: Add missing header file <string.h>Gabriel M. Beddingfield
2012-10-22Fix several 'symbol defined but not used' warnings.Gabriel M. Beddingfield
2012-10-22pcm: Add support for S8 and S24LE formats.Gabriel M. Beddingfield
2012-09-18tinymix: support setting of multiple control valuesSimon Wilson
This allows stereo controls to be set with different values for left and right.
2012-09-18pcm: fix default capture start thresholdEric Laurent
Default start threshold was set to the same value (half of the buffer size) for playback and capture in pcm_open(). The normal default value for capture should be 1 frame.
2012-07-03Report correct chunk size per RIFF format requirementsPeter Malkin
Change-Id: I72948868c4da88556b022ca2c583a351c5019022
2012-05-15Merge pull request #14 from kyoungpark/mastertinyalsa
pcm: add error check for pcm_start in pcm_read
2012-05-15Merge pull request #13 from mesak82/tinycap_headertinyalsa
tinycap: Fix byte_rate and block_align values
2012-05-10add error check for pcm_startKeunyoung
- Otherwise, read will be tried even after pcm_start is failed. This leads into blocking inside the read ioctl forever. pcm_start can fail, for example in full-speed USB audio device, in some H/W, due to the lack of bandwidth in USB bus,
2012-05-04pcm: Add PCM_NORESTART flagJohn Grossman
Add a flag which can be passed to pcm_open (called PCM_NORESTART). When set on a playback stream, calls to pcm_write will not automatically attempt to restart an ALSA device in the case of an underflow. Instead, it will propagate the first EPIPE error up to the application to allow it to handle the underflow situation. Subsequent calls to pcm_write will attempt to start the pipeline.
2012-05-04mixer: add missing include for sys/ioctl.hSimon Wilson
2012-05-04tinyplay: add multichannel supportSimon Wilson
Improve the reading of the RIFF WAVE header so that unrecognised chunks are skipped, which means that extra chunks are not played as if they were audio data. This ensures that all channels for multichannel playback line up correctly. Change-Id: Ifdb3cb73b3c0bf41a1e271068d263cd01116616c
2012-04-05tinycap: Fix byte_rate and block_align valuesMisael Lopez Cruz
'byte_rate' and 'block_align' sections of the WAV header were calculated using an invalid 'bits_per_sample' value. 'bits_per_sample' is now set before it gets used by other fields. Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
2012-03-08mixer: remove redundant IOCTL_ELEM_READsSimon Wilson
2012-03-08mixer: simplify string get APIsSimon Wilson
Just like the pcm_get_error() API, simplify the mixer API functions to return pointers to constant strings instead of making copies of strings.
2012-03-08tinycap: add missing options to usage stringSimon Wilson
2012-02-14Merge pull request #10 from axelcx/tiny-alsa-titinyalsa
tinyplay: Use buffer size in bytes instead of frames
2012-02-13tinyplay: Use buffer size in bytes instead of framesAxel Castaneda Gonzalez
pcm_write expects to receive buffer size given in bytes, but tinyplay sends as a parameter the size in frames, which causes audio sample data loss for some scenarios where more than 2 channels are used. For example: When using 6 channels and 1024 as period size: -On tinyplay side size=4096 (buffer_size) -On pcm_write (pcm.c) x.frames = count / (pcm->config.channels * pcm_format_to_bits(pcm->config.format) / 8); x.frames = 4096 / (6 * 16/8) x.frames = 341.33 (decimal part is discarded, 4 bytes are lost every pcm_write) -- In this case, 4 bytes are lost, which causes a shift of the channels. Use buffer size in bytes in order to avoid this problem. Signed-off-by: Axel Castaneda Gonzalez <x0055901@ti.com>
2012-02-10Merge pull request #4 from broonie/pcmtinyalsa
pcm: Factor out pcm_start() from pcm_read()
2012-02-11pcm: Factor out pcm_start() from pcm_read()Mark Brown
When starting the stream we're doing the same as a start()