Jaroslav Kysela
5ed27d8e89
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>
2025-12-04 12:11:41 +01:00
Jaroslav Kysela
ae921dc1c9
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>
2025-12-04 12:11:41 +01:00
Jaroslav Kysela
22f8716af9
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>
2025-12-04 12:11:41 +01:00
Jaroslav Kysela
3149ca0f1c
ucm: implement DeviceVariant configuration extension
...
It may be useful for the channel count specification for example.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-04 12:11:41 +01:00
Jaroslav Kysela
554efca497
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>
2025-12-04 12:11:26 +01:00
Jaroslav Kysela
5c4a683bd0
ucm: keep original device name for logs
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-01 14:28:52 +01:00
Jaroslav Kysela
b3e4b15583
ucm: sort devices by priority
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-01 14:28:43 +01:00
Jaroslav Kysela
a525015e3b
include: list.h - add list_splice() and list_splice_init() functions
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-18 14:41:53 +01:00
Jaroslav Kysela
fd719bb122
ucm: doc - add examples for device name with descriptors (colon)
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-18 14:01:29 +01:00
Jaroslav Kysela
2da7e29c0c
ucm: be more restrictive for device name with descriptor
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-18 14:00:48 +01:00
Jaroslav Kysela
e83fd7806f
ucm: strip device index when the device type is present only one time
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-18 13:37:26 +01:00
Jaroslav Kysela
48c477569d
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>
2025-11-18 13:37:09 +01:00
Jaroslav Kysela
07532ae8a8
ucm: normalize device names
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-18 13:37:08 +01:00
Jaroslav Kysela
9e933a08ed
ucm: add possibility to inline Verb configurations to the main configuration file
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-17 18:36:32 +01:00
Jaroslav Kysela
a8620e814b
ucm: add Prepend and Append block handling for If conditions (syntax 8+)
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-17 18:01:14 +01:00
Jaroslav Kysela
ebfc29110c
github: add coverity.yml
...
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-12 15:38:05 +01:00
Jaroslav Kysela
47f4f9b73b
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>
2025-11-12 15:36:29 +01:00
Jaroslav Kysela
f0679e5de2
mixer: abst - reshuffle snd_mixer_simple_basic_register code to be more logical
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-12 15:36:29 +01:00
Jaroslav Kysela
b97a11ecf0
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>
2025-11-12 15:36:29 +01:00
Jaroslav Kysela
3ce629a4c2
seq: hw - notify if running mode / pversion ioctl fails
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-12 15:36:29 +01:00
Jaroslav Kysela
122d362265
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>
2025-11-12 15:36:29 +01:00
Jaroslav Kysela
a9465869a7
add missing return value changes for snd_config_get_string() calls
...
Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
2025-11-12 15:36:29 +01:00
Jaroslav Kysela
796b48c0d2
add missing return value changes for snd_config_get_id() calls
...
Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
2025-11-12 15:36:29 +01:00
qaqland
41039b49ad
snd_tlv_convert_to_dB: Fix mute handling for MINMAX_MUTE type
...
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
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>
2025-11-07 21:56:41 +01:00
Jaroslav Kysela
f77ab152b8
doc: add missing include pcm_plugin.h to source files
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 21:52:31 +01:00
Jaroslav Kysela
ea0a075c40
ucm: add missing stdbool.h include to ucm_local.h
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 21:51:43 +01:00
Jaroslav Kysela
2b6dedeb74
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>
2025-11-07 21:44:52 +01:00
Olivier Blin
b33d0e4ced
conf/pistachio: fix syntax
...
It was missing closing brackets since its introduction.
Closes: https://github.com/alsa-project/alsa-lib/pull/470
Fixes: 4dfa8f08fb ("conf/cards: add support for pistachio-card.")
Signed-off-by: Olivier Blin <olivier.blin@softathome.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 20:58:27 +01:00
Jaroslav Kysela
18646517f8
test: ucm - remove old syntax configuration files (incomplete anyway)
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 20:55:07 +01:00
Jaroslav Kysela
509e77c869
pcm route: suppress false positive warning for gcc 8+
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 20:07:17 +01:00
Jaroslav Kysela
bd0ce670c2
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>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
f6dce4f9d0
ucm: remove 'error: ' prefix from error messages (duplication)
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
953ce1fd94
error: make prio/interface output a bit shorter in default log handler
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
d5f30b72bd
error: add missing log_priority/interface functions to header file
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
c40faceab5
configure: bumb version to 1.2.13pre1 (for alsa-utils)
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
0432be98f9
ucm: remove uc_dbg macro and callers
...
Those debug prints are not much useful now.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
8c575f32e0
include: remove local SNDMSG/SYSMSG defines (no longer used)
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
9ab488b86c
ucm: replace uc_error with snd_error calls
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
11235095bf
ucm: add a basic set of trace/debug log calls
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
66a3d542ac
huge correction of tabulators and whitespaces
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
b37ac0982b
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>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
524081b4d6
config: do not print errno in snd_config_check_hop()
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
62c8e635dc
replace SNDMSG,SYSMSG,SNDERR,SYSERR with new log macros
...
... with interface identifiers
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
492df4bb94
error: add priority and interface strings to the log messages
...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
7248b0c660
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>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
0a4e8854d5
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>
2025-11-07 18:09:26 +01:00
Jaroslav Kysela
fa6e83d780
topology: fix nibble warning in tplg_save_quoted()
...
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-03 16:12:09 +01:00
Jaroslav Kysela
11a716d1d0
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>
2025-11-03 16:01:34 +01:00
Jaroslav Kysela
eda76146c5
conf: fix load_for_all_cards() - do not merge the card specific contents
...
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-03 10:54:54 +01:00
Jaroslav Kysela
eeca04741d
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>
2025-11-03 10:54:54 +01:00