aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2016-11-19origanized and added some documentationTaylor Holberton
2016-10-01added some documentation to mixer interfaceTaylor Holberton
2016-10-01added basic pcm documentationTaylor Holberton
2016-10-01seperated pcm and mixer APIsTaylor Holberton
2016-10-01added support for more signed typesTaylor Holberton
2016-09-16Merge branch 'address-duplicate-control-names' of ↵Taylor Holberton
https://github.com/dawagner/tinyalsa into dawagner-address-duplicate-control-names
2016-08-03Added get_file_descriptor()Taylor Holberton
2015-10-12asound.h: include <time.h> to get struct timespec prototyperofl0r
without including it, we get In file included from mixer.c:44:0: include/sound/asound.h:337:18: error: field 'trigger_tstamp' has incomplete type include/sound/asound.h:338:18: error: field 'tstamp' has incomplete type etc.
2015-09-15Merge pull request #48 from vinodkoul/wait_delaySimon Wilson
Wait delay
2014-09-09mixer: Add mixer_ctl_get_idRichard Fitzgerald
Add a function to get an id of a control that can be passed to mixer_get_ctl(). This can be used to lookup a control by name and store its id for later use rather than have the overhead of name lookup each time it is used. Lookup by id is quick and avoids the disadvantage that storing a pointer to the mixer_ctl object creates a client with a dependency on the address of the internal control array. Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
2014-08-12tinyalsa: add pcm_get_subdevice()David Wagner
The users of tinyalsa had no way of knowing on which subdevice a stream had been created. A new API, "unsigned int pcm_get_subdevice(struct *pcm)" returns it. This information is filled during the pcm_open() Change-Id: Ie866e10e06ce6691ede09e2ca46a24441723ea8b Signed-off-by: David Wagner <david.wagner@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2014-08-12Tinyalsa: add pcm_delay()Hardik T Shah
ALSA supports reporting of pcm_delay, make that availble to the users of tinyalsa too Change-Id: Ic460f5c55137d263fdf7b142503d3bd52c4b7ebd Signed-off-by: Hardik T Shah <hardik.t.shah@intel.com> Signed-off-by: Apelete Seketeli <apeletex.seketeli@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2014-06-03Update tinypcminfo to display format informationAndy Hung
Change-Id: I0e6a04da5a4b122a3748b16c7eb01c4a224c3d84 Signed-off-by: Andy Hung <hunga@google.com>
2014-06-03Merge pull request #34 from elaurent/masterSimon Wilson
add support for mmap read
2014-05-08Merge pull request #33 from gkasten/CL_avsyncSimon Wilson
pcm_get_htimestamp can now use CLOCK_MONOTONIC
2014-05-06Merge pull request #23 from roml/cleanupSimon Wilson
Clean up asoundlib.h header file
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
2014-04-22Add a function to disambiguate duplicate control namesFrédéric Boisnard
Control names are not unique and can be shared by multiple mixers controls. When this happens, there is no way of accessing the mixer using its control name, because mixer_get_ctl_by_name() always returns the first match. The only way of accessing the mixer is through its control number, i.e. using mixer_get_ctl(). This patch adds the function mixer_get_ctl_by_name_and_index() to offer the possibility to retrieve a control through its name and index. This index corresponds to the nth occurence of the control name in the global supported controls names list. Change-Id: Ie29bf2a949ecf69f106bbe359155cdbfbe98928c Signed-off-by: Frédéric Boisnard <fredericx.boisnard@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: 139255
2013-09-27add support for mmap readEric Laurent
2013-09-03pcm_get_htimestamp can now use CLOCK_MONOTONICGlenn Kasten
Previously the timebase was not documented. Now a new pcm_open flag can be used to specify the clock. If flag PCM_MONOTONIC is specified, then pcm_open uses SNDRV_PCM_IOCTL_TTSTAMP with parameter SNDRV_PCM_TSTAMP_TYPE_MONOTONIC to request timestamps in CLOCK_MONOTONIC. Change-Id: I40ce359cb38d686cbb2521fb0602a8a17ab4f925
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.
2012-12-18Clean up asoundlib.h header fileRom Lemarchand
Remove unused constants and unimplemented functions.
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-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-22Add pcm_wait() to the tinyalsa API.Gabriel M. Beddingfield
2012-10-22pcm: Add support for S8 and S24LE formats.Gabriel M. Beddingfield
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-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-02-10pcm: Constify write buffersMark Brown
Mark the write buffers as const - they won't be modified and this is friendlier to applications.
2011-10-27include: fix header comments and argumentsPierre-Louis Bossart
Comment on buffer size was wrong. Argument to bytes_to_frames is bytes, not frames
2011-10-13pcm: add mmap playback and no periodic IRQ support.Liam Girdwood
Add mmap playback and no period IRQ support to pcm core.
2011-07-27pcm: add control for ASLA thresholds to pcm_openJohn Grossman
Add the ability to explicitly set start, stop and silence thresholds during tinyalsa's pcm_open. Setting any of these values to 0 in your pcm_config structure will cause the system to use its old defaults.
2011-07-27include: make it easier to use this header from C++John Grossman
Add a extern "C" controlled by an #ifdef __cplusplus directive so that this header can be included from C++ code without having to explicitly control the linkage.
2011-07-27Merge pull request #2 from broonie/add-includetinyalsa
include: Add a local asound.h to allow build with current public releases
2011-07-25pcm: add pcm_get_htimestamp() functionEric Laurent
pcm_get_htimestamp() returns the number of available frames in the kernel driver buffers as well as the corresponding high resolution time stamp.
2011-07-21include: Add a local asound.h to allow build with current public releasesMark Brown
Bionic does not ship a copy of asound.h and it should do no harm to have a local copy here.
2011-06-24pcm: add pcm_start/stop() functions for streamsSimon Wilson
This is essential for streams such as loopback devices that do not transfer data.
2011-06-06Add integer range getters to mixerSimon Wilson
2011-06-05Implement mixer setting in tinymixSimon Wilson
- re-add function to set enum type by string - implement setting of mixer values in tinymix - fix bug: read current mixer values before writing
2011-06-05Add enum support to mixerSimon Wilson
- simplify interface for setting/getting enum values - implement enum string get function - update tinymix to deal with enums - rename set/get_int functions because of supported types
2011-06-04Improve mixer supportSimon Wilson
- support get/set of multiple values - add parameter checking to functions - add api function to get control type - add tinymix utility to list mixer controls
2011-06-02Support multiple cards and devicesSimon Wilson
2011-05-25Initial contributionSimon Wilson