Hello community,

here is the log from the commit of package alsa for openSUSE:Factory checked in 
at 2017-06-04 01:48:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa (Old)
 and      /work/SRC/openSUSE:Factory/.alsa.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "alsa"

Sun Jun  4 01:48:49 2017 rev:177 rq:500331 version:1.1.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa/alsa.changes        2017-05-20 
14:31:48.515488556 +0200
+++ /work/SRC/openSUSE:Factory/.alsa.new/alsa.changes   2017-06-04 
01:48:52.237093571 +0200
@@ -1,0 +2,16 @@
+Thu Jun  1 09:58:27 CEST 2017 - [email protected]
+
+- Update to alsa-lib 1.1.4.1: it's a bug-fix release, including
+  all previous patches:
+  * pcm: dmix: Fix the inconsistent PCM state
+  * pcm: dshare: Call snd_pcm_dshare_state() directly
+  * pcm: dmix: Workaround for binary incompatibility
+  * test: add a test for list operation to user-defined element sets
+  * conf: Check the availability of PTHREAD_MUTEX_RECURSIVE
+  * build: Define __USE_UNIX98 for old glibc
+
+- Obsoleted patches:
+  0001-build-Define-__USE_UNIX98-for-old-glibc.patch
+  0098-dmix-Workaround-for-binary-incompatibility.patch    
+
+-------------------------------------------------------------------

Old:
----
  0001-build-Define-__USE_UNIX98-for-old-glibc.patch
  0098-dmix-Workaround-for-binary-incompatibility.patch
  alsa-lib-1.1.4.tar.bz2

New:
----
  alsa-lib-1.1.4.1.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ alsa.spec ++++++
--- /var/tmp/diff_new_pack.9p6zhE/_old  2017-06-04 01:48:53.376932522 +0200
+++ /var/tmp/diff_new_pack.9p6zhE/_new  2017-06-04 01:48:53.380931957 +0200
@@ -16,12 +16,12 @@
 #
 
 
-%define package_version        1.1.4
+%define package_version        1.1.4.1
 %if 0%{?suse_version} < 1200
 %define _udevrulesdir /lib/udev/rules.d/
 %endif
 Name:           alsa
-Version:        1.1.4
+Version:        1.1.4.1
 Release:        0
 Summary:        Advanced Linux Sound Architecture
 License:        LGPL-2.1+
@@ -45,9 +45,7 @@
 Source40:       50-alsa.conf
 Source41:       install-snd-module
 # upstream fixes
-Patch1:         0001-build-Define-__USE_UNIX98-for-old-glibc.patch
 # rest suse patches
-Patch98:        0098-dmix-Workaround-for-binary-incompatibility.patch
 BuildRequires:  doxygen
 BuildRequires:  libtool
 BuildRequires:  pkgconfig
@@ -110,8 +108,6 @@
 
 %prep
 %setup -q -n alsa-lib-%{package_version}
-%patch1 -p1
-%patch98 -p1
 
 %build
 export AUTOMAKE_JOBS="%{?_smp_mflags}"



++++++ alsa-lib-1.1.4.tar.bz2 -> alsa-lib-1.1.4.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/configure 
new/alsa-lib-1.1.4.1/configure
--- old/alsa-lib-1.1.4/configure        2017-05-12 10:05:16.000000000 +0200
+++ new/alsa-lib-1.1.4.1/configure      2017-06-01 08:28:25.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.1.4.
+# Generated by GNU Autoconf 2.69 for alsa-lib 1.1.4.1.
 #
 #
 # 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.1.4'
