Hello community, here is the log from the commit of package alsa for openSUSE:Factory checked in at 2020-07-13 09:04:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/alsa (Old) and /work/SRC/openSUSE:Factory/.alsa.new.3060 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alsa" Mon Jul 13 09:04:29 2020 rev:203 rq:819813 version:1.2.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/alsa/alsa.changes 2020-06-27 23:20:24.085392471 +0200 +++ /work/SRC/openSUSE:Factory/.alsa.new.3060/alsa.changes 2020-07-13 09:04:48.635984570 +0200 @@ -1,0 +2,8 @@ +Thu Jul 9 16:01:13 CEST 2020 - ti...@suse.de + +- Update to alsa-lib 1.2.3.2: + another bug fix release: control namehint fixes, PCM dnsoop fixes, + UCM regression fixes, etc. See the details in + https://www.alsa-project.org/wiki/Changes_v1.2.3.1_v1.2.3.2 + +------------------------------------------------------------------- Old: ---- alsa-lib-1.2.3.1.tar.bz2 New: ---- alsa-lib-1.2.3.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alsa.spec ++++++ --- /var/tmp/diff_new_pack.43MwnN/_old 2020-07-13 09:04:49.643987104 +0200 +++ /var/tmp/diff_new_pack.43MwnN/_new 2020-07-13 09:04:49.647987114 +0200 @@ -26,7 +26,7 @@ %endif Name: alsa -Version: 1.2.3.1 +Version: 1.2.3.2 Release: 0 Summary: Advanced Linux Sound Architecture License: LGPL-2.1-or-later ++++++ alsa-lib-1.2.3.1.tar.bz2 -> alsa-lib-1.2.3.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/configure new/alsa-lib-1.2.3.2/configure --- old/alsa-lib-1.2.3.1/configure 2020-06-18 19:25:45.000000000 +0200 +++ new/alsa-lib-1.2.3.2/configure 2020-06-29 12:55:40.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for alsa-lib 1.2.3.1. +# Generated by GNU Autoconf 2.69 for alsa-lib 1.2.3.2. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='alsa-lib' PACKAGE_TARNAME='alsa-lib' -PACKAGE_VERSION='1.2.3.1' -PACKAGE_STRING='alsa-lib 1.2.3.1' +PACKAGE_VERSION='1.2.3.2' +PACKAGE_STRING='alsa-lib 1.2.3.2' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1457,7 +1457,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures alsa-lib 1.2.3.1 to adapt to many kinds of systems. +\`configure' configures alsa-lib 1.2.3.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1527,7 +1527,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of alsa-lib 1.2.3.1:";; + short | recursive ) echo "Configuration of alsa-lib 1.2.3.2:";; esac cat <<\_ACEOF @@ -1688,7 +1688,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -alsa-lib configure 1.2.3.1 +alsa-lib configure 1.2.3.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2099,7 +2099,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by alsa-lib $as_me 1.2.3.1, which was +It was created by alsa-lib $as_me 1.2.3.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3037,7 +3037,7 @@ # Define the identity of the package. PACKAGE='alsa-lib' - VERSION='1.2.3.1' + VERSION='1.2.3.2' cat >>confdefs.h <<_ACEOF @@ -14887,7 +14887,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by alsa-lib $as_me 1.2.3.1, which was +This file was extended by alsa-lib $as_me 1.2.3.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14953,7 +14953,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -alsa-lib config.status 1.2.3.1 +alsa-lib config.status 1.2.3.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/configure.ac new/alsa-lib-1.2.3.2/configure.ac --- old/alsa-lib-1.2.3.1/configure.ac 2020-06-18 19:24:32.000000000 +0200 +++ new/alsa-lib-1.2.3.2/configure.ac 2020-06-29 12:51:08.000000000 +0200 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT(alsa-lib, 1.2.3.1) +AC_INIT(alsa-lib, 1.2.3.2) AC_CONFIG_SRCDIR([src/control/control.c]) AC_CONFIG_MACRO_DIR([m4]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/include/version.h new/alsa-lib-1.2.3.2/include/version.h --- old/alsa-lib-1.2.3.1/include/version.h 2020-06-18 19:26:02.000000000 +0200 +++ new/alsa-lib-1.2.3.2/include/version.h 2020-06-29 12:55:53.000000000 +0200 @@ -11,5 +11,5 @@ (SND_LIB_MINOR<<8)|\ SND_LIB_SUBMINOR) /** library version (string) */ -#define SND_LIB_VERSION_STR "1.2.3.1" +#define SND_LIB_VERSION_STR "1.2.3.2" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/libtool new/alsa-lib-1.2.3.2/libtool --- old/alsa-lib-1.2.3.1/libtool 2020-06-18 19:25:59.000000000 +0200 +++ new/alsa-lib-1.2.3.2/libtool 2020-06-29 12:55:53.000000000 +0200 @@ -1,5 +1,5 @@ #! /bin/sh -# Generated automatically by config.status (alsa-lib) 1.2.3.1 +# Generated automatically by config.status (alsa-lib) 1.2.3.2 # Libtool was configured on host e010f88cea4a: # NOTE: Changes made to this file will be lost: look at ltmain.sh. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/src/conf/alsa.conf new/alsa-lib-1.2.3.2/src/conf/alsa.conf --- old/alsa-lib-1.2.3.1/src/conf/alsa.conf 2020-06-18 19:24:32.000000000 +0200 +++ new/alsa-lib-1.2.3.2/src/conf/alsa.conf 2020-06-29 12:51:08.000000000 +0200 @@ -8,8 +8,9 @@ { func load files [ + "/usr/etc/alsa/conf.d" "/etc/alsa/conf.d" - "/etc/asound.conf" + "/etc/asound.conf|||/usr/etc/asound.conf" "~/.asoundrc" { @func concat diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/src/control/namehint.c new/alsa-lib-1.2.3.2/src/control/namehint.c --- old/alsa-lib-1.2.3.1/src/control/namehint.c 2020-06-18 19:24:32.000000000 +0200 +++ new/alsa-lib-1.2.3.2/src/control/namehint.c 2020-06-29 12:51:08.000000000 +0200 @@ -78,6 +78,31 @@ return 0; } +/** + * Add a namehint from string given in a user configuration file + */ +static int hint_list_add_custom(struct hint_list *list, + const char *entry) +{ + int err; + const char *sep; + char *name; + + assert(entry); + + sep = strchr(entry, '|'); + if (sep == NULL) + return hint_list_add(list, entry, NULL); + + name = strndup(entry, sep - entry); + if (name == NULL) + return -ENOMEM; + + err = hint_list_add(list, name, sep + 1); + free(name); + return err; +} + static void zero_handler(const char *file ATTRIBUTE_UNUSED, int line ATTRIBUTE_UNUSED, const char *function ATTRIBUTE_UNUSED, @@ -543,10 +568,10 @@ * User-defined hints are gathered from namehint.IFACE tree like: * * <code> - * namehint.pcm {<br> + * namehint.pcm [<br> * myfile "file:FILE=/tmp/soundwave.raw|Save sound output to /tmp/soundwave.raw"<br> - * myplug "plug:front:Do all conversions for front speakers"<br> - * } + * myplug "plug:front|Do all conversions for front speakers"<br> + * ] * </code> * * Note: The device description is separated with '|' char. @@ -626,7 +651,7 @@ if (snd_config_get_string(snd_config_iterator_entry(i), &str) < 0) continue; - err = hint_list_add(&list, str, NULL); + err = hint_list_add_custom(&list, str); if (err < 0) goto __error; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/src/pcm/pcm_dsnoop.c new/alsa-lib-1.2.3.2/src/pcm/pcm_dsnoop.c --- old/alsa-lib-1.2.3.1/src/pcm/pcm_dsnoop.c 2020-06-18 19:24:32.000000000 +0200 +++ new/alsa-lib-1.2.3.2/src/pcm/pcm_dsnoop.c 2020-06-29 12:51:08.000000000 +0200 @@ -165,7 +165,7 @@ // printf("sync ptr diff = %li\n", diff); if (pcm->stop_threshold >= pcm->boundary) /* don't care */ return 0; - if ((avail = snd_pcm_mmap_capture_hw_avail(pcm)) >= pcm->stop_threshold) { + if ((avail = snd_pcm_mmap_capture_avail(pcm)) >= pcm->stop_threshold) { gettimestamp(&dsnoop->trigger_tstamp, pcm->tstamp_type); dsnoop->state = SND_PCM_STATE_XRUN; dsnoop->avail_max = avail; @@ -241,7 +241,7 @@ /* Fall through */ case SNDRV_PCM_STATE_PREPARED: case SNDRV_PCM_STATE_SUSPENDED: - *delayp = snd_pcm_mmap_capture_hw_avail(pcm); + *delayp = snd_pcm_mmap_capture_avail(pcm); return 0; case SNDRV_PCM_STATE_XRUN: return -EPIPE; @@ -352,7 +352,7 @@ static snd_pcm_sframes_t snd_pcm_dsnoop_rewindable(snd_pcm_t *pcm) { - return snd_pcm_mmap_capture_hw_avail(pcm); + return snd_pcm_mmap_capture_hw_rewindable(pcm); } static snd_pcm_sframes_t snd_pcm_dsnoop_rewind(snd_pcm_t *pcm, snd_pcm_uframes_t frames) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/src/pcm/pcm_local.h new/alsa-lib-1.2.3.2/src/pcm/pcm_local.h --- old/alsa-lib-1.2.3.1/src/pcm/pcm_local.h 2020-06-18 19:24:32.000000000 +0200 +++ new/alsa-lib-1.2.3.2/src/pcm/pcm_local.h 2020-06-29 12:51:08.000000000 +0200 @@ -480,6 +480,13 @@ return err; } +/** + * \retval number of frames available to the application for playback + * + * This is how far ahead the hardware position in the ring buffer is, + * compared to the application position. ie. for playback it's the + * number of frames in the empty part of the ring buffer. + */ static inline snd_pcm_uframes_t __snd_pcm_playback_avail(snd_pcm_t *pcm, const snd_pcm_uframes_t hw_ptr, const snd_pcm_uframes_t appl_ptr) @@ -498,6 +505,13 @@ return __snd_pcm_playback_avail(pcm, *pcm->hw.ptr, *pcm->appl.ptr); } +/* + * \retval number of frames available to the application for capture + * + * This is how far ahead the hardware position in the ring buffer is + * compared to the application position. ie. for capture, it's the + * number of frames in the filled part of the ring buffer. + */ static inline snd_pcm_uframes_t __snd_pcm_capture_avail(snd_pcm_t *pcm, const snd_pcm_uframes_t hw_ptr, const snd_pcm_uframes_t appl_ptr) @@ -529,11 +543,21 @@ return __snd_pcm_avail(pcm, *pcm->hw.ptr, *pcm->appl.ptr); } +/* + * \retval number of frames available to the hardware for playback + * + * ie. the filled part of the ring buffer + */ static inline snd_pcm_sframes_t snd_pcm_mmap_playback_hw_avail(snd_pcm_t *pcm) { return pcm->buffer_size - snd_pcm_mmap_playback_avail(pcm); } +/* + * \retval number of frames available to the hardware for capture + * + * ie. the empty part of the ring buffer. + */ static inline snd_pcm_sframes_t snd_pcm_mmap_capture_hw_avail(snd_pcm_t *pcm) { return pcm->buffer_size - snd_pcm_mmap_capture_avail(pcm); @@ -582,14 +606,20 @@ return *pcm->hw.ptr % pcm->buffer_size; } +/* + * \retval number of frames pending from application to hardware + */ static inline snd_pcm_uframes_t snd_pcm_mmap_playback_delay(snd_pcm_t *pcm) { return snd_pcm_mmap_playback_hw_avail(pcm); } +/* + * \retval number of frames pending from hardware to application + */ static inline snd_pcm_uframes_t snd_pcm_mmap_capture_delay(snd_pcm_t *pcm) { - return snd_pcm_mmap_capture_hw_avail(pcm); + return snd_pcm_mmap_capture_avail(pcm); } static inline snd_pcm_sframes_t snd_pcm_mmap_delay(snd_pcm_t *pcm) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/src/ucm/parser.c new/alsa-lib-1.2.3.2/src/ucm/parser.c --- old/alsa-lib-1.2.3.1/src/ucm/parser.c 2020-06-18 19:24:32.000000000 +0200 +++ new/alsa-lib-1.2.3.2/src/ucm/parser.c 2020-06-29 12:51:08.000000000 +0200 @@ -1911,7 +1911,8 @@ if (err < 0) return err; - *info = ctl_list->ctl_info; + if (info) + *info = ctl_list->ctl_info; return err; } @@ -1961,18 +1962,9 @@ } /* set the driver name and long name by the card ctl name */ -static int get_by_card(snd_use_case_mgr_t *mgr, const char *ctl_name) +static inline int get_by_card(snd_use_case_mgr_t *mgr, const char *ctl_name) { - snd_ctl_card_info_t *info; - int err; - - snd_ctl_card_info_alloca(&info); - - err = get_card_info(mgr, ctl_name, &info); - if (err) - return err; - - return 0; + return get_card_info(mgr, ctl_name, NULL); } static int parse_toplevel_path(snd_use_case_mgr_t *uc_mgr, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/src/ucm/ucm_cond.c new/alsa-lib-1.2.3.2/src/ucm/ucm_cond.c --- old/alsa-lib-1.2.3.1/src/ucm/ucm_cond.c 2020-06-18 19:24:32.000000000 +0200 +++ new/alsa-lib-1.2.3.2/src/ucm/ucm_cond.c 2020-06-29 12:51:08.000000000 +0200 @@ -285,12 +285,15 @@ return -EINVAL; } - if (strcmp(type, "ControlExists") == 0) - return if_eval_control_exists(uc_mgr, eval); + if (strcmp(type, "AlwaysTrue") == 0) + return 1; if (strcmp(type, "String") == 0) return if_eval_string(uc_mgr, eval); + if (strcmp(type, "ControlExists") == 0) + return if_eval_control_exists(uc_mgr, eval); + if (strcmp(type, "RegexMatch") == 0) return if_eval_regex_match(uc_mgr, eval); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/src/ucm/ucm_subs.c new/alsa-lib-1.2.3.2/src/ucm/ucm_subs.c --- old/alsa-lib-1.2.3.1/src/ucm/ucm_subs.c 2020-06-18 19:24:32.000000000 +0200 +++ new/alsa-lib-1.2.3.2/src/ucm/ucm_subs.c 2020-06-29 12:51:08.000000000 +0200 @@ -262,9 +262,10 @@ goto __rval; \ } -#define MATCH_VARIABLE2(name, id, fcn) \ +#define MATCH_VARIABLE2(name, id, fcn, empty_ok) \ if (strncmp((name), (id), sizeof(id) - 1) == 0) { \ idsize = sizeof(id) - 1; \ + allow_empty = (empty_ok); \ fcn2 = (fcn); \ goto __match2; \ } @@ -314,11 +315,11 @@ MATCH_VARIABLE(value, "${CardName}", rval_card_name, false); MATCH_VARIABLE(value, "${CardLongName}", rval_card_longname, false); MATCH_VARIABLE(value, "${CardComponents}", rval_card_components, true); - MATCH_VARIABLE2(value, "${env:", rval_env); - MATCH_VARIABLE2(value, "${sys:", rval_sysfs); - MATCH_VARIABLE2(value, "${var:", rval_var); - MATCH_VARIABLE2(value, "${CardNumberByName:", rval_card_number_by_name); - MATCH_VARIABLE2(value, "${CardIdByName:", rval_card_id_by_name); + MATCH_VARIABLE2(value, "${env:", rval_env, false); + MATCH_VARIABLE2(value, "${sys:", rval_sysfs, false); + MATCH_VARIABLE2(value, "${var:", rval_var, true); + MATCH_VARIABLE2(value, "${CardNumberByName:", rval_card_number_by_name, false); + MATCH_VARIABLE2(value, "${CardIdByName:", rval_card_id_by_name, false); __merr: err = -EINVAL; tmp = strchr(value, '}'); @@ -334,7 +335,7 @@ tmp = strchr(value + idsize, '}'); if (tmp) { rvalsize = tmp - (value + idsize); - if (rvalsize > sizeof(v2)) { + if (rvalsize >= sizeof(v2)) { err = -ENOMEM; goto __error; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.2.3.1/version new/alsa-lib-1.2.3.2/version --- old/alsa-lib-1.2.3.1/version 2020-06-18 19:25:54.000000000 +0200 +++ new/alsa-lib-1.2.3.2/version 2020-06-29 12:55:48.000000000 +0200 @@ -1 +1 @@ -1.2.3.1 +1.2.3.2