Hello community,

here is the log from the commit of package alsa-plugins for openSUSE:Factory 
checked in at 2018-04-20 17:24:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa-plugins (Old)
 and      /work/SRC/openSUSE:Factory/.alsa-plugins.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "alsa-plugins"

Fri Apr 20 17:24:06 2018 rev:97 rq:593446 version:1.1.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa-plugins/alsa-plugins.changes        
2017-11-16 13:59:11.885574383 +0100
+++ /work/SRC/openSUSE:Factory/.alsa-plugins.new/alsa-plugins.changes   
2018-04-20 17:24:08.954115747 +0200
@@ -1,0 +2,14 @@
+Wed Apr  4 08:44:10 CEST 2018 - [email protected]
+
+- Update to alsa-plugins 1.1.6:
+  * Change FSF address (Franklin Street)
+  * jack: Write only valid values to the internal hw_ptr
+  * jack: Use boundary as hw_ptr wrap around
+  * jack: Do not Xrun the ALSA buffer
+  * jack: Report Xruns to user application
+  * jack: Use correct parameter order for snd_pcm_areas_silence()
+- Remove the build conditions for too old distros
+- Use %license file tag
+- Enable avcodec build for SLE15, too
+
+-------------------------------------------------------------------

Old:
----
  alsa-plugins-1.1.5.tar.bz2

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

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

Other differences:
------------------
++++++ alsa-plugins.spec ++++++
--- /var/tmp/diff_new_pack.YZ6gih/_old  2018-04-20 17:24:09.742087176 +0200
+++ /var/tmp/diff_new_pack.YZ6gih/_new  2018-04-20 17:24:09.746087031 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package alsa-plugins
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,25 +16,18 @@
 #
 
 
-%define package_version        1.1.5
-%if 0%{?suse_version} > 1030
-%define build_pulse    1
-%define build_speex    1
-%else
-%define build_pulse    0
-%define build_speex    0
-%endif
-%if 0%{?is_opensuse}
+%if 0%{?is_opensuse} || 0%{?suse_version} >= 1500
 %define build_avcodec  1
 %else
 %define build_avcodec  0
 %endif
+%define package_version        1.1.6
 
 Name:           alsa-plugins
-Version:        1.1.5
+Version:        1.1.6
 Release:        0
 Summary:        Extra Plug-Ins for the ALSA Library
-License:        LGPL-2.1+
+License:        LGPL-2.1-or-later
 Group:          System/Libraries
 Url:            http://www.alsa-project.org/
 Source:         
ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-%{package_version}.tar.bz2
@@ -51,16 +44,12 @@
 BuildRequires:  libsamplerate-devel
 BuildRequires:  libtool
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%if %{build_pulse}
 BuildRequires:  libpulse-devel
-%endif
-%if %{build_speex}
 %if 0%{?suse_version} > 1230
 BuildRequires:  pkgconfig(speexdsp) >= 1.2
 %else
 BuildRequires:  speex-devel
 %endif
-%endif
 %ifarch s390x
 Recommends:     %{name}-32bit = %{version}
 %endif
@@ -70,7 +59,7 @@
 
 %package jack
 Summary:        JACK I/O Plug-In for the ALSA Library
-License:        LGPL-2.1+
+License:        LGPL-2.1-or-later
 Group:          System/Libraries
 Requires:       jack
 %ifarch s390x
@@ -81,11 +70,9 @@
 This package contains the JACK (Jack Audio Connection Kit) I/O plug-in
 for the ALSA library.
 
-%if %{build_pulse}
-
 %package pulse
 Summary:        Pulseaudio Plug-In for the ALSA Library
-License:        GPL-2.0+ and LGPL-2.1+
+License:        GPL-2.0-or-later AND LGPL-2.1-or-later
 Group:          System/Libraries
 Requires:       pulseaudio
 %ifarch s390x
