diff --git a/0001-conf-fix-load_for_all_cards.patch b/0001-conf-fix-load_for_all_cards.patch deleted file mode 100644 index b3200d1..0000000 --- a/0001-conf-fix-load_for_all_cards.patch +++ /dev/null @@ -1,97 +0,0 @@ -From ddfc32abf5697de1618b9e7ffdf57a0f97013090 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Wed, 2 Jun 2021 08:49:32 +0200 -Subject: [PATCH] conf: fix load_for_all_cards() - -The 63f7745b commit is loading the driver specific configuration -multiple times which ends with the array merges (see the bug). - -Introduce the loaded compound which traces the already loaded -driver configurations and skip the multiple load requests. - -Fixes: https://github.com/alsa-project/alsa-lib/issues/143 -Fixes: 63f7745b ("conf: extend load_for_all_cards hook (id/value table)") -Signed-off-by: Jaroslav Kysela ---- - src/conf.c | 33 ++++++++++++++++++++++++++++----- - 1 file changed, 28 insertions(+), 5 deletions(-) - -diff --git a/src/conf.c b/src/conf.c -index f6c80031032e..d863dec637cf 100644 ---- a/src/conf.c -+++ b/src/conf.c -@@ -4325,18 +4325,23 @@ static int _snd_config_hook_table(snd_config_t *root, snd_config_t *config, snd_ - int snd_config_hook_load_for_all_cards(snd_config_t *root, snd_config_t *config, snd_config_t **dst, snd_config_t *private_data ATTRIBUTE_UNUSED) - { - int card = -1, err; -+ snd_config_t *loaded; // trace loaded cards - -+ err = snd_config_top(&loaded); -+ if (err < 0) -+ return err; - do { - err = snd_card_next(&card); - if (err < 0) -- return err; -+ goto __fin_err; - if (card >= 0) { -- snd_config_t *n, *private_data = NULL; -+ snd_config_t *n, *m, *private_data = NULL; - const char *driver; - char *fdriver = NULL; -+ bool load; - err = snd_determine_driver(card, &fdriver); - if (err < 0) -- return err; -+ goto __fin_err; - if (snd_config_search(root, fdriver, &n) >= 0) { - if (snd_config_get_string(n, &driver) < 0) { - if (snd_config_get_type(n) == SND_CONFIG_TYPE_COMPOUND) { -@@ -4357,6 +4362,19 @@ int snd_config_hook_load_for_all_cards(snd_config_t *root, snd_config_t *config, - driver = fdriver; - } - __std: -+ load = true; -+ err = snd_config_imake_integer(&m, driver, 1); -+ if (err < 0) -+ goto __err; -+ err = snd_config_add(loaded, m); -+ if (err < 0) { -+ if (err == -EEXIST) { -+ snd_config_delete(m); -+ load = false; -+ } else { -+ goto __err; -+ } -+ } - private_data = _snd_config_hook_private_data(card, driver); - if (!private_data) { - err = -ENOMEM; -@@ -4365,17 +4383,22 @@ int snd_config_hook_load_for_all_cards(snd_config_t *root, snd_config_t *config, - err = _snd_config_hook_table(root, config, private_data); - if (err < 0) - goto __err; -- err = snd_config_hook_load(root, config, &n, private_data); -+ if (load) -+ err = snd_config_hook_load(root, config, &n, private_data); - __err: - if (private_data) - snd_config_delete(private_data); - free(fdriver); - if (err < 0) -- return err; -+ goto __fin_err; - } - } while (card >= 0); -+ snd_config_delete(loaded); - *dst = NULL; - return 0; -+__fin_err: -+ snd_config_delete(loaded); -+ return err; - } - #ifndef DOC_HIDDEN - SND_DLSYM_BUILD_VERSION(snd_config_hook_load_for_all_cards, SND_CONFIG_DLSYM_VERSION_HOOK); --- -2.26.2 - diff --git a/0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch b/0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch deleted file mode 100644 index 2b865f8..0000000 --- a/0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 0e4ba2ea8c0402f12a645032a14693eb9b1278e6 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Wed, 2 Jun 2021 11:09:43 +0200 -Subject: [PATCH] ucm: add _alibpref to get the private device prefix - -It may be useful to get the device prefix for the local configuration. - -Link: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1251 -Signed-off-by: Jaroslav Kysela ---- - include/use-case.h | 1 + - src/ucm/main.c | 21 +++++++++++++++++++++ - 2 files changed, 22 insertions(+) - -diff --git a/include/use-case.h b/include/use-case.h -index ec1a97b01e71..7890358b8d8f 100644 ---- a/include/use-case.h -+++ b/include/use-case.h -@@ -258,6 +258,7 @@ int snd_use_case_get_list(snd_use_case_mgr_t *uc_mgr, - * - _verb - return current verb - * - _file - return configuration file loaded for current card - * - _alibcfg - return private alsa-lib's configuration for current card -+ * - _alibpref - return private alsa-lib's configuration device prefix for current card - * - * - [=]{NAME}[/[{modifier}|{/device}][/{verb}]] - * - value identifier {NAME} -diff --git a/src/ucm/main.c b/src/ucm/main.c -index 361952f62830..3c9ea15d5642 100644 ---- a/src/ucm/main.c -+++ b/src/ucm/main.c -@@ -2138,6 +2138,25 @@ static int get_alibcfg(snd_use_case_mgr_t *uc_mgr, char **str) - return 0; - } - -+/** -+ * \brief Get device prefix for private alsa-lib configuration -+ * \param uc_mgr Use case manager -+ * \param str Returned value string -+ * \return Zero on success (value is filled), otherwise a negative error code -+ */ -+static int get_alibpref(snd_use_case_mgr_t *uc_mgr, char **str) -+{ -+ const size_t l = 9; -+ char *s; -+ -+ s = malloc(l); -+ if (s == NULL) -+ return -ENOMEM; -+ snprintf(s, l, "_ucm%04X", uc_mgr->ucm_card_number); -+ *str = s; -+ return 0; -+} -+ - /** - * \brief Get current - string - * \param uc_mgr Use case manager -@@ -2193,6 +2212,8 @@ int snd_use_case_get(snd_use_case_mgr_t *uc_mgr, - - } else if (strcmp(identifier, "_alibcfg") == 0) { - err = get_alibcfg(uc_mgr, (char **)value); -+ } else if (strcmp(identifier, "_alibpref") == 0) { -+ err = get_alibpref(uc_mgr, (char **)value); - } else if (identifier[0] == '_') { - err = -ENOENT; - } else { --- -2.26.2 - diff --git a/0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch b/0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch deleted file mode 100644 index dc0f519..0000000 --- a/0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9621d0bff2e60b43e329ffa5059ab19f2914ec14 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Wed, 2 Jun 2021 11:21:54 +0200 -Subject: [PATCH] ucm: fix _alibpref string (add '.' delimiter to the end) - -Fixes: 0e4ba2ea ("ucm: add _alibpref to get the private device prefix") -Signed-off-by: Jaroslav Kysela ---- - src/ucm/main.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/ucm/main.c b/src/ucm/main.c -index 3c9ea15d5642..c9b37b68b655 100644 ---- a/src/ucm/main.c -+++ b/src/ucm/main.c -@@ -2146,13 +2146,13 @@ static int get_alibcfg(snd_use_case_mgr_t *uc_mgr, char **str) - */ - static int get_alibpref(snd_use_case_mgr_t *uc_mgr, char **str) - { -- const size_t l = 9; -+ const size_t l = 10; - char *s; - - s = malloc(l); - if (s == NULL) - return -ENOMEM; -- snprintf(s, l, "_ucm%04X", uc_mgr->ucm_card_number); -+ snprintf(s, l, "_ucm%04X.", uc_mgr->ucm_card_number); - *str = s; - return 0; - } --- -2.26.2 - diff --git a/alsa-lib-1.2.5.1.tar.bz2 b/alsa-lib-1.2.5.1.tar.bz2 new file mode 100644 index 0000000..691ac12 --- /dev/null +++ b/alsa-lib-1.2.5.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:628421d950cecaf234de3f899d520c0a6923313c964ad751ffac081df331438e +size 1069073 diff --git a/alsa-lib-1.2.5.tar.bz2 b/alsa-lib-1.2.5.tar.bz2 deleted file mode 100644 index 9499341..0000000 --- a/alsa-lib-1.2.5.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9092894a8c083b33acf8d6deb901b58f5d20d6da583789f814e8e46f2850ef18 -size 1068496 diff --git a/alsa.changes b/alsa.changes index db3d161..29c8232 100644 --- a/alsa.changes +++ b/alsa.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Jun 14 14:58:05 CEST 2021 - tiwai@suse.de + +- Update to version 1.2.5.1: + a bug fix release, including previous patches: + https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1 +- Drop obsoleted patches: + 0001-conf-fix-load_for_all_cards.patch + 0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch + 0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch + ------------------------------------------------------------------- Wed Jun 9 08:58:26 CEST 2021 - tiwai@suse.de diff --git a/alsa.spec b/alsa.spec index 3c23457..722f3bc 100644 --- a/alsa.spec +++ b/alsa.spec @@ -32,7 +32,7 @@ %endif Name: alsa -Version: 1.2.5 +Version: 1.2.5.1 Release: 0 Summary: Advanced Linux Sound Architecture License: LGPL-2.1-or-later @@ -52,9 +52,6 @@ Source30: all_notes_off Source31: all_notes_off.bin Source32: all_notes_off.mid Source34: alsa-init.sh -Patch1: 0001-conf-fix-load_for_all_cards.patch -Patch2: 0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch -Patch3: 0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch # rest suse fixes Patch101: alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch BuildRequires: doxygen @@ -143,9 +140,6 @@ This package contains the library for ALSA topology support. %prep %setup -q -n alsa-lib-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 %patch101 -p1 %build