Hello community,

here is the log from the commit of package alsa-plugins for openSUSE:Factory 
checked in at 2012-01-27 15:16:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa-plugins (Old)
 and      /work/SRC/openSUSE:Factory/.alsa-plugins.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "alsa-plugins", Maintainer is "ti...@suse.com"

Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa-plugins/alsa-plugins.changes        
2011-10-03 09:12:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.alsa-plugins.new/alsa-plugins.changes   
2012-01-27 15:16:30.000000000 +0100
@@ -1,0 +2,5 @@
+Wed Jan 25 11:14:55 CET 2012 - ti...@suse.de
+
+- updated to version 1.0.25; including all previous fixes
+
+-------------------------------------------------------------------

Old:
----
  0001-a52-Fix-a52-codec-with-recent-libavcodec-updates.patch
  0002-Pulse-Fix-snd_pcm_avail-returning-0-in-some-cases.patch
  0003-pulse-Add-fallback-option.patch
  0004-pulse-Set-PA_CONTEXT_NOAUTOSPAWN-when-fallback-is-av.patch
  0005-jack-Fix-hanging-applications-when-using-jack-plugin.patch
  0006-pulse-only-underrun-if-no-more-data-has-been-written.patch
  0007-pulse-Define-a-dummy-PA_CHECK_VERSION-when-not-avail.patch
  0008-pulse-Install-a-PulseAudio-config-snippet-into-alsa..patch
  0009-Set-CLOEXEC-flag-for-pipes-in-PulseAudio-plugins.patch
  alsa-plugins-1.0.24.tar.bz2

New:
----
  alsa-plugins-1.0.25.tar.bz2

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

Other differences:
------------------
++++++ alsa-plugins.spec ++++++
--- /var/tmp/diff_new_pack.HPmZsO/_old  2012-01-27 15:16:31.000000000 +0100
+++ /var/tmp/diff_new_pack.HPmZsO/_new  2012-01-27 15:16:31.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package alsa-plugins
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,7 +15,6 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
-
 %if %suse_version > 1030
 %define build_pulse    1
 %define build_speex    1
@@ -25,8 +24,11 @@
 %endif
 
 Name:           alsa-plugins
-BuildRequires:  alsa-devel dbus-1-devel libjack-devel libsamplerate-devel
+BuildRequires:  alsa-devel
+BuildRequires:  dbus-1-devel
+BuildRequires:  libjack-devel
 BuildRequires:  libjack0
+BuildRequires:  libsamplerate-devel
 BuildRequires:  libtool
 %if %build_pulse
 BuildRequires:  libpulse-devel
@@ -34,13 +36,13 @@
 %if %build_speex
 BuildRequires:  speex-devel
 %endif
-%define package_version        1.0.24
+%define package_version        1.0.25
 Url:            http://www.alsa-project.org/
 Summary:        Extra Plug-Ins for the ALSA Library
-Version:        1.0.24
-Release:        13
 License:        LGPL-2.1+
 Group:          System/Libraries
+Version:        1.0.25
+Release:        0
 %ifarch x86_64 s390x
 Recommends:     %{name}-32bit = %{version}
 %endif
@@ -48,15 +50,6 @@
 Source1:        asound-pulse.conf
 Source2:        alsa-pulse.conf
 Source3:        baselibs.conf
-Patch1:         0001-a52-Fix-a52-codec-with-recent-libavcodec-updates.patch
-Patch2:         0002-Pulse-Fix-snd_pcm_avail-returning-0-in-some-cases.patch
-Patch3:         0003-pulse-Add-fallback-option.patch
-Patch4:         0004-pulse-Set-PA_CONTEXT_NOAUTOSPAWN-when-fallback-is-av.patch
-Patch5:         0005-jack-Fix-hanging-applications-when-using-jack-plugin.patch
-Patch6:         0006-pulse-only-underrun-if-no-more-data-has-been-written.patch
-Patch7:         0007-pulse-Define-a-dummy-PA_CHECK_VERSION-when-not-avail.patch
-Patch8:         0008-pulse-Install-a-PulseAudio-config-snippet-into-alsa..patch
-Patch9:         0009-Set-CLOEXEC-flag-for-pipes-in-PulseAudio-plugins.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -64,8 +57,8 @@
 
 %package jack
 Summary:        JACK I/O Plug-In for the ALSA Library
-Group:          System/Libraries
 License:        LGPL-2.1+
+Group:          System/Libraries
 Requires:       jack
 %ifarch x86_64 s390x
 Recommends:     %{name}-jack-32bit = %{version}
@@ -79,8 +72,8 @@
 
 %package pulse
 Summary:        Pulseaudio Plug-In for the ALSA Library
-Group:          System/Libraries
 License:        GPL-2.0+ ; LGPL-2.1+
+Group:          System/Libraries
 Requires:       pulseaudio
 %ifarch x86_64 s390x
 Recommends:     %{name}-pulse-32bit = %{version}
@@ -97,8 +90,8 @@
 
 %package maemo
 Summary:        Maemo Plug-Ins for the ALSA Library
