summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Release v1.0.23v1.0.23Jaroslav Kysela2010-04-161-1/+1
| | | | Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* pcm_share plugin: fix pcm->monotonic setup in open() functionJaroslav Kysela2010-04-131-1/+1
| | | | Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* pcm_hw - show errno codesJaroslav Kysela2010-03-101-36/+36
| | | | Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* pcm direct plugins: drain() call might be blocked when threads are usedJaroslav Kysela2010-03-035-14/+20
| | | | | | | | | Add SETUP state checks and do modifications according latest ALSA driver (passing wrong event identification). ALSA bug#4914 Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* pcm_dmix: add support for S24_LE formatJaroslav Kysela2010-03-024-1/+11
| | | | | From: Bart De Vos <bart_dv@eia.be> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* Fix snd_pcm_sw_params_set_period_event() implementationJaroslav Kysela2010-02-231-2/+2
| | | | | | Fix the PCM timer open subdevice number in the pcm_hw plugin. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* pcm: fix read_areas and write_areasJaroslav Kysela2010-01-311-39/+48
| | | | | | The stream state was wrongly updated and handled. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* modem.conf Off-hook improve behaviorDavid Fries2010-01-223-1/+24
| | | | | | | | | | | | | | | Only restore the old value if it differs from the requested value, because if it has changed restoring the old value overrides the change. Take for example, a voice modem with a .conf that sets preserve off-hook. Start playback (on-hook to off-hook), start record (off-hook to off-hook), stop playback (off-hook to restore on-hook), stop record (on-hook to restore off-hook), Clearly you don't want to leave the modem "on the phone" now that there isn't any playback or recording active. Signed-off-by: David Fries <david@fries.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* add atomic operations for Blackfin partsMike Frysinger2010-01-181-0/+23
| | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* pcm: Fix the sound distortions for S24_3LE stream in pcm_softvol pluginZerg Cannibal2009-12-211-2/+20
| | | | | | | | | This patch fixes sound distortions in alsa-lib "softvol" for S24_3LE sound stream, when softvol slider is not at 0.0dB position. Signed-off-by: CannibalZerg <cnb_zerg@yahoo.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* pcm: Close event timer in pcm_hw pluginJaroslav Kysela2009-12-211-12/+14
| | | | | | | | | | | | Dan McCombs discovered that snd_pcm_close() invocations are not leading to associated timers being closed, which results in successively more timers being created but not freed. Original patch from Daniel T Chen <crimsun@ubuntu.com>. BugLink: https://bugs.launchpad.net/bugs/451893 Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* Release v1.0.22v1.0.22Jaroslav Kysela2009-12-161-1/+1
| | | | Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* mixer: fix enum checkClemens Ladisch2009-11-231-1/+0
| | | | | | | | The recent CHECK_ENUM fix uncovered a bug in snd_mixer_selem_is_enumerated() which would now return -EINVAL for any non-enum control, which would be interpreted as 'true' by callers like amixer or alsamixer. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* simple_none.c uses HAVE_SOFT_FLOAT it has to include config.hMichael Olbrich2009-11-161-0/+1
| | | | | | | | for this to work properly. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* configure.in: fix --without-softfloatMarc Kleine-Budde2009-11-161-2/+5
| | | | | | | | Using --without-softfloat or --with-softfloat=no results in using softfloat. This patch fixes the problem. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* Update pcm doc stringsMads Kiilerich2009-11-141-14/+16
| | | | | | | This is information I needed and is based on my understanding of information from Takashi Iwai. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Remove redefinition of _GNU_SOURCE and __USE_GNUTakashi Iwai2009-11-083-5/+0
| | | | | | Now _GNU_SOURCE is already defined globally in configure.in. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Fix CHECK_ENUM() in simple.cTakashi Iwai2009-11-081-1/+1
| | | | | | | simple.c: In function ‘snd_mixer_selem_is_enumerated’: simple.c:881: warning: suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’ Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Define _GNU_SOURCE so that <fcntl.h> gives O_CLOEXECRémi Denis-Courmont2009-11-081-0/+2
| | | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Remove old commented-out FD_CLOEXEC codeRémi Denis-Courmont2009-11-086-67/+0
| | | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Open device nodes with close-on-exec flagRémi Denis-Courmont2009-11-081-12/+18
| | | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Defined symbols exposing the hrtimer to applications.Pedro Lopez-Cabanillas2009-11-082-0/+3
| | | | | Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* namehint: list card independent devices only onceJaroslav Kysela2009-11-031-4/+24
| | | | | | | | Card-independent devices such as "null" or "pulse" should only be added once, not once for each card. Signed-off-by: John Lindgren <john.lindgren@tds.net>\ Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* namehint: Allow snd_device_name_hint to search for CTL devices.Jaroslav Kysela2009-11-031-0/+2
| | | | | Signed-off-by: John Lindgren <john.lindgren@tds.net> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* namehint: add missing list->card initializationJaroslav Kysela2009-11-031-0/+1
| | | | | | | | | | | list->card is wrongly assumed to be initialized, but the previous initialization is within a conditional that is false when only card-independent devices are found. (This is the case when searching for mixers on my system; the end result is that the "pulse" mixer is listed three times.) Signed-off-by: John Lindgren <john.lindgren@tds.net> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* Cache libasound.so access in snd_dlopenJaroslav Kysela2009-11-031-3/+7
| | | | | | | | | Speed up repeated calls to snd_dlopen by caching the path to libasound.so; this reduces the instructions executed by snd_device_name_hint by 40 percent. Signed-off-by: John Lindgren <john.lindgren@tds.net> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* Fix corruption after snd_device_name_hint()Takashi Iwai2009-11-031-1/+4
| | | | | | | | | | | | | | | | | | snd_device_name_hint() corrupts the config name space after its call. This results in the error from the suceeding calls of snd_pcm_open() after snd_device_name_hint(). The bug is in try_config() in namehint.c; it calls snd_config_delete(res) but res can be two different objects in the function. One is the object obtained via snd_config_search_definition(), and another is the one from snd_config_search_alias_hooks(). The former is the expanded objects, thus it should be freed. But, the latter is a reference, and must not be freed. This patch adds the check to free or not. Reported-by: John Lindgren <john.lindgren@tds.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* hcontrol: fix compare_default function to handle also id.device and id.subdeviceJaroslav Kysela2009-10-061-4/+10
| | | | | | | In case when kcontrol differs only by device or subdevice numbers, the find function can give wrong results. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* alisp: Comment out an unused function to avoid compiler warnings.Stefan Schmidt2009-09-301-0/+4
| | | | | | | | The function should be useful later so keep it in place and just comment it out until it is actually used. Signed-off-by: Stefan Schmidt <stefan@slimlogic.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* pcm_rate_linear: Annotate unused function parameter to avoid compiler warnings.Stefan Schmidt2009-09-301-4/+5
| | | | | Signed-off-by: Stefan Schmidt <stefan@slimlogic.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* control: Remove unused variable.Stefan Schmidt2009-09-301-1/+1
| | | | | Signed-off-by: Stefan Schmidt <stefan@slimlogic.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* configure.in: Add m4 check for new AM_SILENT_RULESStefan Schmidt2009-09-301-0/+3
| | | | | | | | | | Kbuild like output for automake (>=1.11). It's no hard dependency as it needs the newest automake, but enable it by default if it is available. To turn it off you can either use --disable-silent-rules at configure time or make V=0 at compile time. Signed-off-by: Stefan Schmidt <stefan@slimlogic.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* cvscompile: Remove in favour of gitcompile.Stefan Schmidt2009-09-301-19/+0
| | | | | | | | Alsa-lib is no longer hosted in cvs but in git and the only difference between both helper scripts is the name of the NO_MAKE env VAR check. Signed-off-by: Stefan Schmidt <stefan@slimlogic.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* dmix - Fix snd_pcm_info()Takashi Iwai2009-09-281-1/+4
| | | | | | | | Call the slave snd_pcm_info() as long as possible in the direct plugins (i.e. when the PCM device could be opened with O_APPEND mode). This allows dmix/dsnoop as a salve for PCM hook controls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* pcm_hw: Always use delay ioctl in snd_pcm_delay()Kai Vehmanen2009-09-111-22/+0
| | | | | | | | | | | | | As the result of snd_pcm_delay() is affected not only by hw_ptr and appl_ptr, but also by 'runtime->delay' property, either SNDRV_PCM_IOCTL_DELAY or SNDRV_PCM_IOCTL_STATUS ioctl must be used to get the correct result. Previously 'runtime->delay' was ignored in case 'hw->sync_ptr' was used. Signed-off-by: Kai Vehmanen <kvehmanen@eca.cx> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Release v1.0.21av1.0.21aJaroslav Kysela2009-09-091-1/+1
| | | | Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* PCM - Change the hw_params determination orderTakashi Iwai2009-09-091-9/+24
| | | | | | | | | | | | | In snd_pcm_hw_params_choose(), set the buffer size before the period size and time as default. This will give more useful configuration for most of apps, i.e. larger buffer size. For apps that require the old behavior, now the function checks the environment variable $LIBASOUND_COMPAT. If this variable is set to non-empty, the hw_params is determined in the old way, first period then buffer sizes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Change dmix.conf to accept user configuration from defaults.dmix.<driver_id>.xxxJaroslav Kysela2009-09-091-6/+6
| | | | | | | An attempt to fix problem described in reverted patch "Fix driver conf parsing in snd_config_hook_load_for_all_cards()". Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* Revert "Fix driver conf parsing in snd_config_hook_load_for_all_cards()"Jaroslav Kysela2009-09-091-2/+3
| | | | | | | | | | | This reverts commit 96da0c842d14b40ce8e37726b259229634b3aa21. This way of fix brokes card-specific configuration loading. See http://bugzilla.redhat.com bug#521988 for details. Appropriate way to handle this problem is to fix the dmix configuration file. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* mixer: Add Speaker and Beep names to the weight listTakashi Iwai2009-08-311-0/+2
| | | | | | | Added strings "Speaker" and "Beep" to the weight list so that the entries appear in more appropriate positions. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Release v1.0.21v1.0.21Jaroslav Kysela2009-08-311-1/+1
| | | | Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* pcm/ioplug: fix error code in start callbackTakashi Iwai2009-08-211-1/+1
| | | | | | | When snd_pcm_start() is called in the invalid state, it should return -EBADFD. But ioplug plugin returns -EAGAIN. Let's fix it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* pcm: workaround for avoiding automatic start in mmap modeTakashi Iwai2009-08-211-5/+29
| | | | | | | | | | | | | | | | In the normal mmap mode, the stream isn't started automatically even after the data >= start_threshold has been written. However, in the mmap-emulation mode, the stream is started because it uses snd_pcm_write_areas() internally. As a workaround for this inconsistency, start_threshold value is changed dynamically in sw_parmams and mmap_commit callbacks in mmap-emul plugin. Meanwhile, start_threshold for slave PCM is set to boundary so that only this plugin (or the one over it) can control the start of the stream. This will fix problems in some apps using pulse plugin in the mmap mode. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Fix driver conf parsing in snd_config_hook_load_for_all_cards()Takashi Iwai2009-08-101-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Kevin Goodsell. Summary: load_for_all_cards fails with existing configuration elements In snd_config_hook_load_for_all_cards, the first call to snd_config_search attempts to locate an existing configuration node with the name of the driver. Typically none is found, and everything is good. However, if such a node is located, the next line assumes it is a leaf node with type 'string' and calls snd_config_get_string to fetch the string value. If this fails, the entire hook is abandoned. Because of this, setting something like the following in asoundrc: cards.<driver name>.foo 0 is sufficient to disable the entire card-specific configuration. As a concrete example, I have a HDA-Intel sound card. dmix.conf includes a way to set period_size, period_time, and periods by using configuration elements of the form cards.<driver name>.pcm.dmix.<var>. In ~/.asoundrc I add cards.HDA-Intel.pcm.dmix.period_size 1024 This will cause HDA-Intel.conf to fail to load, and the pcm defined in default.conf will fail to find the device-specific pcm cards.HDA-Intel.pcm.default, and fall back on the default pcm using plughw. By attempting to configure dmix, I have disabled it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* control.c: snd_ctl_wait: fix revents handlingClemens Ladisch2009-08-101-17/+10
| | | | | | | The revents parameter of snd_ctl_poll_descriptors_revents() is a single value, not an array. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* timer_query: make ops structure constantClemens Ladisch2009-08-101-1/+1
| | | | | | | | The contents of the snd_timer_query_ops structure are not going to be changed, so we might as well declare is as constant. This change avoids a warning if some ops structure is actually defined as const. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* snd_pcm_scope_set_ops: make ops parameter constClemens Ladisch2009-08-102-3/+4
| | | | | | | | | The contents of the snd_pcm_scope_ops structure are not going to be changed, so we might as well declare is as constant. This change is backwards compatible, and avoids warnings if some ops structure is actually defined as const. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* Fix zero-division in pcm_rate.cTakashi Iwai2009-08-101-1/+1
| | | | | | Patch from Debian bug#539454 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* fix doc errorsClemens Ladisch2009-08-0413-17/+22
| | | | | | Fix various errors in the documentation that make doxygen complain. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* doc: hide structs with typedefsClemens Ladisch2009-08-041-0/+1
| | | | | | | | In the documentation, hide structure types that have a corresponding typedef. Since doxygen 1.5.4, this is no longer the default when OPTIMIZE_OUTPUT_FOR_C is set. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>