@@ -99,11 +86,9 @@
 
 This package contains the polypaudio I/O plug-in for the ALSA library.
 
-%endif
-
 %package maemo
 Summary:        Maemo Plug-Ins for the ALSA Library
-License:        LGPL-2.1+
+License:        LGPL-2.1-or-later
 Group:          System/Libraries
 
 %description maemo
@@ -112,7 +97,7 @@
 
 %package samplerate
 Summary:        Samplerate Plug-In for the ALSA Library
-License:        GPL-2.0+
+License:        GPL-2.0-or-later
 Group:          System/Libraries
 %ifarch s390x
 Recommends:     %{name}-samplerate-32bit = %{version}
@@ -122,11 +107,9 @@
 This package contains the sample rate converter plugin for the ALSA
 library using libsamplerate.
 
-%if %{build_speex}
-
 %package speex
 Summary:        Speex Prerocessor Plug-In for the ALSA Library
-License:        LGPL-2.1+
+License:        LGPL-2.1-or-later
 Group:          System/Libraries
 %ifarch s390x
 Recommends:     %{name}-speex-32bit = %{version}
@@ -136,12 +119,10 @@
 This package contains the Speex preprocessor plugin for the ALSA
 library using libspeexdsp.
 
-%endif
-
 %if %build_avcodec
 %package a52
 Summary:        A52 Output Plug-In for the ALSA Library
-License:        LGPL-2.1+
+License:        LGPL-2.1-or-later
 Group:          System/Libraries
 
 %description a52
@@ -149,7 +130,7 @@
 
 %package lavcrate
 Summary:        Rate Converter Plug-In for the ALSA Library using libavcodec
-License:        LGPL-2.1+
+License:        LGPL-2.1-or-later
 Group:          System/Libraries
 
 %description lavcrate
@@ -170,10 +151,8 @@
 %install
 make DESTDIR=%{buildroot} install %{?_smp_mflags}
 mkdir -p %{buildroot}%{_sysconfdir}/
-%if %{build_pulse}
 install -m 0644 %{_sourcedir}/asound-pulse.conf %{buildroot}%{_sysconfdir}/
 install -m 0644 %{_sourcedir}/alsa-pulse.conf %{buildroot}%{_sysconfdir}/
-%endif
 # modules don't need *.la files
 find %{buildroot} -type f -name "*.la" -delete -print
 
@@ -191,7 +170,7 @@
 
 %files
 %defattr(-, root, root)
-%doc COPYING
+%license COPYING
 %doc doc/README-pcm-oss
 %doc doc/README-arcam-av
 %doc doc/upmix.txt
@@ -208,14 +187,13 @@
 
 %files jack
 %defattr(-, root, root)
-%doc COPYING
+%license COPYING
 %doc doc/README-jack
 %{_libdir}/alsa-lib/libasound_module_pcm_jack.so
-%if %{build_pulse}
 
 %files pulse
 %defattr(-, root, root)
-%doc COPYING
+%license COPYING
 %doc doc/README-pulse
 %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so
 %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so
@@ -223,39 +201,36 @@
 %config %{_sysconfdir}/asound-pulse.conf
 %config %{_sysconfdir}/alsa-pulse.conf
 %{_datadir}/alsa/alsa.conf.d
-%endif
 
 %files maemo
 %defattr(-, root, root)