-Group:          System/Libraries
 License:        LGPL-2.1+
+Group:          System/Libraries
 
 %description maemo
 This package contains the ALSA-library plug-ins using maemo SDK for
@@ -106,8 +99,8 @@
 
 %package samplerate
 Summary:        Samplerate Plug-In for the ALSA Library
-Group:          System/Libraries
 License:        GPL-2.0+
+Group:          System/Libraries
 %ifarch x86_64 s390x
 Recommends:     %{name}-samplerate-32bit = %{version}
 %endif
@@ -120,8 +113,8 @@
 
 %package speex
 Summary:        Speex Prerocessor Plug-In for the ALSA Library
-Group:          System/Libraries
 License:        LGPL-2.1+
+Group:          System/Libraries
 %ifarch x86_64 s390x
 Recommends:     %{name}-speex-32bit = %{version}
 %endif
@@ -134,15 +127,6 @@
 
 %prep
 %setup -q -n %{name}-%{package_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
 
 %build
 export AUTOMAKE_JOBS="%{?_smp_mflags}"

++++++ alsa-plugins-1.0.24.tar.bz2 -> alsa-plugins-1.0.25.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/Makefile.in 
new/alsa-plugins-1.0.25/Makefile.in
--- old/alsa-plugins-1.0.24/Makefile.in 2011-01-28 15:50:52.000000000 +0100
+++ new/alsa-plugins-1.0.25/Makefile.in 2012-01-25 10:30:37.000000000 +0100
@@ -112,6 +112,7 @@
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/a52/Makefile.in 
new/alsa-plugins-1.0.25/a52/Makefile.in
--- old/alsa-plugins-1.0.24/a52/Makefile.in     2011-01-28 15:50:51.000000000 
+0100
+++ new/alsa-plugins-1.0.25/a52/Makefile.in     2012-01-25 10:30:36.000000000 
+0100
@@ -92,6 +92,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/a52/pcm_a52.c 
new/alsa-plugins-1.0.25/a52/pcm_a52.c
--- old/alsa-plugins-1.0.24/a52/pcm_a52.c       2011-01-26 12:05:44.000000000 
+0100
+++ new/alsa-plugins-1.0.25/a52/pcm_a52.c       2012-01-25 08:57:07.000000000 
+0100
@@ -436,6 +436,11 @@
        rec->avctx->bit_rate = rec->bitrate * 1000;
        rec->avctx->sample_rate = io->rate;
        rec->avctx->channels = io->channels;
+#if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && 
LIBAVCODEC_VERSION_MINOR >= 95)
+  rec->avctx->sample_fmt = AV_SAMPLE_FMT_S16;
+#else
+  rec->avctx->sample_fmt = SAMPLE_FMT_S16;
+#endif
 #if LIBAVCODEC_VERSION_MAJOR > 52 || (LIBAVCODEC_VERSION_MAJOR == 52 && 
