Hello community, here is the log from the commit of package alsa for openSUSE:Factory checked in at 2013-07-11 13:27:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/alsa (Old) and /work/SRC/openSUSE:Factory/.alsa.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "alsa" Changes: -------- --- /work/SRC/openSUSE:Factory/alsa/alsa.changes 2013-06-18 09:55:30.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.alsa.new/alsa.changes 2013-07-11 13:27:09.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Jul 9 16:52:37 CEST 2013 - tiwai@suse.de + +- updated to version 1.0.27.2: + just version bump, including all previous fixes + +------------------------------------------------------------------- Old: ---- 0001-pcm-Fix-typo-in-documentation-PREPARE-PREPARED.patch 0002-ucm-Fix-segfault-when-device-argument-is-missing-fro.patch 0003-Allow-specifying-the-max-number-of-cards.patch 0004-pcm_hw-Remove-unused-fields-in-struct.patch 0005-pcm_plugin-Fix-return-value-of-snd_pcm_rewind.patch 0006-pcm_direct-fix-the-memory-leak-when-parsing-the-slav.patch 0007-chmap-Always-succeed-setting-the-map-to-what-it-alre.patch 0008-pcm_hw-Fix-buffer-overflow-in-chmap.patch 0009-pcm_direct-fix-SEGFAULT-when-getgrnam_r-returns-0-an.patch alsa-lib-1.0.27.1.tar.bz2 New: ---- alsa-lib-1.0.27.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alsa.spec ++++++ --- /var/tmp/diff_new_pack.LZmpkO/_old 2013-07-11 13:27:10.000000000 +0200 +++ /var/tmp/diff_new_pack.LZmpkO/_new 2013-07-11 13:27:10.000000000 +0200 @@ -20,7 +20,7 @@ BuildRequires: doxygen BuildRequires: libtool BuildRequires: pkg-config -%define package_version 1.0.27.1 +%define package_version 1.0.27.2 Requires: alsa-utils Recommends: alsa-plugins alsa-oss PreReq: %insserv_prereq %fillup_prereq @@ -32,7 +32,7 @@ Summary: Advanced Linux Sound Architecture License: LGPL-2.1+ Group: System/Libraries -Version: 1.0.27.1 +Version: 1.0.27.2 Release: 0 Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2 Source2: baselibs.conf @@ -54,15 +54,6 @@ Source41: install-snd-module # Patch: alsa-lib-git-fixes.diff # upstream fixes -Patch1: 0001-pcm-Fix-typo-in-documentation-PREPARE-PREPARED.patch -Patch2: 0002-ucm-Fix-segfault-when-device-argument-is-missing-fro.patch -Patch3: 0003-Allow-specifying-the-max-number-of-cards.patch -Patch4: 0004-pcm_hw-Remove-unused-fields-in-struct.patch -Patch5: 0005-pcm_plugin-Fix-return-value-of-snd_pcm_rewind.patch -Patch6: 0006-pcm_direct-fix-the-memory-leak-when-parsing-the-slav.patch -Patch7: 0007-chmap-Always-succeed-setting-the-map-to-what-it-alre.patch -Patch8: 0008-pcm_hw-Fix-buffer-overflow-in-chmap.patch -Patch9: 0009-pcm_direct-fix-SEGFAULT-when-getgrnam_r-returns-0-an.patch # rest suse patches Patch99: alsa-lib-doxygen-avoid-crash-for-11.3.diff Url: http://www.alsa-project.org/ @@ -114,15 +105,6 @@ %prep %setup -q -n alsa-lib-%{package_version} # %patch -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 %if %suse_version == 1130 %patch99 -p1 %endif ++++++ alsa-lib-1.0.27.1.tar.bz2 -> alsa-lib-1.0.27.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/configure new/alsa-lib-1.0.27.2/configure --- old/alsa-lib-1.0.27.1/configure 2013-05-21 10:49:48.000000000 +0200 +++ new/alsa-lib-1.0.27.2/configure 2013-07-08 14:32:46.000000000 +0200 @@ -894,6 +894,7 @@ with_pythonincludes with_pcm_plugins with_ctl_plugins +with_max_cards ' ac_precious_vars='build_alias host_alias @@ -1584,6 +1585,7 @@ build PCM plugins (default = all) --with-ctl-plugins=<list> build control plugins (default = all) + --with-max-cards Specify the max number of cards (default = 32) Some influential environment variables: CC C compiler command @@ -2925,7 +2927,7 @@ # Define the identity of the package. PACKAGE=alsa-lib - VERSION=1.0.27.1 + VERSION=1.0.27.2 cat >>confdefs.h <<_ACEOF @@ -13197,6 +13199,30 @@ fi done +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for max number of cards" >&5 +$as_echo_n "checking for max number of cards... " >&6; } + +# Check whether --with-max-cards was given. +if test "${with_max_cards+set}" = set; then : + withval=$with_max_cards; max_cards="$withval" +else + max_cards="32" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $max_cards" >&5 +$as_echo "$max_cards" >&6; } + +if test "$max_cards" -lt 1; then + as_fn_error $? "Invalid max cards $max_cards" "$LINENO" 5 +elif test "$max_cards" -gt 256; then + as_fn_error $? "Invalid max cards $max_cards" "$LINENO" 5 +fi + +cat >>confdefs.h <<_ACEOF +#define SND_MAX_CARDS $max_cards +_ACEOF + + if test ! -L "$srcdir"/include/alsa ; then echo "Making a symlink include/alsa" rm -f "$srcdir"/include/alsa diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/configure.in new/alsa-lib-1.0.27.2/configure.in --- old/alsa-lib-1.0.27.1/configure.in 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/configure.in 2013-07-08 14:31:36.000000000 +0200 @@ -12,7 +12,7 @@ dnl remove API = c+1:0:0 dnl ************************************************* AC_CANONICAL_HOST -AM_INIT_AUTOMAKE(alsa-lib, 1.0.27.1) +AM_INIT_AUTOMAKE(alsa-lib, 1.0.27.2) eval LIBTOOL_VERSION_INFO="2:0:0" dnl ************************************************* AM_CONDITIONAL([INSTALL_M4], [test -n "${ACLOCAL}"]) @@ -632,6 +632,20 @@ fi done +dnl Max number of cards +AC_MSG_CHECKING(for max number of cards) +AC_ARG_WITH(max-cards, + AS_HELP_STRING([--with-max-cards], [Specify the max number of cards (default = 32)]), + [ max_cards="$withval" ], [ max_cards="32" ]) +AC_MSG_RESULT([$max_cards]) + +if test "$max_cards" -lt 1; then + AC_ERROR([Invalid max cards $max_cards]) +elif test "$max_cards" -gt 256; then + AC_ERROR([Invalid max cards $max_cards]) +fi +AC_DEFINE_UNQUOTED(SND_MAX_CARDS, $max_cards, [Max number of cards]) + dnl Make a symlink for inclusion of alsa/xxx.h if test ! -L "$srcdir"/include/alsa ; then echo "Making a symlink include/alsa" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/include/config.h.in new/alsa-lib-1.0.27.2/include/config.h.in --- old/alsa-lib-1.0.27.1/include/config.h.in 2013-05-21 10:49:45.000000000 +0200 +++ new/alsa-lib-1.0.27.2/include/config.h.in 2013-07-08 14:32:44.000000000 +0200 @@ -142,6 +142,9 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Max number of cards */ +#undef SND_MAX_CARDS + /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/include/version.h new/alsa-lib-1.0.27.2/include/version.h --- old/alsa-lib-1.0.27.1/include/version.h 2013-05-21 10:49:55.000000000 +0200 +++ new/alsa-lib-1.0.27.2/include/version.h 2013-07-08 14:32:53.000000000 +0200 @@ -11,5 +11,5 @@ (SND_LIB_MINOR<<8)|\ SND_LIB_SUBMINOR) /** library version (string) */ -#define SND_LIB_VERSION_STR "1.0.27.1" +#define SND_LIB_VERSION_STR "1.0.27.2" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/libtool new/alsa-lib-1.0.27.2/libtool --- old/alsa-lib-1.0.27.1/libtool 2013-05-21 10:49:54.000000000 +0200 +++ new/alsa-lib-1.0.27.2/libtool 2013-07-08 14:32:53.000000000 +0200 @@ -1,7 +1,7 @@ #! /bin/sh # libtool - Provide generalized library-building support services. -# Generated automatically by config.status (alsa-lib) 1.0.27.1 +# Generated automatically by config.status (alsa-lib) 1.0.27.2 # 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.0.27.1/src/confmisc.c new/alsa-lib-1.0.27.2/src/confmisc.c --- old/alsa-lib-1.0.27.1/src/confmisc.c 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/src/confmisc.c 2013-07-08 14:31:36.000000000 +0200 @@ -668,7 +668,7 @@ char *res = NULL; int err; - assert(card >= 0 && card <= 32); + assert(card >= 0 && card <= SND_MAX_CARDS); err = open_ctl(card, &ctl); if (err < 0) { SNDERR("could not open control for card %i", card); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/src/control/cards.c new/alsa-lib-1.0.27.2/src/control/cards.c --- old/alsa-lib-1.0.27.1/src/control/cards.c 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/src/control/cards.c 2013-07-08 14:31:36.000000000 +0200 @@ -103,7 +103,7 @@ return -EINVAL; card = *rcard; card = card < 0 ? 0 : card + 1; - for (; card < 32; card++) { + for (; card < SND_MAX_CARDS; card++) { if (snd_card_load(card)) { *rcard = card; return 0; @@ -134,7 +134,7 @@ (isdigit(*string) && isdigit(*(string + 1)) && *(string + 2) == 0)) { if (sscanf(string, "%i", &card) != 1) return -EINVAL; - if (card < 0 || card > 31) + if (card < 0 || card >= SND_MAX_CARDS) return -EINVAL; err = snd_card_load1(card); if (err >= 0) @@ -143,7 +143,7 @@ } if (string[0] == '/') /* device name */ return snd_card_load2(string); - for (card = 0; card < 32; card++) { + for (card = 0; card < SND_MAX_CARDS; card++) { #ifdef SUPPORT_ALOAD if (! snd_card_load(card)) continue; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/src/control/control_hw.c new/alsa-lib-1.0.27.2/src/control/control_hw.c --- old/alsa-lib-1.0.27.1/src/control/control_hw.c 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/src/control/control_hw.c 2013-07-08 14:31:36.000000000 +0200 @@ -382,7 +382,7 @@ *handle = NULL; - if (CHECK_SANITY(card < 0 || card >= 32)) { + if (CHECK_SANITY(card < 0 || card >= SND_MAX_CARDS)) { SNDMSG("Invalid card index %d", card); return -EINVAL; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/src/hwdep/hwdep_hw.c new/alsa-lib-1.0.27.2/src/hwdep/hwdep_hw.c --- old/alsa-lib-1.0.27.1/src/hwdep/hwdep_hw.c 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/src/hwdep/hwdep_hw.c 2013-07-08 14:31:36.000000000 +0200 @@ -112,7 +112,7 @@ *handle = NULL; - if (card < 0 || card >= 32) + if (card < 0 || card >= SND_MAX_CARDS) return -EINVAL; sprintf(filename, SNDRV_FILE_HWDEP, card, device); fd = snd_open_device(filename, mode); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/src/pcm/pcm.c new/alsa-lib-1.0.27.2/src/pcm/pcm.c --- old/alsa-lib-1.0.27.1/src/pcm/pcm.c 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/src/pcm/pcm.c 2013-07-08 14:31:36.000000000 +0200 @@ -437,7 +437,7 @@ if successfully finishes, otherwise the state #SND_PCM_STATE_OPEN is entered. When it is brought to SETUP state, this function automatically -calls #snd_pcm_prepare() function to bring to the PREPARE state +calls #snd_pcm_prepare() function to bring to the PREPARED state as below. \par snd_pcm_prepare @@ -7361,6 +7361,13 @@ #endif /* DOC_HIDDEN */ +static int chmap_equal(const snd_pcm_chmap_t *a, const snd_pcm_chmap_t *b) +{ + if (a->channels != b->channels) + return 0; + return !memcmp(a->pos, b->pos, a->channels * sizeof(a->pos[0])); +} + /** * !brief Query the available channel maps * \param pcm PCM handle to query @@ -7415,6 +7422,10 @@ */ int snd_pcm_set_chmap(snd_pcm_t *pcm, const snd_pcm_chmap_t *map) { + const snd_pcm_chmap_t *oldmap = snd_pcm_get_chmap(pcm); + if (oldmap && chmap_equal(oldmap, map)) + return 0; + if (!pcm->ops->set_chmap) return -ENXIO; return pcm->ops->set_chmap(pcm, map); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/src/pcm/pcm_direct.c new/alsa-lib-1.0.27.2/src/pcm/pcm_direct.c --- old/alsa-lib-1.0.27.1/src/pcm/pcm_direct.c 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/src/pcm/pcm_direct.c 2013-07-08 14:31:36.000000000 +0200 @@ -1453,7 +1453,7 @@ int hop) { snd_config_iterator_t i, next; - snd_config_t *pcm_conf; + snd_config_t *pcm_conf, *pcm_conf2; int err; long card = 0, device = 0, subdevice = 0; const char *str; @@ -1484,14 +1484,28 @@ } #endif - if (snd_config_search(sconf, "slave", &pcm_conf) >= 0 && - (snd_config_search(pcm_conf, "pcm", &pcm_conf) >= 0 || - (snd_config_get_string(pcm_conf, &str) >= 0 && - snd_config_search_definition(root, "pcm_slave", str, &pcm_conf) >= 0 && - snd_config_search(pcm_conf, "pcm", &pcm_conf) >= 0))) - return _snd_pcm_direct_get_slave_ipc_offset(root, pcm_conf, - direction, - hop + 1); + if (snd_config_search(sconf, "slave", &pcm_conf) >= 0) { + if (snd_config_search(pcm_conf, "pcm", &pcm_conf) >= 0) { + return _snd_pcm_direct_get_slave_ipc_offset(root, + pcm_conf, + direction, + hop + 1); + } else { + if (snd_config_get_string(pcm_conf, &str) >= 0 && + snd_config_search_definition(root, "pcm_slave", + str, &pcm_conf) >= 0) { + if (snd_config_search(pcm_conf, "pcm", + &pcm_conf2) >= 0) { + err = + _snd_pcm_direct_get_slave_ipc_offset( + root, pcm_conf2, direction, hop + 1); + snd_config_delete(pcm_conf); + return err; + } + snd_config_delete(pcm_conf); + } + } + } snd_config_for_each(i, next, sconf) { snd_config_t *n = snd_config_iterator_entry(i); @@ -1636,7 +1650,7 @@ if (buffer == NULL) return -ENOMEM; int st = getgrnam_r(group, &grp, buffer, len, &pgrp); - if (st != 0) { + if (st != 0 || !pgrp) { SNDERR("The field ipc_gid must be a valid group (create group %s)", group); free(buffer); return -EINVAL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/src/pcm/pcm_hw.c new/alsa-lib-1.0.27.2/src/pcm/pcm_hw.c --- old/alsa-lib-1.0.27.1/src/pcm/pcm_hw.c 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/src/pcm/pcm_hw.c 2013-07-08 14:31:36.000000000 +0200 @@ -95,8 +95,6 @@ volatile struct snd_pcm_mmap_status * mmap_status; struct snd_pcm_mmap_control *mmap_control; struct snd_pcm_sync_ptr *sync_ptr; - snd_pcm_uframes_t hw_ptr; - snd_pcm_uframes_t appl_ptr; int period_event; snd_timer_t *period_timer; struct pollfd period_timer_pfd; @@ -1189,7 +1187,7 @@ snd_pcm_state_name(FAST_PCM_STATE(hw))); return NULL; } - map = malloc(pcm->channels + 1); + map = malloc(pcm->channels * sizeof(map->pos[0]) + sizeof(*map)); if (!map) return NULL; map->channels = pcm->channels; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/src/pcm/pcm_plugin.c new/alsa-lib-1.0.27.2/src/pcm/pcm_plugin.c --- old/alsa-lib-1.0.27.1/src/pcm/pcm_plugin.c 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/src/pcm/pcm_plugin.c 2013-07-08 14:31:36.000000000 +0200 @@ -219,9 +219,9 @@ snd_atomic_write_end(&plugin->watom); return sframes; } - snd_pcm_mmap_appl_backward(pcm, (snd_pcm_uframes_t) frames); + snd_pcm_mmap_appl_backward(pcm, (snd_pcm_uframes_t) sframes); snd_atomic_write_end(&plugin->watom); - return (snd_pcm_sframes_t) frames; + return (snd_pcm_sframes_t) sframes; } static snd_pcm_sframes_t snd_pcm_plugin_forwardable(snd_pcm_t *pcm) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/src/ucm/main.c new/alsa-lib-1.0.27.2/src/ucm/main.c --- old/alsa-lib-1.0.27.1/src/ucm/main.c 2013-05-21 10:48:28.000000000 +0200 +++ new/alsa-lib-1.0.27.2/src/ucm/main.c 2013-07-08 14:31:36.000000000 +0200 @@ -1647,7 +1647,8 @@ goto __end; } } else { - str = NULL; + err = -EINVAL; + goto __end; } if (check_identifier(identifier, "_swdev")) err = switch_device(uc_mgr, str, value); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.0.27.1/version new/alsa-lib-1.0.27.2/version --- old/alsa-lib-1.0.27.1/version 2013-05-21 10:49:52.000000000 +0200 +++ new/alsa-lib-1.0.27.2/version 2013-07-08 14:32:50.000000000 +0200 @@ -1 +1 @@ -1.0.27.1 +1.0.27.2 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org