-%doc COPYING
+%license COPYING
 %doc doc/README-maemo
 %{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so
 %{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so
 
 %files samplerate
 %defattr(-, root, root)
-%doc COPYING.GPL
+%license COPYING.GPL
 %doc doc/samplerate.txt
 %{_libdir}/alsa-lib/libasound_module_rate_samplerate*.so
 
-%if %{build_speex}
 %files speex
 %defattr(-, root, root)
-%doc COPYING
+%license COPYING
 %doc doc/speexdsp.txt
 %{_libdir}/alsa-lib/libasound_module_pcm_speex.so
-%endif
 
 %if %build_avcodec
 %files a52
 %defattr(-, root, root)
-%doc COPYING
+%license COPYING
 %doc doc/a52.txt
 %{_libdir}/alsa-lib/libasound_module_pcm_a52.so
 
 %files lavcrate
 %defattr(-, root, root)
-%doc COPYING
+%license COPYING
 %doc doc/lavcrate.txt
 %{_libdir}/alsa-lib/libasound_module_rate_lavcrate.so
 %{_libdir}/alsa-lib/libasound_module_rate_lavcrate_fast.so

++++++ alsa-plugins-1.1.5.tar.bz2 -> alsa-plugins-1.1.6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/COPYING 
new/alsa-plugins-1.1.6/COPYING
--- old/alsa-plugins-1.1.5/COPYING      2017-11-14 08:52:10.000000000 +0100
+++ new/alsa-plugins-1.1.6/COPYING      2018-04-03 09:01:38.000000000 +0200
@@ -2,7 +2,7 @@
                       Version 2.1, February 1999
 
  Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -485,7 +485,7 @@
 
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
 
 Also add information on how to contact you by electronic and paper mail.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/COPYING.GPL 
new/alsa-plugins-1.1.6/COPYING.GPL
--- old/alsa-plugins-1.1.5/COPYING.GPL  2017-11-14 08:52:10.000000000 +0100
+++ new/alsa-plugins-1.1.6/COPYING.GPL  2018-04-03 09:01:38.000000000 +0200
@@ -2,7 +2,7 @@
                       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -305,7 +305,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
 
 
 Also add information on how to contact you by electronic and paper mail.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/a52/pcm_a52.c 
new/alsa-plugins-1.1.6/a52/pcm_a52.c
--- old/alsa-plugins-1.1.5/a52/pcm_a52.c        2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/a52/pcm_a52.c        2018-04-03 09:01:38.000000000 
+0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <stdio.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/arcam-av/arcam_av.c 
new/alsa-plugins-1.1.6/arcam-av/arcam_av.c
--- old/alsa-plugins-1.1.5/arcam-av/arcam_av.c  2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/arcam-av/arcam_av.c  2018-04-03 09:01:38.000000000 
+0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/arcam-av/arcam_av.h 
new/alsa-plugins-1.1.6/arcam-av/arcam_av.h
--- old/alsa-plugins-1.1.5/arcam-av/arcam_av.h  2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/arcam-av/arcam_av.h  2018-04-03 09:01:38.000000000 
+0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <pthread.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/arcam-av/ctl_arcam_av.c 
new/alsa-plugins-1.1.6/arcam-av/ctl_arcam_av.c
--- old/alsa-plugins-1.1.5/arcam-av/ctl_arcam_av.c      2017-11-14 
08:52:10.000000000 +0100
+++ new/alsa-plugins-1.1.6/arcam-av/ctl_arcam_av.c      2018-04-03 
09:01:38.000000000 +0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <sys/socket.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/configure 
new/alsa-plugins-1.1.6/configure
--- old/alsa-plugins-1.1.5/configure    2017-11-14 09:04:52.000000000 +0100
+++ new/alsa-plugins-1.1.6/configure    2018-04-03 09:02:57.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-plugins 1.1.5.
+# Generated by GNU Autoconf 2.69 for alsa-plugins 1.1.6.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='alsa-plugins'
 PACKAGE_TARNAME='alsa-plugins'
-PACKAGE_VERSION='1.1.5'
-PACKAGE_STRING='alsa-plugins 1.1.5'
+PACKAGE_VERSION='1.1.6'
+PACKAGE_STRING='alsa-plugins 1.1.6'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1383,7 +1383,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-plugins 1.1.5 to adapt to many kinds of systems.
+\`configure' configures alsa-plugins 1.1.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1453,7 +1453,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of alsa-plugins 1.1.5:";;
+     short | recursive ) echo "Configuration of alsa-plugins 1.1.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1607,7 +1607,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-alsa-plugins configure 1.1.5
+alsa-plugins configure 1.1.6
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1972,7 +1972,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-plugins $as_me 1.1.5, which was
+It was created by alsa-plugins $as_me 1.1.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2796,7 +2796,7 @@
 
 # Define the identity of the package.
  PACKAGE='alsa-plugins'
- VERSION='1.1.5'
+ VERSION='1.1.6'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13297,7 +13297,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by alsa-plugins $as_me 1.1.5, which was
+This file was extended by alsa-plugins $as_me 1.1.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13363,7 +13363,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-plugins config.status 1.1.5
+alsa-plugins config.status 1.1.6
 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-plugins-1.1.5/configure.ac 
new/alsa-plugins-1.1.6/configure.ac
--- old/alsa-plugins-1.1.5/configure.ac 2017-11-14 08:52:10.000000000 +0100
+++ new/alsa-plugins-1.1.6/configure.ac 2018-04-03 09:01:38.000000000 +0200
@@ -1,5 +1,5 @@
 AC_PREREQ(2.59)
-AC_INIT(alsa-plugins, 1.1.5)
+AC_INIT(alsa-plugins, 1.1.6)
 AM_INIT_AUTOMAKE
 AC_PREFIX_DEFAULT(/usr)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/jack/pcm_jack.c 
new/alsa-plugins-1.1.6/jack/pcm_jack.c
--- old/alsa-plugins-1.1.5/jack/pcm_jack.c      2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/jack/pcm_jack.c      2018-04-03 09:01:38.000000000 
+0200
@@ -16,10 +16,11 @@
  *
  *   You should have received a copy of the GNU Lesser General Public
  *   License along with this library; if not, write to the Free Software
- *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 
 USA
  *
  */
 
+#include <stdbool.h>
 #include <byteswap.h>
 #include <sys/shm.h>
 #include <sys/types.h>
@@ -40,7 +41,8 @@
 
        char **port_names;
        unsigned int num_ports;
-       unsigned int hw_ptr;
+       snd_pcm_uframes_t boundary;
+       snd_pcm_uframes_t hw_ptr;
        unsigned int sample_bits;
        snd_pcm_uframes_t min_avail;
 
@@ -49,10 +51,14 @@
 
        jack_port_t **ports;
        jack_client_t *client;
+
+       /* JACK thread -> ALSA thread */
+       bool xrun_detected;
 } snd_pcm_jack_t;
 
 static int snd_pcm_jack_stop(snd_pcm_ioplug_t *io);
 
+
 static int pcm_poll_block_check(snd_pcm_ioplug_t *io)
 {
        static char buf[32];
@@ -130,14 +136,21 @@
 static snd_pcm_sframes_t snd_pcm_jack_pointer(snd_pcm_ioplug_t *io)
 {
        snd_pcm_jack_t *jack = io->private_data;
+
+       if (jack->xrun_detected)
+               return -EPIPE;
+
+#ifdef SND_PCM_IOPLUG_FLAG_BOUNDARY_WA
        return jack->hw_ptr;
+#else
+       return jack->hw_ptr % io->buffer_size;
+#endif
 }
 
 static int
 snd_pcm_jack_process_cb(jack_nframes_t nframes, snd_pcm_ioplug_t *io)
 {
        snd_pcm_jack_t *jack = io->private_data;
-       const snd_pcm_channel_area_t *areas;
        snd_pcm_uframes_t xfer = 0;
        unsigned int channel;
        
@@ -147,35 +160,63 @@
                jack->areas[channel].first = 0;
                jack->areas[channel].step = jack->sample_bits;
        }
-               
-       if (io->state != SND_PCM_STATE_RUNNING) {
-               if (io->stream == SND_PCM_STREAM_PLAYBACK) {
-                       for (channel = 0; channel < io->channels; channel++)
-                               snd_pcm_area_silence(&jack->areas[channel], 0, 
nframes, io->format);
-                       return 0;
+
+       if (io->state == SND_PCM_STATE_RUNNING) {
+               snd_pcm_uframes_t hw_ptr = jack->hw_ptr;
+               const snd_pcm_uframes_t hw_avail = snd_pcm_ioplug_hw_avail(io, 
hw_ptr,
+                                                                          
io->appl_ptr);
+
+               if (hw_avail > 0) {
+                       const snd_pcm_channel_area_t *areas = 
snd_pcm_ioplug_mmap_areas(io);
+                       const snd_pcm_uframes_t offset = hw_ptr % 
io->buffer_size;
+
+                       xfer = nframes;
+                       if (xfer > hw_avail)
+                               xfer = hw_avail;
+
+                       if (io->stream == SND_PCM_STREAM_PLAYBACK)
+                               snd_pcm_areas_copy_wrap(jack->areas, 0, nframes,
+                                                       areas, offset,
+                                                       io->buffer_size,
+                                                       io->channels, xfer,
+                                                       io->format);
+                       else
+                               snd_pcm_areas_copy_wrap(areas, offset,
+                                                       io->buffer_size,
+                                                       jack->areas, 0, nframes,
+                                                       io->channels, xfer,
+                                                       io->format);
+
+                       hw_ptr += xfer;
+                       if (hw_ptr >= jack->boundary)
+                               hw_ptr -= jack->boundary;
+                       jack->hw_ptr = hw_ptr;
                }
        }
-       
-       areas = snd_pcm_ioplug_mmap_areas(io);
 
-       while (xfer < nframes) {
-               snd_pcm_uframes_t frames = nframes - xfer;
-               snd_pcm_uframes_t offset = jack->hw_ptr;
-               snd_pcm_uframes_t cont = io->buffer_size - offset;
+       /* check if requested frames were copied */
+       if (xfer < nframes) {
+               /* always fill the not yet written JACK buffer with silence */
+               if (io->stream == SND_PCM_STREAM_PLAYBACK) {
+                       const snd_pcm_uframes_t frames = nframes - xfer;
 
-               if (cont < frames)
-                       frames = cont;
+                       snd_pcm_areas_silence(jack->areas, xfer, io->channels,
+                                             frames, io->format);
+               }
 
-               for (channel = 0; channel < io->channels; channel++) {
-                       if (io->stream == SND_PCM_STREAM_PLAYBACK)
-                               snd_pcm_area_copy(&jack->areas[channel], xfer, 
&areas[channel], offset, frames, io->format);
-                       else
-                               snd_pcm_area_copy(&areas[channel], offset, 
&jack->areas[channel], xfer, frames, io->format);
+               if (io->state == SND_PCM_STATE_PREPARED) {
+                       /* After activating this JACK client with
+                        * jack_activate() this process callback will be called.
+                        * But the processing of snd_pcm_jack_start() would take
+                        * a while longer due to the jack_connect() calls.
+                        * Therefore the device was already started
+                        * but it is not yet in RUNNING state.
+                        * Due to this expected behaviour it is not an Xrun.
+                        */
+               } else {
+                       /* report Xrun to user application */
+                       jack->xrun_detected = true;
                }
-               
-               jack->hw_ptr += frames;
-               jack->hw_ptr %= io->buffer_size;
-               xfer += frames;
        }
 
        pcm_poll_unblock_check(io); /* unblock socket for polling if needed */
@@ -191,12 +232,15 @@
        int err;
 
        jack->hw_ptr = 0;
+       jack->xrun_detected = false;
 
        jack->min_avail = io->period_size;
        snd_pcm_sw_params_alloca(&swparams);
        err = snd_pcm_sw_params_current(io->pcm, swparams);
        if (err == 0) {
                snd_pcm_sw_params_get_avail_min(swparams, &jack->min_avail);
+               /* get boundary for available calulation */
+               snd_pcm_sw_params_get_boundary(swparams, &jack->boundary);
        }
 
        /* deactivate jack connections if this is XRUN recovery */
@@ -449,6 +493,12 @@
        jack->io.poll_events = POLLIN;
        jack->io.mmap_rw = 1;
 
+#ifdef SND_PCM_IOPLUG_FLAG_BOUNDARY_WA
+       jack->io.flags = SND_PCM_IOPLUG_FLAG_BOUNDARY_WA;
+#else
+#warning hw_ptr updates of buffer_size will not be recognized by the ALSA 
library. Consider to update your ALSA library.
+#endif
+
        err = snd_pcm_ioplug_create(&jack->io, name, stream, mode);
        if (err < 0) {
                snd_pcm_jack_free(jack);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/maemo/alsa-dsp.c 
new/alsa-plugins-1.1.6/maemo/alsa-dsp.c
--- old/alsa-plugins-1.1.5/maemo/alsa-dsp.c     2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/maemo/alsa-dsp.c     2018-04-03 09:01:38.000000000 
+0200
@@ -16,10 +16,9 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA.
  * */
 #include <stdio.h>
 #include <sys/ioctl.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/maemo/constants.h 
new/alsa-plugins-1.1.6/maemo/constants.h
--- old/alsa-plugins-1.1.5/maemo/constants.h    2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/maemo/constants.h    2018-04-03 09:01:38.000000000 
+0200
@@ -16,10 +16,9 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA.
  * */
 #ifndef _CONSTANTS_H
 #define _CONSTANTS_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/maemo/debug.h 
new/alsa-plugins-1.1.6/maemo/debug.h
--- old/alsa-plugins-1.1.5/maemo/debug.h        2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/maemo/debug.h        2018-04-03 09:01:38.000000000 
+0200
@@ -16,10 +16,9 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA.
  * */
 #ifndef _DEBUG_H
 #define _DEBUG_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/maemo/dsp-ctl.c 
new/alsa-plugins-1.1.6/maemo/dsp-ctl.c
--- old/alsa-plugins-1.1.5/maemo/dsp-ctl.c      2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/maemo/dsp-ctl.c      2018-04-03 09:01:38.000000000 
+0200
@@ -16,10 +16,9 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA.
  * */
 #include <stdio.h>
 #include <sys/ioctl.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/maemo/dsp-protocol.c 
new/alsa-plugins-1.1.6/maemo/dsp-protocol.c
--- old/alsa-plugins-1.1.5/maemo/dsp-protocol.c 2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/maemo/dsp-protocol.c 2018-04-03 09:01:38.000000000 
+0200
@@ -16,10 +16,9 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA.
  * */
 #include <stdio.h>
 #include <string.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/maemo/dsp-protocol.h 
new/alsa-plugins-1.1.6/maemo/dsp-protocol.h
--- old/alsa-plugins-1.1.5/maemo/dsp-protocol.h 2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/maemo/dsp-protocol.h 2018-04-03 09:01:38.000000000 
+0200
@@ -16,10 +16,9 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA.
  * */
 #ifndef _DSP_PROTOCOL_H
 #define _DSP_PROTOCOL_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/maemo/reporting.h 
new/alsa-plugins-1.1.6/maemo/reporting.h
--- old/alsa-plugins-1.1.5/maemo/reporting.h    2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/maemo/reporting.h    2018-04-03 09:01:38.000000000 
+0200
@@ -16,10 +16,9 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA.
  * */
 #ifndef _REPORTING_H
 #define _REPORTING_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/maemo/types.h 
new/alsa-plugins-1.1.6/maemo/types.h
--- old/alsa-plugins-1.1.5/maemo/types.h        2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/maemo/types.h        2018-04-03 09:01:38.000000000 
+0200
@@ -16,10 +16,9 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA.
  * */
 #ifndef _TYPES_H
 #define _TYPES_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/mix/pcm_upmix.c 
new/alsa-plugins-1.1.6/mix/pcm_upmix.c
--- old/alsa-plugins-1.1.5/mix/pcm_upmix.c      2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/mix/pcm_upmix.c      2018-04-03 09:01:38.000000000 
+0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <alsa/asoundlib.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/mix/pcm_vdownmix.c 
new/alsa-plugins-1.1.6/mix/pcm_vdownmix.c
--- old/alsa-plugins-1.1.5/mix/pcm_vdownmix.c   2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/mix/pcm_vdownmix.c   2018-04-03 09:01:38.000000000 
+0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <alsa/asoundlib.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/oss/ctl_oss.c 
new/alsa-plugins-1.1.6/oss/ctl_oss.c
--- old/alsa-plugins-1.1.5/oss/ctl_oss.c        2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/oss/ctl_oss.c        2018-04-03 09:01:38.000000000 
+0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/oss/pcm_oss.c 
new/alsa-plugins-1.1.6/oss/pcm_oss.c
--- old/alsa-plugins-1.1.5/oss/pcm_oss.c        2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/oss/pcm_oss.c        2018-04-03 09:01:38.000000000 
+0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <stdio.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/pulse/ctl_pulse.c 
new/alsa-plugins-1.1.6/pulse/ctl_pulse.c
--- old/alsa-plugins-1.1.5/pulse/ctl_pulse.c    2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/pulse/ctl_pulse.c    2018-04-03 09:01:38.000000000 
+0200
@@ -17,7 +17,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <sys/poll.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/pulse/pcm_pulse.c 
new/alsa-plugins-1.1.6/pulse/pcm_pulse.c
--- old/alsa-plugins-1.1.5/pulse/pcm_pulse.c    2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/pulse/pcm_pulse.c    2018-04-03 09:01:38.000000000 
+0200
@@ -17,7 +17,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <stdio.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/pulse/pulse.c 
new/alsa-plugins-1.1.6/pulse/pulse.c
--- old/alsa-plugins-1.1.5/pulse/pulse.c        2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/pulse/pulse.c        2018-04-03 09:01:38.000000000 
+0200
@@ -17,7 +17,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <stdio.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/pulse/pulse.h 
new/alsa-plugins-1.1.6/pulse/pulse.h
--- old/alsa-plugins-1.1.5/pulse/pulse.h        2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/pulse/pulse.h        2018-04-03 09:01:38.000000000 
+0200
@@ -17,7 +17,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include <alsa/asoundlib.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/speex/pcm_speex.c 
new/alsa-plugins-1.1.6/speex/pcm_speex.c
--- old/alsa-plugins-1.1.5/speex/pcm_speex.c    2017-11-14 08:52:10.000000000 
+0100
+++ new/alsa-plugins-1.1.6/speex/pcm_speex.c    2018-04-03 09:01:38.000000000 
+0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #include "config.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/usb_stream/pcm_usb_stream.c 
new/alsa-plugins-1.1.6/usb_stream/pcm_usb_stream.c
--- old/alsa-plugins-1.1.5/usb_stream/pcm_usb_stream.c  2017-11-14 
08:52:10.000000000 +0100
+++ new/alsa-plugins-1.1.6/usb_stream/pcm_usb_stream.c  2018-04-03 
09:01:38.000000000 +0200
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  */
 
 #define _GNU_SOURCE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alsa-plugins-1.1.5/version 
new/alsa-plugins-1.1.6/version
--- old/alsa-plugins-1.1.5/version      2017-11-14 09:04:53.000000000 +0100
+++ new/alsa-plugins-1.1.6/version      2018-04-03 09:02:58.000000000 +0200
@@ -1 +1 @@
-1.1.5
+1.1.6


Reply via email to