]>
git.alsa-project.org Git - alsa-lib.git/log
Jaroslav Kysela [Wed, 10 Dec 2025 15:18:06 +0000 (16:18 +0100)]
conf: NFORCE: define pcm configuration block only one time
There may be multiple NFORCE soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:57 +0000 (16:17 +0100)]
conf: Maestro3: define pcm configuration block only one time
There may be multiple Maestro3 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:57 +0000 (16:17 +0100)]
conf: Loopback: define pcm configuration block only one time
There may be multiple Loopback soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:57 +0000 (16:17 +0100)]
conf: ICH,ICH4,ICH-MODEM: define pcm configuration block only one time
There may be multiple ICH soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:57 +0000 (16:17 +0100)]
conf: ICE17[12][24]: define pcm configuration block only one time
There may be multiple ICE17[12][24] soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:47 +0000 (16:17 +0100)]
conf: HdmiLpeAudio: define pcm configuration block only one time
There may be multiple HdmiLpeAudio soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:47 +0000 (16:17 +0100)]
conf: GUS: define pcm configuration block only one time
There may be multiple GUS soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:46 +0000 (16:17 +0100)]
conf: FWSpeakers: define pcm configuration block only one time
There may be multiple FWSpeakers soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:46 +0000 (16:17 +0100)]
conf: FM801: define pcm configuration block only one time
There may be multiple FM801 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:46 +0000 (16:17 +0100)]
conf: FireWave: define pcm configuration block only one time
There may be multiple FireWave soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:45 +0000 (16:17 +0100)]
conf: ES1968: define pcm configuration block only one time
There may be multiple ES1968 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:45 +0000 (16:17 +0100)]
conf: ENS137[01]: define pcm configuration block only one time
There may be multiple ENS137[01] soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:17:45 +0000 (16:17 +0100)]
conf: EMU10K1X: define pcm configuration block only one time
There may be multiple EMU10K1X soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:08:42 +0000 (16:08 +0100)]
conf: EMU10K1: define pcm configuration block only one time
There may be multiple EMU10K1 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 15:08:42 +0000 (16:08 +0100)]
conf: Aureon51: define pcm configuration block only one time
There may be multiple Aureon51 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: Echo3G: define pcm configuration block only one time
There may be multiple Echo3G soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: CS46xx: define pcm configuration block only one time
There may be multiple CS46xx soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: CMI8xxx: define pcm configuration block only one time
There may be multiple CMI8xxx soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: CA0106: define pcm configuration block only one time
There may be multiple CA0106 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: AU88[123]0: define pcm configuration block only one time
There may be multiple AU88[123]0 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: Aureon: define pcm configuration block only one time
There may be multiple Aureon soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: Audigy: define pcm configuration block only one time
There may be multiple Audigy soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: AACI,ATIIXP: define pcm configuration block only one time
There may be multiple AACI,ATIIXP soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: vc4-hdmi: define pcm configuration block only one time
There may be multiple vc4-hdmi soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
BugLink: https://github.com/alsa-project/alsa-lib/issues/488
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: HDA-Intel: define pcm configuration block only one time
There may be multiple HDA-Intel soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:12:47 +0000 (12:12 +0100)]
conf: USB-Audio: define pcm configuration block only one time
There may be multiple USB soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 10 Dec 2025 11:03:29 +0000 (12:03 +0100)]
Revert "conf: fix load_for_all_cards() - do not merge the card specific contents"
This reverts commit
eda76146c5653ff1d5bc4b4c53f7a2d5ccc17da2 .
Also, revert additional related commits:
Revert "conf: fix possible memory leak in config_file_open() - error path"
This reverts commit
2f59398c83b8065fb9ff58939df3a9187746068e .
Revert "conf: merge card specific contents per file (whole) after parsing"
This reverts commit
a6238053c4fa518b214f99d91a01b96c5ef6e3ca .
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 9 Dec 2025 17:39:52 +0000 (18:39 +0100)]
conf: fix possible memory leak in config_file_open() - error path
Fixes: a6238053 ("conf: merge card specific contents per file (whole) after parsing")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 9 Dec 2025 17:04:07 +0000 (18:04 +0100)]
conf: merge card specific contents per file (whole) after parsing
Unfortunately, mentioned fix caused a regression for items stored in one file.
Merge the file contents after parsing not inside parsing process.
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2420645
Fixes: eda76146 ("conf: fix load_for_all_cards() - do not merge the card specific contents")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 9 Dec 2025 16:48:34 +0000 (17:48 +0100)]
ucm: exec - fix maxfd used warning
Fixes: a068cf08 ("ucm: use closefrom instead of close_range")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Mike Gilbert [Tue, 9 Dec 2025 04:46:17 +0000 (23:46 -0500)]
ucm: use closefrom instead of close_range
closefrom is a library function with a fallback mechanism for when the
kernel does not support the close_range syscall.
Also check for the function properly instead of assuming it is available
with _GNU_SOURCE defined.
Closes: https://github.com/alsa-project/alsa-lib/pull/486
Fixes: https://github.com/alsa-project/alsa-lib/issues/485
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Sun, 7 Dec 2025 19:41:56 +0000 (20:41 +0100)]
Release v1.2.15
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
SimonQian [Wed, 19 Nov 2025 06:46:45 +0000 (14:46 +0800)]
include: fix typo in error.h to avoid compile error when gcc <= 2.95
Closes: https://github.com/alsa-project/alsa-lib/pull/483
Signed-off-by: SimonQian <vsfos@qq.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 1 Dec 2025 15:39:15 +0000 (16:39 +0100)]
ucm: add ValueGlobals section to the top configuration file
BootCardGroup and BootCardSyncTime variables should not be listed
by default in _identifiers. Handle them differently using
ValueGlobals section.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 2 Dec 2025 09:59:19 +0000 (10:59 +0100)]
ucm: fix the DefineRegex issue where multiple variables were set to empty string
It is not required to set variables in undefined groups to empty string.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 2 Dec 2025 09:08:58 +0000 (10:08 +0100)]
ucm: Include directive - add optional behaviour
It may be useful to skip the include when the file does not exist
(make it optional).
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 1 Dec 2025 14:56:56 +0000 (15:56 +0100)]
ucm: complete dependency graphs for conflicting/supported device lists
Modify verb_dev_list_check() to ensure all devices in a conflicting or
supported group reference each other. Previously, the function only
ensured bidirectional relationships. Now it ensures all devices in
the same group have complete dependency lists.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 20 Nov 2025 15:11:32 +0000 (16:11 +0100)]
ucm: implement DeviceVariant configuration extension
It may be useful for the channel count specification for example.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 1 Dec 2025 12:32:10 +0000 (13:32 +0100)]
ucm: implement ValueDefaults.BootCardGroup and define use
We need a boot synchronization for multiple UCM cards where linking
is expected like AMD ACP or Intel AVS drivers. This method is
using a timestamp file which can be created and modified during
the boot process (e.g. from the alsactl tool).
The goal is to return a valid UCM configuration for standard
applications combining multiple ALSA cards into one UCM configuration
and cover the time window when all cards have not been probed yet.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 18 Nov 2025 13:55:25 +0000 (14:55 +0100)]
ucm: keep original device name for logs
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 18 Nov 2025 13:23:18 +0000 (14:23 +0100)]
ucm: sort devices by priority
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 18 Nov 2025 13:37:45 +0000 (14:37 +0100)]
include: list.h - add list_splice() and list_splice_init() functions
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 18 Nov 2025 13:01:29 +0000 (14:01 +0100)]
ucm: doc - add examples for device name with descriptors (colon)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 18 Nov 2025 13:00:48 +0000 (14:00 +0100)]
ucm: be more restrictive for device name with descriptor
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 18 Nov 2025 12:35:06 +0000 (13:35 +0100)]
ucm: strip device index when the device type is present only one time
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 18 Nov 2025 12:13:20 +0000 (13:13 +0100)]
ucm: add support for device names with colon (':')
The colon identifier means to automatically assign
a device index for this device.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 18 Nov 2025 09:41:06 +0000 (10:41 +0100)]
ucm: normalize device names
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 17 Nov 2025 17:36:32 +0000 (18:36 +0100)]
ucm: add possibility to inline Verb configurations to the main configuration file
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 17 Nov 2025 17:00:59 +0000 (18:00 +0100)]
ucm: add Prepend and Append block handling for If conditions (syntax 8+)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 10 Nov 2025 09:18:22 +0000 (10:18 +0100)]
github: add coverity.yml
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 10 Nov 2025 16:56:27 +0000 (17:56 +0100)]
coverity.com fixes - initial round
This commit tries to fix a bunch of issues found
by coverity.com.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 12 Nov 2025 09:20:21 +0000 (10:20 +0100)]
mixer: abst - reshuffle snd_mixer_simple_basic_register code to be more logical
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 11 Nov 2025 15:17:16 +0000 (16:17 +0100)]
seq: fix snd_seq_drain_output return value for partial drain
The processed value was not properly updated thus the partial
flush was not notified properly.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 11 Nov 2025 15:10:59 +0000 (16:10 +0100)]
seq: hw - notify if running mode / pversion ioctl fails
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Tue, 11 Nov 2025 17:33:41 +0000 (18:33 +0100)]
pcm: plugin - avoid 32-bit to 64-bit return value conversions
Several functions were affected. Simplify code without
any functionality change.
Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
Jaroslav Kysela [Tue, 11 Nov 2025 15:40:36 +0000 (16:40 +0100)]
add missing return value changes for snd_config_get_string() calls
Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
Jaroslav Kysela [Tue, 11 Nov 2025 15:01:17 +0000 (16:01 +0100)]
add missing return value changes for snd_config_get_id() calls
Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
qaqland [Mon, 15 Sep 2025 06:01:18 +0000 (14:01 +0800)]
snd_tlv_convert_to_dB: Fix mute handling for MINMAX_MUTE type
Ensure the SND_CTL_TLV_DB_GAIN_MUTE value is returned when the calculated
gain equals the minimum dB value for the SNDRV_CTL_TLVT_DB_MINMAX_MUTE type.
The previous check based solely on the volume value could miss cases where
the linear calculation resulted in the minimum gain.
Closes: https://github.com/alsa-project/alsa-lib/pull/478
Signed-off-by: qaqland <anguoli@uniontech.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 20:52:31 +0000 (21:52 +0100)]
doc: add missing include pcm_plugin.h to source files
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 20:51:43 +0000 (21:51 +0100)]
ucm: add missing stdbool.h include to ucm_local.h
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 20:30:32 +0000 (21:30 +0100)]
doxygen: fix warnings and add missing ALSA_LIBRARY_BUILD define
BugLink: https://github.com/alsa-project/alsa-lib/pull/480
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Olivier Blin [Fri, 1 Aug 2025 16:02:57 +0000 (18:02 +0200)]
conf/pistachio: fix syntax
It was missing closing brackets since its introduction.
Closes: https://github.com/alsa-project/alsa-lib/pull/470
Fixes: 4dfa8f08fb83 ("conf/cards: add support for pistachio-card.")
Signed-off-by: Olivier Blin <olivier.blin@softathome.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 19:55:07 +0000 (20:55 +0100)]
test: ucm - remove old syntax configuration files (incomplete anyway)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 19:06:33 +0000 (20:06 +0100)]
pcm route: suppress false positive warning for gcc 8+
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 16:59:12 +0000 (17:59 +0100)]
ucm: fix variant issue where variables or macros are overwritten
It is necessary to reset the state logic before each verb variant
is parsed. So save the original variable list and macros and
restore them before each parser iteration.
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/633
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 15:37:36 +0000 (16:37 +0100)]
ucm: remove 'error: ' prefix from error messages (duplication)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 15:31:08 +0000 (16:31 +0100)]
error: make prio/interface output a bit shorter in default log handler
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 15:21:05 +0000 (16:21 +0100)]
error: add missing log_priority/interface functions to header file
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 15:10:17 +0000 (16:10 +0100)]
configure: bumb version to 1.2.13pre1 (for alsa-utils)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 14:58:04 +0000 (15:58 +0100)]
ucm: remove uc_dbg macro and callers
Those debug prints are not much useful now.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 14:48:16 +0000 (15:48 +0100)]
include: remove local SNDMSG/SYSMSG defines (no longer used)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 14:46:16 +0000 (15:46 +0100)]
ucm: replace uc_error with snd_error calls
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 14:37:11 +0000 (15:37 +0100)]
ucm: add a basic set of trace/debug log calls
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 13:27:38 +0000 (14:27 +0100)]
huge correction of tabulators and whitespaces
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Fri, 7 Nov 2025 11:18:00 +0000 (12:18 +0100)]
log: implement filter based on string configuration (env LIBASOUND_DEBUG).
Examples:
"debug" - Set global level to debug
"3" - Set global level to 3 (info)
"info,pcm:debug" - Set global to info, pcm to debug
"error,mixer:5,pcm:4" - Set global to error, mixer to 5 (trace), pcm to 4 (debug)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 6 Nov 2025 15:03:36 +0000 (16:03 +0100)]
config: do not print errno in snd_config_check_hop()
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 6 Nov 2025 14:57:13 +0000 (15:57 +0100)]
replace SNDMSG,SYSMSG,SNDERR,SYSERR with new log macros
... with interface identifiers
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 6 Nov 2025 13:45:33 +0000 (14:45 +0100)]
error: add priority and interface strings to the log messages
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 6 Nov 2025 13:29:54 +0000 (14:29 +0100)]
redesign the message log functions
Add priority level and interface classifiers. Define macros
for all priority level types to keep the callers more readable.
Ensure the compatibility with previous logging mechanism.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 3 Nov 2025 14:57:16 +0000 (15:57 +0100)]
error: do not export internal snd_err_msg variable
This variable was never intended to modify from outside (not in public
headers).
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 3 Nov 2025 15:12:07 +0000 (16:12 +0100)]
topology: fix nibble warning in tplg_save_quoted()
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 3 Nov 2025 15:01:34 +0000 (16:01 +0100)]
rawmidi: Fix SNDRV_RAWMIDI_INFO_STREAM_INACTIVE duplicate definition
The origin of this define is in include/alsa/sound/uapi/asound.h included from
include/local.h. Skip redefinition in the internal build.
Fixes: e6d0db9d ("rawmidi: Fix the prefix of the inactive stream flag")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 18 Sep 2025 09:49:37 +0000 (11:49 +0200)]
conf: fix load_for_all_cards() - do not merge the card specific contents
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 18 Sep 2025 13:34:09 +0000 (15:34 +0200)]
conf: fix parse_array_def - merge arrays
A tiny overlook caused wrong array merge. New compound member must be
always created.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 18 Sep 2025 09:03:02 +0000 (11:03 +0200)]
conf: Revert "conf: fix load_for_all_cards()"
This reverts commit
ddfc32abf5697de1618b9e7ffdf57a0f97013090 .
It was not a correct fix. The private values may differ (multiple
instances for e.g. USB sound cards). This fix prevents to load
private configurations for other instances.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Takashi Iwai [Tue, 28 Oct 2025 12:34:10 +0000 (13:34 +0100)]
rawmidi: Fix the prefix of the inactive stream flag
I copied SNDRV_RAWMIDI_INFO_STREAM_INACTIVE definition as is from the
kernel uapi header, but for alsa-lib, it should have been changed to
SND_ prefix instead.
Put the correct definition while keeping the old SNDRV_ definition for
compatibility (that might be already used by applications).
Fixes: 137eca7720be ("rawmidi: Extensions for tied device and substream inactive flag")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela [Thu, 18 Sep 2025 09:00:47 +0000 (11:00 +0200)]
conf: fix parse_array_def override code path
The error may cause segmentation fault and incorrect behaviour.
Closes: https://github.com/alsa-project/alsa-lib/issues/477
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Adam Sampson [Sun, 6 Jul 2025 04:07:45 +0000 (05:07 +0100)]
test: update midifile library to ANSI C
The midifile library used by the playmidi1 program dates from 1989, and
used pre-ANSI function definitions and prototypes. GCC 15 now defaults
to C23 where () means the same as (void) in prototypes, which causes
type mismatch errors.
Update the code to use ANSI function definitions and prototypes, so
it'll compile happily as anything from ANSI C to C23. This revealed that
playmidi1's do_tempo had the wrong argument type, so correct that as
well.
Closes: https://github.com/alsa-project/alsa-lib/pull/463
Signed-off-by: Adam Sampson <ats@offog.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jochen Sprickerhof [Sun, 15 Jun 2025 08:10:52 +0000 (10:10 +0200)]
ucm: use close_range on _GNU_SOURCE
Closes: https://github.com/alsa-project/alsa-lib/pull/459
Signed-off-by: Jochen Sprickerhof <git@jochen.sprickerhof.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
wyjstrong [Tue, 29 Jul 2025 06:58:43 +0000 (14:58 +0800)]
Force to use alphasort64() sorting function for Harmony OS
Closes: https://github.com/alsa-project/alsa-lib/pull/467
Signed-off-by: wyjstrong <wyjstrong@163.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Kai Vehmanen [Thu, 31 Jul 2025 12:37:33 +0000 (15:37 +0300)]
pcm: add a loop to snd_pcm_avail_delay() to avoid bogus delay values
snd_pcm_avail_delay() is expected to report avail and delay values
in atomic fashion. However the function does two separate syscalls
and it cannot guarantee the avail value is the same as was used
to calculate the delay. This is a problem as the reported delay is
always relative to avail frames value.
If application (like e.g. alsa_conformance_test) uses snd_pcm_avail_delay()
to estimate the effective play position, it can observe bogus delay
values (and effective play position going backwards) if
snd_pcm_avail_delay() is called during a DMA burst where hw_ptr
moves quickly.
This commit adds a loop similar to that used in snd_pcm_hw_htimestamp()
to wait until we get a stable avail reading, and only then extract
the delay. This will avoid bogus values if function is called during
DMA bursts.
Closes: https://github.com/alsa-project/alsa-lib/pull/469
Closes: https://github.com/alsa-project/alsa-lib/issues/468
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 26 Jun 2025 09:33:15 +0000 (11:33 +0200)]
ucm: regex: fix the error message (missing argument)
Link: https://github.com/alsa-project/alsa-ucm-conf/pull/580
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Daniel Dadap [Thu, 15 May 2025 13:32:35 +0000 (08:32 -0500)]
conf: aliases: add hda-acpi -> HDA-Intel alias
The new snd_hda_acpi driver in Linux exposes the existing Azalia
interface to non-PCI devices advertised over ACPI. Add an alias
to the existing HDA-Intel configuration file so that devices using
this driver can be discovered properly.
Signed-off-by: Daniel Dadap <ddadap@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela [Fri, 9 May 2025 07:55:00 +0000 (09:55 +0200)]
mixer: bag - fix bag_del_all implementation (missing free)
The bag1_t structure must be freed, too.
Fixes: https://github.com/alsa-project/alsa-lib/issues/453
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 24 Apr 2025 13:16:12 +0000 (15:16 +0200)]
github: fix Fedora workflow (awk package dependency)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 24 Apr 2025 11:25:30 +0000 (13:25 +0200)]
Revert "ucm: do not bump syntax version to 8"
This reverts commit
e51cba0973d97d8a4c3d2d5896b203d8c3628c89 .
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 14 Apr 2025 16:42:04 +0000 (18:42 +0200)]
Release v1.2.14
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 14 Apr 2025 16:36:45 +0000 (18:36 +0200)]
seq: seqmid - use correct snd_strlcat instead snd_strlcpy in update_group_ports()
Fixes: a4e47461 ("seq: update_group_ports - rewrite blknames update")
Suggested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 14 Apr 2025 16:34:45 +0000 (18:34 +0200)]
add snd_strlcat() function
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 14 Apr 2025 07:44:40 +0000 (09:44 +0200)]
ucm: do not bump syntax version to 8
The new code for syntax 8 is not widely tested. Postpone it for next
alsa-lib release.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>