LIBAVCODEC_VERSION_MINOR >= 3)
        switch (io->channels) {
        case 2:
@@ -699,8 +704,13 @@
 
        avcodec_init();
        avcodec_register_all();
-       rec->codec = avcodec_find_encoder(CODEC_ID_AC3);
-       if (! rec->codec) {
+
+       rec->codec = avcodec_find_encoder_by_name("ac3_fixed");
+       if (rec->codec == NULL)
+               rec->codec = avcodec_find_encoder_by_name("ac3");
+       if (rec->codec == NULL) 
+               rec->codec = avcodec_find_encoder(CODEC_ID_AC3);
+       if (rec->codec == NULL) {
                SNDERR("Cannot find codec engine");
                err = -EINVAL;
                goto error;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/arcam-av/Makefile.in 
new/alsa-plugins-1.0.25/arcam-av/Makefile.in
--- old/alsa-plugins-1.0.24/arcam-av/Makefile.in        2011-01-28 
15:50:51.000000000 +0100
+++ new/alsa-plugins-1.0.25/arcam-av/Makefile.in        2012-01-25 
10:30:36.000000000 +0100
@@ -93,6 +93,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/config.h.in 
new/alsa-plugins-1.0.25/config.h.in
--- old/alsa-plugins-1.0.24/config.h.in 2011-01-28 15:50:51.000000000 +0100
+++ new/alsa-plugins-1.0.25/config.h.in 2012-01-25 10:30:35.000000000 +0100
@@ -1,5 +1,8 @@
 /* config.h.in.  Generated from configure.in by autoheader.  */
 
+/* directory containing ALSA data files */
+#undef ALSA_DATA_DIR
+
 /* directory containing ALSA add-on modules */
 #undef ALSA_PLUGIN_DIR
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/configure 
new/alsa-plugins-1.0.25/configure
--- old/alsa-plugins-1.0.24/configure   2011-01-28 15:50:52.000000000 +0100
+++ new/alsa-plugins-1.0.25/configure   2012-01-25 10:30:37.000000000 +0100
@@ -758,6 +758,7 @@
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
+ALSA_DATA_DIR
 ALSA_PLUGIN_DIR
 USE_LIBSPEEX_FALSE
 USE_LIBSPEEX_TRUE
@@ -915,6 +916,7 @@
 with_avcodec_libdir
 with_speex
 with_plugindir
+with_alsadatadir
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1594,6 +1596,7 @@
                           build speex resampler (built-in code, link with
                           external lib, or no build)
   --with-plugindir=dir    path where ALSA plugin files are stored
+  --with-alsadatadir=dir  path where ALSA data files are stored
 
 Some influential environment variables:
   CC          C compiler command
@@ -3084,7 +3087,7 @@
 
 # Define the identity of the package.
  PACKAGE=alsa-plugins
- VERSION=1.0.24
+ VERSION=1.0.25
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4861,7 +4864,7 @@
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4864 "configure"' > conftest.$ac_ext
+  echo '#line 4867 "configure"' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -6985,11 +6988,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6988: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6991: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6992: \$? = $ac_status" >&5
+   echo "$as_me:6995: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7253,11 +7256,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7256: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7259: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7260: \$? = $ac_status" >&5
+   echo "$as_me:7263: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7357,11 +7360,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7360: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7363: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7364: \$? = $ac_status" >&5
+   echo "$as_me:7367: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -9326,7 +9329,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9329 "configure"
+#line 9332 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9426,7 +9429,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9429 "configure"
+#line 9432 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11702,11 +11705,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11705: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11708: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11709: \$? = $ac_status" >&5
+   echo "$as_me:11712: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -11806,11 +11809,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11809: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11812: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11813: \$? = $ac_status" >&5
+   echo "$as_me:11816: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -13376,11 +13379,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13379: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13382: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13383: \$? = $ac_status" >&5
+   echo "$as_me:13386: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -13480,11 +13483,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13483: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13486: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13487: \$? = $ac_status" >&5
+   echo "$as_me:13490: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -15632,11 +15635,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15635: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15638: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15639: \$? = $ac_status" >&5
+   echo "$as_me:15642: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15900,11 +15903,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15903: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15906: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15907: \$? = $ac_status" >&5
+   echo "$as_me:15910: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16004,11 +16007,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16007: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16010: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16011: \$? = $ac_status" >&5
+   echo "$as_me:16014: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -19707,6 +19710,30 @@
 
 
 
+# Check whether --with-alsadatadir was given.
+if test "${with_alsadatadir+set}" = set; then :
+  withval=$with_alsadatadir; alsadatadir="$withval"
+else
+  alsadatadir=""
+fi
+
+if test -z "$alsadatadir"; then
+    eval dir="$datadir"
+    case "$dir" in
+    /*) ;;
+    *) dir="$dir"
+    esac
+    alsadatadir="$dir/alsa"
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define ALSA_DATA_DIR "$alsadatadir"
+_ACEOF
+
+ALSA_DATA_DIR="$alsadatadir"
+
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for plugins version" >&5
 $as_echo_n "checking for plugins version... " >&6; }
 SND_PLUGINS_VERSION=$VERSION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/configure.in 
new/alsa-plugins-1.0.25/configure.in
--- old/alsa-plugins-1.0.24/configure.in        2011-01-26 12:05:44.000000000 
+0100
+++ new/alsa-plugins-1.0.25/configure.in        2012-01-25 08:57:07.000000000 
+0100
@@ -1,6 +1,6 @@
 AC_PREREQ(2.59)
 AC_INIT(oss/pcm_oss.c)
-AM_INIT_AUTOMAKE(alsa-plugins, 1.0.24)
+AM_INIT_AUTOMAKE(alsa-plugins, 1.0.25)
 AC_PREFIX_DEFAULT(/usr)
 
 AC_CONFIG_HEADERS(config.h)
@@ -131,10 +131,10 @@
 AM_CONDITIONAL(HAVE_PPH, test "$PPH" = "builtin" -o "$PPH" = "lib")
 AM_CONDITIONAL(USE_LIBSPEEX, test "$PPH" = "lib")
 
-dnl ALSA plugin directory
 test "x$prefix" = xNONE && prefix=$ac_default_prefix
 test "x$exec_prefix" = xNONE && exec_prefix=$prefix
 
+dnl ALSA plugin directory
 AC_ARG_WITH(plugindir,
     AS_HELP_STRING([--with-plugindir=dir],
        [path where ALSA plugin files are stored]),
@@ -151,6 +151,23 @@
 ALSA_PLUGIN_DIR="$plugindir"
 AC_SUBST(ALSA_PLUGIN_DIR)
 
+dnl ALSA data directory
+AC_ARG_WITH(alsadatadir,
+    AS_HELP_STRING([--with-alsadatadir=dir],
+       [path where ALSA data files are stored]),
+    alsadatadir="$withval", alsadatadir="")
+if test -z "$alsadatadir"; then
+    eval dir="$datadir"
+    case "$dir" in
+    /*) ;;
+    *) dir="$dir"
+    esac
+    alsadatadir="$dir/alsa"
+fi
+AC_DEFINE_UNQUOTED(ALSA_DATA_DIR, "$alsadatadir", [directory containing ALSA 
data files])
+ALSA_DATA_DIR="$alsadatadir"
+AC_SUBST(ALSA_DATA_DIR)
+
 SAVE_PLUGINS_VERSION
 
 AC_OUTPUT([
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/doc/Makefile.in 
new/alsa-plugins-1.0.25/doc/Makefile.in
--- old/alsa-plugins-1.0.24/doc/Makefile.in     2011-01-28 15:50:51.000000000 
+0100
+++ new/alsa-plugins-1.0.25/doc/Makefile.in     2012-01-25 10:30:36.000000000 
+0100
@@ -49,6 +49,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/doc/README-pulse 
new/alsa-plugins-1.0.25/doc/README-pulse
--- old/alsa-plugins-1.0.24/doc/README-pulse    2011-01-26 12:05:44.000000000 
+0100
+++ new/alsa-plugins-1.0.25/doc/README-pulse    2012-01-25 08:57:07.000000000 
+0100
@@ -39,3 +39,22 @@
 
 If you do not specify any source and/or sink, then the server's defaults will
 be used.
+
+When "fallback" option is set, the plugin will try to open the given PCM
+(or control) automatically when connecting to PA server fails.  Typically,
+it should point to "sysdefault", which was introduced recently in alsa-lib,
+so that the system-default setup is used even when you overwrite "default"
+PCM and control definitions.
+
+    pcm.pulse {
+        type pulse
+        fallback "sysdefault"
+    }
+
+    ctl.pulse {
+        type pulse
+        fallback "sysdefault"
+    }
+
+   pcm.!default "pulse"
+   ctl.!default "pulse"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/jack/Makefile.in 
new/alsa-plugins-1.0.25/jack/Makefile.in
--- old/alsa-plugins-1.0.24/jack/Makefile.in    2011-01-28 15:50:51.000000000 
+0100
+++ new/alsa-plugins-1.0.25/jack/Makefile.in    2012-01-25 10:30:36.000000000 
+0100
@@ -92,6 +92,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/jack/pcm_jack.c 
new/alsa-plugins-1.0.25/jack/pcm_jack.c
--- old/alsa-plugins-1.0.24/jack/pcm_jack.c     2011-01-26 12:05:44.000000000 
+0100
+++ new/alsa-plugins-1.0.25/jack/pcm_jack.c     2012-01-25 08:57:07.000000000 
+0100
@@ -77,7 +77,7 @@
        return 0;
 }
 
-static int snd_pcm_jack_poll_revents(snd_pcm_ioplug_t *io ATTRIBUTE_UNUSED,
+static int snd_pcm_jack_poll_revents(snd_pcm_ioplug_t *io,
                                     struct pollfd *pfds, unsigned int nfds,
                                     unsigned short *revents)
 {
@@ -87,7 +87,9 @@
 
        read(pfds[0].fd, buf, 1);
 
-       *revents = pfds[0].revents;
+       *revents = pfds[0].revents & ~(POLLIN | POLLOUT);
+       if (pfds[0].revents & POLLIN)
+               *revents |= (io->stream == SND_PCM_STREAM_PLAYBACK) ? POLLOUT : 
POLLIN;
        return 0;
 }
 
@@ -307,6 +309,19 @@
        return 0;
 }
 
+static int make_nonblock(int fd)
+{
+       int fl;
+
+       if ((fl = fcntl(fd, F_GETFL)) < 0)
+               return fl;
+
+       if (fl & O_NONBLOCK)
+               return 0;
+
+       return fcntl(fd, F_SETFL, fl | O_NONBLOCK);
+}
+
 static int snd_pcm_jack_open(snd_pcm_t **pcmp, const char *name,
                             snd_config_t *playback_conf,
                             snd_config_t *capture_conf,
@@ -363,6 +378,9 @@
 
        socketpair(AF_LOCAL, SOCK_STREAM, 0, fd);
        
+       make_nonblock(fd[0]);
+       make_nonblock(fd[1]);
+
        jack->fd = fd[0];
 
        jack->io.version = SND_PCM_IOPLUG_VERSION;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/maemo/Makefile.in 
new/alsa-plugins-1.0.25/maemo/Makefile.in
--- old/alsa-plugins-1.0.24/maemo/Makefile.in   2011-01-28 15:50:51.000000000 
+0100
+++ new/alsa-plugins-1.0.25/maemo/Makefile.in   2012-01-25 10:30:36.000000000 
+0100
@@ -106,6 +106,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/mix/Makefile.in 
new/alsa-plugins-1.0.25/mix/Makefile.in
--- old/alsa-plugins-1.0.24/mix/Makefile.in     2011-01-28 15:50:51.000000000 
+0100
+++ new/alsa-plugins-1.0.25/mix/Makefile.in     2012-01-25 10:30:36.000000000 
+0100
@@ -100,6 +100,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/oss/Makefile.in 
new/alsa-plugins-1.0.25/oss/Makefile.in
--- old/alsa-plugins-1.0.24/oss/Makefile.in     2011-01-28 15:50:52.000000000 
+0100
+++ new/alsa-plugins-1.0.25/oss/Makefile.in     2012-01-25 10:30:36.000000000 
+0100
@@ -100,6 +100,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/pph/Makefile.in 
new/alsa-plugins-1.0.25/pph/Makefile.in
--- old/alsa-plugins-1.0.24/pph/Makefile.in     2011-01-28 15:50:52.000000000 
+0100
+++ new/alsa-plugins-1.0.25/pph/Makefile.in     2012-01-25 10:30:36.000000000 
+0100
@@ -106,6 +106,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/pulse/50-pulseaudio.conf 
new/alsa-plugins-1.0.25/pulse/50-pulseaudio.conf
--- old/alsa-plugins-1.0.24/pulse/50-pulseaudio.conf    1970-01-01 
01:00:00.000000000 +0100
+++ new/alsa-plugins-1.0.25/pulse/50-pulseaudio.conf    2012-01-25 
08:57:07.000000000 +0100
@@ -0,0 +1,13 @@
+# Add a specific named PulseAudio pcm and ctl (typically useful for testing)
+
+pcm.pulse {
+    type pulse
+    hint {
+        show on
+        description "PulseAudio Sound Server"
+    }
+}
+
+ctl.pulse {
+    type pulse
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/alsa-plugins-1.0.24/pulse/99-pulseaudio-default.conf.example 
new/alsa-plugins-1.0.25/pulse/99-pulseaudio-default.conf.example
--- old/alsa-plugins-1.0.24/pulse/99-pulseaudio-default.conf.example    
1970-01-01 01:00:00.000000000 +0100
+++ new/alsa-plugins-1.0.25/pulse/99-pulseaudio-default.conf.example    
2012-01-25 08:57:07.000000000 +0100
@@ -0,0 +1,13 @@
+# Default to PulseAudio
+
+pcm.!default {
+    type pulse
+    hint {
+        show on
+        description "Default ALSA Output (currently PulseAudio Sound Server)"
+    }
+}
+
+ctl.!default {
+    type pulse
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/pulse/Makefile.am 
new/alsa-plugins-1.0.25/pulse/Makefile.am
--- old/alsa-plugins-1.0.24/pulse/Makefile.am   2011-01-26 12:05:44.000000000 
+0100
+++ new/alsa-plugins-1.0.25/pulse/Makefile.am   2012-01-25 08:57:07.000000000 
+0100
@@ -1,10 +1,14 @@
+EXTRA_DIST = 50-pulseaudio.conf 99-pulseaudio-default.conf.example
+
 asound_module_pcm_LTLIBRARIES = libasound_module_pcm_pulse.la
 asound_module_ctl_LTLIBRARIES = libasound_module_ctl_pulse.la
 asound_module_conf_LTLIBRARIES = libasound_module_conf_pulse.la
+asound_module_data_DATA = 50-pulseaudio.conf 99-pulseaudio-default.conf.example
 
 asound_module_pcmdir = @ALSA_PLUGIN_DIR@
 asound_module_ctldir = @ALSA_PLUGIN_DIR@
 asound_module_confdir = @ALSA_PLUGIN_DIR@
+asound_module_datadir = @ALSA_DATA_DIR@/alsa.conf.d
 
 AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ $(PTHREAD_CFLAGS) $(pulseaudio_CFLAGS) 
-D_GNU_SOURCE
 AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined 
$(LDFLAGS_NOUNDEFINED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/pulse/Makefile.in 
new/alsa-plugins-1.0.25/pulse/Makefile.in
--- old/alsa-plugins-1.0.24/pulse/Makefile.in   2011-01-28 15:50:52.000000000 
+0100
+++ new/alsa-plugins-1.0.25/pulse/Makefile.in   2012-01-25 10:30:37.000000000 
+0100
@@ -15,6 +15,7 @@
 
 @SET_MAKE@
 
+
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -68,7 +69,8 @@
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(asound_module_confdir)" \
        "$(DESTDIR)$(asound_module_ctldir)" \
-       "$(DESTDIR)$(asound_module_pcmdir)"
+       "$(DESTDIR)$(asound_module_pcmdir)" \
+       "$(DESTDIR)$(asound_module_datadir)"
 LTLIBRARIES = $(asound_module_conf_LTLIBRARIES) \
        $(asound_module_ctl_LTLIBRARIES) \
        $(asound_module_pcm_LTLIBRARIES)
@@ -104,11 +106,13 @@
 DIST_SOURCES = $(libasound_module_conf_pulse_la_SOURCES) \
        $(libasound_module_ctl_pulse_la_SOURCES) \
        $(libasound_module_pcm_pulse_la_SOURCES)
+DATA = $(asound_module_data_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
@@ -231,12 +235,15 @@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
+EXTRA_DIST = 50-pulseaudio.conf 99-pulseaudio-default.conf.example
 asound_module_pcm_LTLIBRARIES = libasound_module_pcm_pulse.la
 asound_module_ctl_LTLIBRARIES = libasound_module_ctl_pulse.la
 asound_module_conf_LTLIBRARIES = libasound_module_conf_pulse.la
+asound_module_data_DATA = 50-pulseaudio.conf 99-pulseaudio-default.conf.example
 asound_module_pcmdir = @ALSA_PLUGIN_DIR@
 asound_module_ctldir = @ALSA_PLUGIN_DIR@
 asound_module_confdir = @ALSA_PLUGIN_DIR@
+asound_module_datadir = @ALSA_DATA_DIR@/alsa.conf.d
 AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ $(PTHREAD_CFLAGS) $(pulseaudio_CFLAGS) 
-D_GNU_SOURCE
 AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined 
$(LDFLAGS_NOUNDEFINED)
 libasound_module_pcm_pulse_la_SOURCES = pcm_pulse.c pulse.c pulse.h
@@ -416,6 +423,26 @@
 
 clean-libtool:
        -rm -rf .libs _libs
+install-asound_module_dataDATA: $(asound_module_data_DATA)
+       @$(NORMAL_INSTALL)
+       test -z "$(asound_module_datadir)" || $(MKDIR_P) 
"$(DESTDIR)$(asound_module_datadir)"
+       @list='$(asound_module_data_DATA)'; test -n "$(asound_module_datadir)" 
|| list=; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(asound_module_datadir)'"; 
\
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(asound_module_datadir)" || exit 
$$?; \
+       done
+
+uninstall-asound_module_dataDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(asound_module_data_DATA)'; test -n "$(asound_module_datadir)" 
|| list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       test -n "$$files" || exit 0; \
+       echo " ( cd '$(DESTDIR)$(asound_module_datadir)' && rm -f" $$files ")"; 
\
+       cd "$(DESTDIR)$(asound_module_datadir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -501,9 +528,9 @@
        done
 check-am: all-am
 check: check-am
-all-am: Makefile $(LTLIBRARIES)
+all-am: Makefile $(LTLIBRARIES) $(DATA)
 installdirs:
-       for dir in "$(DESTDIR)$(asound_module_confdir)" 
"$(DESTDIR)$(asound_module_ctldir)" "$(DESTDIR)$(asound_module_pcmdir)"; do \
+       for dir in "$(DESTDIR)$(asound_module_confdir)" 
"$(DESTDIR)$(asound_module_ctldir)" "$(DESTDIR)$(asound_module_pcmdir)" 
"$(DESTDIR)$(asound_module_datadir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: install-am
@@ -558,6 +585,7 @@
 
 install-data-am: install-asound_module_confLTLIBRARIES \
        install-asound_module_ctlLTLIBRARIES \
+       install-asound_module_dataDATA \
        install-asound_module_pcmLTLIBRARIES
 
 install-dvi: install-dvi-am
@@ -606,6 +634,7 @@
 
 uninstall-am: uninstall-asound_module_confLTLIBRARIES \
        uninstall-asound_module_ctlLTLIBRARIES \
+       uninstall-asound_module_dataDATA \
        uninstall-asound_module_pcmLTLIBRARIES
 
 .MAKE: install-am install-strip
@@ -619,6 +648,7 @@
        html-am info info-am install install-am \
        install-asound_module_confLTLIBRARIES \
        install-asound_module_ctlLTLIBRARIES \
+       install-asound_module_dataDATA \
        install-asound_module_pcmLTLIBRARIES install-data \
        install-data-am install-dvi install-dvi-am install-exec \
        install-exec-am install-html install-html-am install-info \
@@ -630,6 +660,7 @@
        tags uninstall uninstall-am \
        uninstall-asound_module_confLTLIBRARIES \
        uninstall-asound_module_ctlLTLIBRARIES \
+       uninstall-asound_module_dataDATA \
        uninstall-asound_module_pcmLTLIBRARIES
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/pulse/ctl_pulse.c 
new/alsa-plugins-1.0.25/pulse/ctl_pulse.c
--- old/alsa-plugins-1.0.24/pulse/ctl_pulse.c   2011-01-26 12:05:44.000000000 
+0100
+++ new/alsa-plugins-1.0.25/pulse/ctl_pulse.c   2012-01-25 08:57:07.000000000 
+0100
@@ -647,6 +647,7 @@
        const char *device = NULL;
        const char *source = NULL;
        const char *sink = NULL;
+       const char *fallback_name = NULL;
        int err;
        snd_ctl_pulse_t *ctl;
        pa_operation *o;
@@ -687,10 +688,20 @@
                        }
                        continue;
                }
+               if (strcmp(id, "fallback") == 0) {
+                       if (snd_config_get_string(n, &fallback_name) < 0) {
+                               SNDERR("Invalid value for %s", id);
+                               return -EINVAL;
+                       }
+                       continue;
+               }
                SNDERR("Unknown field %s", id);
                return -EINVAL;
        }
 
+       if (fallback_name && name && !strcmp(name, fallback_name))
+               fallback_name = NULL; /* no fallback for the same name */
+
        ctl = calloc(1, sizeof(*ctl));
        if (!ctl)
                return -ENOMEM;
@@ -701,7 +712,7 @@
                goto error;
        }
 
-       err = pulse_connect(ctl->p, server);
+       err = pulse_connect(ctl->p, server, fallback_name != NULL);
        if (err < 0)
                goto error;
 
@@ -794,6 +805,10 @@
        free(ctl->sink);
        free(ctl);
 
+       if (fallback_name)
+               return snd_ctl_open_fallback(handlep, root,
+                                            fallback_name, name, mode);
+
        return err;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/pulse/pcm_pulse.c 
new/alsa-plugins-1.0.25/pulse/pcm_pulse.c
--- old/alsa-plugins-1.0.24/pulse/pcm_pulse.c   2011-01-26 12:05:44.000000000 
+0100
+++ new/alsa-plugins-1.0.25/pulse/pcm_pulse.c   2012-01-25 08:57:07.000000000 
+0100
@@ -42,6 +42,7 @@
        int handle_underrun;
 
        size_t offset;
+       int64_t written;
 
        pa_stream *stream;
 
@@ -92,8 +93,8 @@
                size -= pcm->offset;
 
        /* Prevent accidental overrun of the fake ringbuffer */
-       if (size >= pcm->buffer_attr.tlength)
-               size = pcm->buffer_attr.tlength-1;
+       if (size > pcm->buffer_attr.tlength - pcm->frame_size)
+               size = pcm->buffer_attr.tlength - pcm->frame_size;
 
        if (size > pcm->last_size) {
                pcm->ptr += size - pcm->last_size;
@@ -460,6 +461,7 @@
 
        /* Make sure the buffer pointer is in sync */
        pcm->last_size -= writebytes;
+       pcm->written += writebytes;
        ret = update_ptr(pcm);
        if (ret < 0)
                goto finish;
@@ -585,6 +587,19 @@
        update_active(pcm);
 }
 
+#ifndef PA_CHECK_VERSION
+#define PA_CHECK_VERSION(x, y, z)      0
+#endif
+
+#if PA_CHECK_VERSION(0,99,0)
+#define DEFAULT_HANDLE_UNDERRUN                1
+#define do_underrun_detect(pcm, p) \
+       ((pcm)->written <= pa_stream_get_underflow_index(p))
+#else
+#define DEFAULT_HANDLE_UNDERRUN                0
+#define do_underrun_detect(pcm, p)     1       /* always true */
+#endif
+
 static void stream_underrun_cb(pa_stream * p, void *userdata)
 {
        snd_pcm_pulse_t *pcm = userdata;
@@ -594,7 +609,8 @@
        if (!pcm->p)
                return;
 
-       pcm->underrun = 1;
+       if (do_underrun_detect(pcm, p))
+               pcm->underrun = 1;
 }
 
 static void stream_latency_cb(pa_stream *p, void *userdata) {
@@ -739,6 +755,7 @@
 
        pcm->offset = 0;
        pcm->underrun = 0;
+       pcm->written = 0;
 
        /* Reset fake ringbuffer */
        pcm->last_size = 0;
@@ -982,7 +999,8 @@
        snd_config_iterator_t i, next;
        const char *server = NULL;
        const char *device = NULL;
-       int handle_underrun = 0;
+       const char *fallback_name = NULL;
+       int handle_underrun = DEFAULT_HANDLE_UNDERRUN;
        int err;
        snd_pcm_pulse_t *pcm;
 
@@ -1016,10 +1034,20 @@
                        handle_underrun = err;
                        continue;
                }
+               if (strcmp(id, "fallback") == 0) {
+                       if (snd_config_get_string(n, &fallback_name) < 0) {
+                               SNDERR("Invalid value for %s", id);
+                               return -EINVAL;
+                       }
+                       continue;
+               }
                SNDERR("Unknown field %s", id);
                return -EINVAL;
        }
 
+       if (fallback_name && name && !strcmp(name, fallback_name))
+               fallback_name = NULL; /* no fallback for the same name */
+
        pcm = calloc(1, sizeof(*pcm));
        if (!pcm)
                return -ENOMEM;
@@ -1041,7 +1069,7 @@
 
        pcm->handle_underrun = handle_underrun;
 
-       err = pulse_connect(pcm->p, server);
+       err = pulse_connect(pcm->p, server, fallback_name != NULL);
        if (err < 0)
                goto error;
 
@@ -1074,6 +1102,10 @@
        free(pcm->device);
        free(pcm);
 
+       if (fallback_name)
+               return snd_pcm_open_fallback(pcmp, root, fallback_name, name,
+                                            stream, mode);
+
        return err;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/pulse/pulse.c 
new/alsa-plugins-1.0.25/pulse/pulse.c
--- old/alsa-plugins-1.0.24/pulse/pulse.c       2011-01-26 12:05:44.000000000 
+0100
+++ new/alsa-plugins-1.0.25/pulse/pulse.c       2012-01-25 08:57:07.000000000 
+0100
@@ -114,6 +114,11 @@
        return fcntl(fd, F_SETFL, fl | O_NONBLOCK);
 }
 
