Commit graph

4645 commits

Author SHA1 Message Date
Devreese Jorik
8fd6bf1a49 mixer: fix cache coherency issue in multi-application scenario
Remove conditional hardware writes in set_volume_ops and set_switch_ops
to ensure hardware state is always updated. This fixes an issue where setting controls
to the same value repeatedly does nothing, even if the hardware state has changed
due to actions from other applications.

Signed-off-by: Devreese Jorik <jorik.devreese@barco.com>
2025-12-16 09:42:30 +01:00
Jaroslav Kysela
f30c355278 conf: cards: unify whitespace - use tabs and remove trailing spaces
Some checks failed
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
Convert leading spaces to tabs for consistent indentation,
remove trailing whitespace from all lines, and normalize
file endings across all card configuration files.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:50:28 +01:00
Jaroslav Kysela
17ffe17f03 conf: pistachio-card: define pcm configuration block only one time
There may be multiple pistachio-card soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:21 +01:00
Jaroslav Kysela
29fa26b4b5 conf: YMF744: define pcm configuration block only one time
There may be multiple YMF744 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:21 +01:00
Jaroslav Kysela
4bcd33ef9d conf: VX222,VXPocket: define pcm configuration block only one time
There may be multiple VX soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:21 +01:00
Jaroslav Kysela
d6b9d7e0be conf: VIA686A,VIA82xx: define pcm configuration block only one time
There may be multiple VIA soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
4c74f3a568 conf: TRID4DWAVENX: define pcm configuration block only one time
There may be multiple TRID4DWAVENX soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
51d75e5f07 conf: SI7018: define pcm configuration block only one time
There may be multiple SI7018 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
1cd87775c5 conf: SB-XFi: define pcm configuration block only one time
There may be multiple SB-XFi soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
f03528daf2 conf: RME96[35][26]: define pcm configuration block only one time
There may be multiple RME96[35][26] soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
8340b3c6b3 conf: PS3: define pcm configuration block only one time
There may be multiple PS3 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
a3028a492a conf: PMac,PMacToonie: define pcm configuration block only one time
There may be multiple PMac soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
3d636ff530 conf: PC-Speaker: define pcm configuration block only one time
There may be multiple PC-Speaker soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ebb5ab7d84 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
de72d65728 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ff4fb7f8c9 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
99f1987a1e 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
1f52b57ff8 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
dded72a687 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
a87570df72 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ea93979929 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
9f46e1a5a4 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
2d5aa02738 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
001a2f3809 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
7cf26f6038 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
dba724706a 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ed4884cbe1 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
8c10056244 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>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
0ba7c27165 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>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
1e29ff1840 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>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
041299ea39 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>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
68b8b43541 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>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
ea984c3a7d 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>
2025-12-10 16:29:38 +01:00
Jaroslav Kysela
7079887cd2 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>
2025-12-10 16:28:41 +01:00
Jaroslav Kysela
e5dbefdff1 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>
2025-12-10 16:28:41 +01:00
Jaroslav Kysela
3969e45812 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>
2025-12-10 16:28:38 +01:00
Jaroslav Kysela
d83af363f1 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>
2025-12-10 14:01:32 +01:00
Jaroslav Kysela
010b699c92 conf: HDA-Intel: define pcm configuration block only one time
Some checks are pending
Build alsa-lib / fedora_latest_build (push) Waiting to run
Build alsa-lib / ubuntu_last_build (push) Waiting to run
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>
2025-12-10 12:14:54 +01:00
Jaroslav Kysela
16ab43db6e 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>
2025-12-10 12:12:47 +01:00
Jaroslav Kysela
2ef8952b46 Revert "conf: fix load_for_all_cards() - do not merge the card specific contents"
This reverts commit eda76146c5.

Also, revert additional related commits:

  Revert "conf: fix possible memory leak in config_file_open() - error path"
  This reverts commit 2f59398c83.

  Revert "conf: merge card specific contents per file (whole) after parsing"
  This reverts commit a6238053c4.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 12:05:19 +01:00
Jaroslav Kysela
2f59398c83 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>
2025-12-09 18:40:34 +01:00
Jaroslav Kysela
a6238053c4 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>
2025-12-09 18:08:29 +01:00
Jaroslav Kysela
813ffe34ff ucm: exec - fix maxfd used warning
Fixes: a068cf08 ("ucm: use closefrom instead of close_range")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-09 17:48:46 +01:00
Mike Gilbert
a068cf08ad ucm: use closefrom instead of close_range
Some checks are pending
Build alsa-lib / fedora_latest_build (push) Waiting to run
Build alsa-lib / ubuntu_last_build (push) Waiting to run
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>
2025-12-09 09:57:11 +01:00
Jaroslav Kysela
70e413c5bb Release v1.2.15
Some checks are pending
Build alsa-lib / fedora_latest_build (push) Waiting to run
Build alsa-lib / ubuntu_last_build (push) Waiting to run
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-07 20:41:56 +01:00
SimonQian
7aeb9a759e include: fix typo in error.h to avoid compile error when gcc <= 2.95
Some checks failed
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
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>
2025-12-05 10:09:01 +01:00
Jaroslav Kysela
66dfd40e8f 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>
2025-12-04 12:11:41 +01:00
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