The Advanced Linux Sound Architecture (ALSA) - library
Find a file
Takashi Sakamoto 5ba71a7b81 ctl: add test program for control element set
The feature of control element set has been abandoned for a long time since
firstly introduced in 2003. Furthermore, there's few applications to utilize
this feature. These situations bring a hard work to persons who need the
feature. Especially, a lack of test program make it harder to fix much bugs
in this feature.

This commit adds a test program as a sample of the feature. This program
adds element sets of each element type to 'hw:0' in this order; boolean,
integer, enumerated, bytes, IEC958 and integer64. Each iteration includes
below scheme:

1. add an element set with 900 elements. Each of them has maximum number
   of members allowed by ALSA ctl core.
2. check all of events generated by above operation.
3. retrieve information of each element, then validate it.
4. unlock each member of all elements because they're initially locked.
5. write to all of members in all elements and read.
6. check all of events generated by above operation.
7. write information for threshold level to the element set and read it.
8. check all of events generated by above operation.
9. remove the element set.
10.check all of events generated by above operation.

When any of these operations fail, it means regression occurs. Then, added
elements still remain in a certain sound card. In this case, unloading
drivers corresponding to the card is an easy way to recover.

Besides, this program doesn't perform below element operations of ALSA ctl
feature:
 - list
 - lock
 - replace

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-06-17 15:12:20 +02:00
alsalisp autotools: update style 2014-02-26 08:16:22 +01:00
aserver coverity fixes 2016-01-12 16:26:58 +01:00
doc topology: doxygen: Add doxygen support for topology core. 2015-07-30 17:10:18 +02:00
include ctl: add functions to add an element set 2016-06-16 15:45:58 +02:00
m4 Add the attributes.m4 macro file from xine/lscube. 2008-11-21 13:04:19 +01:00
modules sbase: fixed missing free 2014-09-23 09:04:26 +02:00
src ctl: improve API documentation for threshold level operations 2016-06-16 15:46:00 +02:00
test ctl: add test program for control element set 2016-06-17 15:12:20 +02:00
utils autotools: update style 2014-02-26 08:16:22 +01:00
.gitignore Add src/conf/topology/sklrt286/data/pvt_data to .gitignore 2016-04-28 16:16:08 +02:00
acinclude.m4 fixed for the recent autoconf. 2004-01-26 15:52:17 +00:00
ChangeLog * update to libtool 1.3.3 1999-07-22 12:18:42 +00:00
configure.ac conf/ucm: ROCKCHIP-I2S: rename to VEYRON-I2S 2016-06-09 08:19:04 +02:00
COPYING Updated GNU GPL license (address). 2001-12-30 09:22:54 +00:00
gitcompile Introduce --with-pkgconfdir, add 64-bit defaults to gitcompile 2012-01-20 16:14:44 +01:00
INSTALL doc: fix cross-compiling example 2014-08-25 14:12:38 +02:00
Makefile.am autotools: update style 2014-02-26 08:16:22 +01:00
MEMORY-LEAK Initial version 2003-02-04 14:56:07 +00:00
NOTES Change assert condition in error message handler 2007-10-24 12:53:08 +02:00
TODO Added snd_config_load_override(). 2002-01-09 21:28:15 +00:00