+static int make_close_on_exec(int fd)
+{
+    return fcntl(fd, F_SETFD, FD_CLOEXEC);
+}
+
 snd_pulse_t *pulse_new(void)
 {
        snd_pulse_t *p;
@@ -134,7 +139,9 @@
        p->thread_fd = fd[1];
 
        make_nonblock(p->main_fd);
+       make_close_on_exec(p->main_fd);
        make_nonblock(p->thread_fd);
+       make_close_on_exec(p->thread_fd);
 
        p->mainloop = pa_threaded_mainloop_new();
        if (!p->mainloop)
@@ -188,13 +195,19 @@
        free(p);
 }
 
-int pulse_connect(snd_pulse_t * p, const char *server)
+int pulse_connect(snd_pulse_t * p, const char *server, int can_fallback)
 {
        int err;
+       pa_context_flags_t flags;
        pa_context_state_t state;
 
        assert(p);
 
+       if (can_fallback)
+               flags = PA_CONTEXT_NOAUTOSPAWN;
+       else
+               flags = 0;
+
        if (!p->context || !p->mainloop)
                return -EBADFD;
 
@@ -204,7 +217,7 @@
 
        pa_threaded_mainloop_lock(p->mainloop);
 
-       err = pa_context_connect(p->context, server, 0, NULL);
+       err = pa_context_connect(p->context, server, flags, NULL);
        if (err < 0)
                goto error;
 
@@ -225,8 +238,9 @@
        return 0;
 
       error:
-       SNDERR("PulseAudio: Unable to connect: %s\n",
-               pa_strerror(pa_context_errno(p->context)));
+       if (!can_fallback)
+               SNDERR("PulseAudio: Unable to connect: %s\n",
+                      pa_strerror(pa_context_errno(p->context)));
 
        pa_threaded_mainloop_unlock(p->mainloop);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/pulse/pulse.h 
new/alsa-plugins-1.0.25/pulse/pulse.h
--- old/alsa-plugins-1.0.24/pulse/pulse.h       2011-01-26 12:05:44.000000000 
+0100
+++ new/alsa-plugins-1.0.25/pulse/pulse.h       2012-01-25 08:57:07.000000000 
+0100
@@ -42,7 +42,7 @@
 snd_pulse_t *pulse_new(void);
 void pulse_free(snd_pulse_t * p);
 
-int pulse_connect(snd_pulse_t * p, const char *server);
+int pulse_connect(snd_pulse_t * p, const char *server, int can_fallback);
 
 void pulse_poll_activate(snd_pulse_t * p);
 void pulse_poll_deactivate(snd_pulse_t * p);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/rate/Makefile.in 
new/alsa-plugins-1.0.25/rate/Makefile.in
--- old/alsa-plugins-1.0.24/rate/Makefile.in    2011-01-28 15:50:52.000000000 
+0100
+++ new/alsa-plugins-1.0.25/rate/Makefile.in    2012-01-25 10:30:37.000000000 
+0100
@@ -92,6 +92,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/rate-lavc/Makefile.in 
new/alsa-plugins-1.0.25/rate-lavc/Makefile.in
--- old/alsa-plugins-1.0.24/rate-lavc/Makefile.in       2011-01-28 
15:50:52.000000000 +0100
+++ new/alsa-plugins-1.0.25/rate-lavc/Makefile.in       2012-01-25 
10:30:37.000000000 +0100
@@ -95,6 +95,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/speex/Makefile.in 
new/alsa-plugins-1.0.25/speex/Makefile.in
--- old/alsa-plugins-1.0.24/speex/Makefile.in   2011-01-28 15:50:52.000000000 
+0100
+++ new/alsa-plugins-1.0.25/speex/Makefile.in   2012-01-25 10:30:37.000000000 
+0100
@@ -92,6 +92,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/usb_stream/Makefile.in 
new/alsa-plugins-1.0.25/usb_stream/Makefile.in
--- old/alsa-plugins-1.0.24/usb_stream/Makefile.in      2011-01-28 
15:50:52.000000000 +0100
+++ new/alsa-plugins-1.0.25/usb_stream/Makefile.in      2012-01-25 
10:30:37.000000000 +0100
@@ -95,6 +95,7 @@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_DATA_DIR = @ALSA_DATA_DIR@
 ALSA_LIBS = @ALSA_LIBS@
 ALSA_PLUGIN_DIR = @ALSA_PLUGIN_DIR@
 AMTAR = @AMTAR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.0.24/version 
new/alsa-plugins-1.0.25/version
--- old/alsa-plugins-1.0.24/version     2011-01-28 15:50:59.000000000 +0100
+++ new/alsa-plugins-1.0.25/version     2012-01-25 10:30:43.000000000 +0100
@@ -1 +1 @@
-1.0.24
+1.0.25

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to