-PACKAGE_STRING='alsa-lib 1.1.4'
+PACKAGE_VERSION='1.1.4.1'
+PACKAGE_STRING='alsa-lib 1.1.4.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1447,7 +1447,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.1.4 to adapt to many kinds of systems.
+\`configure' configures alsa-lib 1.1.4.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1517,7 +1517,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of alsa-lib 1.1.4:";;
+     short | recursive ) echo "Configuration of alsa-lib 1.1.4.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1669,7 +1669,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-alsa-lib configure 1.1.4
+alsa-lib configure 1.1.4.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2030,11 +2030,57 @@
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is 
declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_decl
 cat >config.log <<_ACEOF
 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.1.4, which was
+It was created by alsa-lib $as_me 1.1.4.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2933,7 +2979,7 @@
 
 # Define the identity of the package.
  PACKAGE='alsa-lib'
- VERSION='1.1.4'
+ VERSION='1.1.4.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12375,6 +12421,17 @@
 $as_echo "no" >&6; }
 fi
 
+if test "$HAVE_LIBPTHREAD" = "yes"; then
+  ac_fn_c_check_decl "$LINENO" "PTHREAD_MUTEX_RECURSIVE" 
"ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE" "#include <pthread.h>
+"
+if test "x$ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE" = xyes; then :
+
+$as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE /**/" >>confdefs.h
+
+fi
+
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread" >&5
 $as_echo_n "checking for __thread... " >&6; }
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14027,7 +14084,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.1.4, which was
+This file was extended by alsa-lib $as_me 1.1.4.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14093,7 +14150,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.1.4
+alsa-lib config.status 1.1.4.1
 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.1.4/configure.ac 
new/alsa-lib-1.1.4.1/configure.ac
--- old/alsa-lib-1.1.4/configure.ac     2017-05-12 10:01:45.000000000 +0200
+++ new/alsa-lib-1.1.4.1/configure.ac   2017-06-01 08:27:36.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.1.4)
+AC_INIT(alsa-lib, 1.1.4.1)
 
 AC_CONFIG_SRCDIR([src/control/control.c])
 AC_CONFIG_MACRO_DIR([m4])
@@ -266,6 +266,15 @@
   AC_MSG_RESULT(no)
 fi
 
+dnl Check for pthread
+if test "$HAVE_LIBPTHREAD" = "yes"; then
+  AC_CHECK_DECL(PTHREAD_MUTEX_RECURSIVE,
+    AC_DEFINE(HAVE_PTHREAD_MUTEX_RECURSIVE, [],
+      [Define if your pthreads implementation have PTHREAD_MUTEX_RECURSIVE]),
+    ,
+    [#include <pthread.h>])
+fi
+
 dnl Check for __thread
 AC_MSG_CHECKING([for __thread])
 AC_LINK_IFELSE([AC_LANG_PROGRAM([#if defined(__GNUC__) && (defined(__i386__) 
|| defined(__x86_64__)) && ((__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ 
< 1) || (__GNUC__ == 4 && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ < 2))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/include/config.h.in 
new/alsa-lib-1.1.4.1/include/config.h.in
--- old/alsa-lib-1.1.4/include/config.h.in      2017-05-12 10:05:14.000000000 
+0200
+++ new/alsa-lib-1.1.4.1/include/config.h.in    2017-06-01 08:28:23.000000000 
+0200
@@ -87,6 +87,9 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
+/* Define if your pthreads implementation have PTHREAD_MUTEX_RECURSIVE */
+#undef HAVE_PTHREAD_MUTEX_RECURSIVE
+
 /* Avoid calculation in float */
 #undef HAVE_SOFT_FLOAT
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/include/version.h 
new/alsa-lib-1.1.4.1/include/version.h
--- old/alsa-lib-1.1.4/include/version.h        2017-05-12 10:05:20.000000000 
+0200
+++ new/alsa-lib-1.1.4.1/include/version.h      2017-06-01 08:28:29.000000000 
+0200
@@ -11,5 +11,5 @@
                                 (SND_LIB_MINOR<<8)|\
                                  SND_LIB_SUBMINOR)
 /** library version (string) */
-#define SND_LIB_VERSION_STR    "1.1.4"
+#define SND_LIB_VERSION_STR    "1.1.4.1"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/libtool new/alsa-lib-1.1.4.1/libtool
--- old/alsa-lib-1.1.4/libtool  2017-05-12 10:05:20.000000000 +0200
+++ new/alsa-lib-1.1.4.1/libtool        2017-06-01 08:28:29.000000000 +0200
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # libtool - Provide generalized library-building support services.
-# Generated automatically by config.status (alsa-lib) 1.1.4
+# Generated automatically by config.status (alsa-lib) 1.1.4.1
 # Libtool was configured on host alsa.alsa-project.org:
 # 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.1.4/src/conf.c 
new/alsa-lib-1.1.4.1/src/conf.c
--- old/alsa-lib-1.1.4/src/conf.c       2017-05-12 10:01:45.000000000 +0200
+++ new/alsa-lib-1.1.4.1/src/conf.c     2017-06-01 08:27:36.000000000 +0200
@@ -490,7 +490,9 @@
        pthread_mutexattr_t attr;
 
        pthread_mutexattr_init(&attr);
+#ifdef HAVE_PTHREAD_MUTEX_RECURSIVE
        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+#endif
        pthread_mutex_init(&snd_config_update_mutex, &attr);
        pthread_mutexattr_destroy(&attr);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm.c 
new/alsa-lib-1.1.4.1/src/pcm/pcm.c
--- old/alsa-lib-1.1.4/src/pcm/pcm.c    2017-05-12 10:01:45.000000000 +0200
+++ new/alsa-lib-1.1.4.1/src/pcm/pcm.c  2017-06-01 08:27:36.000000000 +0200
@@ -2600,7 +2600,9 @@
        INIT_LIST_HEAD(&pcm->async_handlers);
 #ifdef THREAD_SAFE_API
        pthread_mutexattr_init(&attr);
+#ifdef HAVE_PTHREAD_MUTEX_RECURSIVE
        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+#endif
        pthread_mutex_init(&pcm->lock, &attr);
        /* use locking as default;
         * each plugin may suppress this in its open call
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_direct.c 
new/alsa-lib-1.1.4.1/src/pcm/pcm_direct.c
--- old/alsa-lib-1.1.4/src/pcm/pcm_direct.c     2017-05-12 10:01:45.000000000 
+0200
+++ new/alsa-lib-1.1.4.1/src/pcm/pcm_direct.c   2017-06-01 08:27:36.000000000 
+0200
@@ -615,7 +615,7 @@
                }
                return ret;
        }
-       direct->shmptr->recoveries++;
+       direct->shmptr->s.recoveries++;
        semerr = snd_pcm_direct_semaphore_up(direct,
                                                 DIRECT_IPC_SEM_CLIENT);
        if (semerr < 0) {
@@ -631,11 +631,11 @@
  */
 int snd_pcm_direct_client_chk_xrun(snd_pcm_direct_t *direct, snd_pcm_t *pcm)
 {
-       if (direct->shmptr->recoveries != direct->recoveries) {
+       if (direct->shmptr->s.recoveries != direct->recoveries) {
                /* no matter how many xruns we missed -
                 * so don't increment but just update to actual counter
                 */
-               direct->recoveries = direct->shmptr->recoveries;
+               direct->recoveries = direct->shmptr->s.recoveries;
                pcm->fast_ops->drop(pcm);
                /* trigger_tstamp update is missing in drop callbacks */
                gettimestamp(&direct->trigger_tstamp, pcm->tstamp_type);
@@ -1539,7 +1539,7 @@
        dmix->slave_buffer_size = spcm->buffer_size;
        dmix->slave_period_size = dmix->shmptr->s.period_size;
        dmix->slave_boundary = spcm->boundary;
-       dmix->recoveries = dmix->shmptr->recoveries;
+       dmix->recoveries = dmix->shmptr->s.recoveries;
 
        ret = snd_pcm_mmap(spcm);
        if (ret < 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_direct.h 
new/alsa-lib-1.1.4.1/src/pcm/pcm_direct.h
--- old/alsa-lib-1.1.4/src/pcm/pcm_direct.h     2017-05-12 10:01:45.000000000 
+0200
+++ new/alsa-lib-1.1.4.1/src/pcm/pcm_direct.h   2017-06-01 08:27:36.000000000 
+0200
@@ -66,7 +66,6 @@
        char socket_name[256];                  /* name of communication socket 
*/
        snd_pcm_type_t type;                    /* PCM type (currently only hw) 
*/
        int use_server;
-       unsigned int recoveries;                /* no of executed recoveries on 
slave*/
        struct {
                unsigned int format;
                snd_interval_t rate;
@@ -95,7 +94,7 @@
                unsigned int stop_threshold;    
                unsigned int silence_threshold;
                unsigned int silence_size;
-               unsigned int xfer_align; /* not used */
+               unsigned int recoveries;        /* no of executed recoveries on 
slave*/
                unsigned long long boundary;
                unsigned int info;
                unsigned int msbits;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_dmix.c 
new/alsa-lib-1.1.4.1/src/pcm/pcm_dmix.c
--- old/alsa-lib-1.1.4/src/pcm/pcm_dmix.c       2017-05-12 10:01:45.000000000 
+0200
+++ new/alsa-lib-1.1.4.1/src/pcm/pcm_dmix.c     2017-06-01 08:27:36.000000000 
+0200
@@ -501,6 +501,7 @@
                break;
        }
 
+       status->state = snd_pcm_dmix_state(pcm);
        status->trigger_tstamp = dmix->trigger_tstamp;
        status->avail = snd_pcm_mmap_playback_avail(pcm);
        status->avail_max = status->avail > dmix->avail_max ? status->avail : 
dmix->avail_max;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_dshare.c 
new/alsa-lib-1.1.4.1/src/pcm/pcm_dshare.c
--- old/alsa-lib-1.1.4/src/pcm/pcm_dshare.c     2017-05-12 10:01:45.000000000 
+0200
+++ new/alsa-lib-1.1.4.1/src/pcm/pcm_dshare.c   2017-06-01 08:27:36.000000000 
+0200
@@ -227,6 +227,8 @@
  *  plugin implementation
  */
 
+static snd_pcm_state_t snd_pcm_dshare_state(snd_pcm_t *pcm);
+
 static int snd_pcm_dshare_status(snd_pcm_t *pcm, snd_pcm_status_t * status)
 {
        snd_pcm_direct_t *dshare = pcm->private_data;
@@ -244,7 +246,7 @@
        default:
                break;
        }
-       status->state = snd_pcm_state(pcm);
+       status->state = snd_pcm_dshare_state(pcm);
        status->trigger_tstamp = dshare->trigger_tstamp;
        status->avail = snd_pcm_mmap_playback_avail(pcm);
        status->avail_max = status->avail > dshare->avail_max ? status->avail : 
dshare->avail_max;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_local.h 
new/alsa-lib-1.1.4.1/src/pcm/pcm_local.h
--- old/alsa-lib-1.1.4/src/pcm/pcm_local.h      2017-05-12 10:01:45.000000000 
+0200
+++ new/alsa-lib-1.1.4.1/src/pcm/pcm_local.h    2017-06-01 08:27:36.000000000 
+0200
@@ -35,6 +35,7 @@
 #include "local.h"
 
 #ifdef THREAD_SAFE_API
+#define __USE_UNIX98 1 /* for old glibc */
 #include <pthread.h>
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/test/user-ctl-element-set.c 
new/alsa-lib-1.1.4.1/test/user-ctl-element-set.c
--- old/alsa-lib-1.1.4/test/user-ctl-element-set.c      2017-05-12 
10:01:45.000000000 +0200
+++ new/alsa-lib-1.1.4.1/test/user-ctl-element-set.c    2017-06-01 
08:27:36.000000000 +0200
@@ -433,6 +433,78 @@
        return 0;
 }
 
+static int check_elem_list(struct elem_set_trial *trial)
+{
+       snd_ctl_elem_list_t *list;
+       snd_ctl_elem_id_t *id;
+       int e;
+       unsigned int i;
+       int err;
+
+       snd_ctl_elem_list_alloca(&list);
+       snd_ctl_elem_id_alloca(&id);
+
+       err = snd_ctl_elem_list(trial->handle, list);
+       if (err < 0)
+               return err;
+
+       /* Certainly some elements are already added. */
+       if (snd_ctl_elem_list_get_count(list) == 0)
+               return -EIO;
+
+       err = snd_ctl_elem_list_alloc_space(list,
+                                           snd_ctl_elem_list_get_count(list));
+       if (err < 0)
+               return err;
+
+       err = snd_ctl_elem_list(trial->handle, list);
+       if (err < 0)
+               goto end;
+
+       if (trial->element_count > snd_ctl_elem_list_get_count(list)) {
+               err = -EIO;
+               goto end;
+       }
+
+       i = 0;
+       for (e = 0; e < snd_ctl_elem_list_get_count(list); ++e) {
+               snd_ctl_elem_list_get_id(list, e, id);
+
+               if (strcmp(snd_ctl_elem_id_get_name(id),
+                          snd_ctl_elem_id_get_name(trial->id)) != 0)
+                       continue;
+               if (snd_ctl_elem_id_get_interface(id) !=
+                   snd_ctl_elem_id_get_interface(trial->id))
+                       continue;
+               if (snd_ctl_elem_id_get_device(id) !=
+                   snd_ctl_elem_id_get_device(trial->id))
+                       continue;
+               if (snd_ctl_elem_id_get_subdevice(id) !=
+                   snd_ctl_elem_id_get_subdevice(trial->id))
+                       continue;
+
+               /*
+                * Here, I expect the list includes element ID data in numerical
+                * order. Actually, it does.
+                */
+               if (snd_ctl_elem_id_get_numid(id) !=
+                   snd_ctl_elem_id_get_numid(trial->id) + i)
+                       continue;
+               if (snd_ctl_elem_id_get_index(id) !=
+                   snd_ctl_elem_id_get_index(trial->id) + i)
+                       continue;
+
+               ++i;
+       }
+
+       if (i != trial->element_count)
+               err = -EIO;
+end:
+       snd_ctl_elem_list_free_space(list);
+
+       return err;
+}
+
 static int check_elem_set_props(struct elem_set_trial *trial)
 {
        snd_ctl_elem_id_t *id;
@@ -700,6 +772,14 @@
                               snd_ctl_elem_type_name(trial.type));
                        break;
                }
+
+               /* Check added elements are retrieved in a list. */
+               err = check_elem_list(&trial);
+               if (err < 0) {
+                       printf("Fail to list each element with %s type.\n",
+                              snd_ctl_elem_type_name(trial.type));
+                       break;
+               }
 
                /* Check properties of each element in this element set. */
                err = check_elem_set_props(&trial);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-lib-1.1.4/version new/alsa-lib-1.1.4.1/version
--- old/alsa-lib-1.1.4/version  2017-05-12 10:05:18.000000000 +0200
+++ new/alsa-lib-1.1.4.1/version        2017-06-01 08:28:28.000000000 +0200
@@ -1 +1 @@
-1.1.4
+1.1.4.1



Reply via email to