git: 6cd91556d4b8 - main - audio/alsa-plugins: Update to version 1.2.7.1

From: Rodrigo Osorio <rodrigo_at_FreeBSD.org>
Date: Sun, 22 Oct 2023 15:10:55 UTC
The branch main has been updated by rodrigo:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6cd91556d4b8f5d9e59b4a788c81b5d1a27c23d9

commit 6cd91556d4b8f5d9e59b4a788c81b5d1a27c23d9
Author:     Rodrigo Osorio <rodrigo@FreeBSD.org>
AuthorDate: 2023-10-03 10:12:48 +0000
Commit:     Rodrigo Osorio <rodrigo@FreeBSD.org>
CommitDate: 2023-10-22 15:07:39 +0000

    audio/alsa-plugins: Update to version 1.2.7.1
    
    Full changelog: https://github.com/alsa-project/alsa-plugins/tags
    
    PR:       262089
---
 audio/alsa-plugins/Makefile                        |  26 +--
 audio/alsa-plugins/distinfo                        |   8 +-
 audio/alsa-plugins/files/patch-configure           | 219 +++++++++++++++++++++
 audio/alsa-plugins/files/patch-configure.ac        |  17 --
 .../files/patch-usb__stream_pcm__usb__stream.c     |  65 +++---
 5 files changed, 263 insertions(+), 72 deletions(-)

diff --git a/audio/alsa-plugins/Makefile b/audio/alsa-plugins/Makefile
index 20c8374fca30..238821dfced1 100644
--- a/audio/alsa-plugins/Makefile
+++ b/audio/alsa-plugins/Makefile
@@ -1,16 +1,7 @@
 PORTNAME=	alsa-plugins
-PORTVERSION=	1.2.2
-DISTVERSIONPREFIX=	v
-PORTREVISION=	13
+PORTVERSION=	1.2.7.1
 CATEGORIES=	audio
-MASTER_SITES=	GH
-
-PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+=	8a3c0d795fbe.patch:-p1 # rate-lav: Convert to libswresample
-
-USE_GITHUB=	yes
-GH_ACCOUNT=	alsa-project
-GH_PROJECT=	${PORTNAME}
+MASTER_SITES=	https://www.alsa-project.org/files/pub/plugins/
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	ALSA compatibility library plugins
@@ -20,23 +11,23 @@ LICENSE=	LGPL21+
 
 LIB_DEPENDS=	libasound.so:audio/alsa-lib
 
-USES=		alias autoreconf libtool:keepla localbase pkgconfig tar:bzip2
+USES=		alias libtool:keepla localbase pkgconfig tar:bzip2
 USE_LDCONFIG=	${PREFIX}/lib/alsa-lib
 GNU_CONFIGURE=	yes
 MAKE_ARGS+=	RM="${RM}"
 INSTALL_TARGET=	install-strip
 CPPFLAGS+=	-I${.CURDIR}/../alsa-lib/files
 
-OPTIONS_DEFAULT=	PULSEAUDIO
 OPTIONS_DEFINE=		FFMPEG JACK PULSEAUDIO SAMPLERATE SPEEX
+OPTIONS_DEFAULT=	PULSEAUDIO
 OPTIONS_SUB=		yes
 
-FFMPEG_LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg
+FFMPEG_LIB_DEPENDS=		libavcodec.so:multimedia/ffmpeg
 FFMPEG_CONFIGURE_ENABLE=	libav
 
+JACK_IMPLIES=		SAMPLERATE
 JACK_LIB_DEPENDS=	libjack.so:audio/jack
 JACK_CONFIGURE_ENABLE=	jack
-JACK_IMPLIES=		SAMPLERATE
 
 PULSEAUDIO_LIB_DEPENDS=		libpulse.so:audio/pulseaudio
 PULSEAUDIO_CONFIGURE_ENABLE=	pulseaudio
@@ -44,12 +35,13 @@ PULSEAUDIO_CONFIGURE_ENABLE=	pulseaudio
 SAMPLERATE_LIB_DEPENDS=		libsamplerate.so:audio/libsamplerate
 SAMPLERATE_CONFIGURE_ENABLE=	samplerate
 
-SPEEX_LIB_DEPENDS=	libspeex.so:audio/speex libspeexdsp.so:audio/speexdsp
+SPEEX_LIB_DEPENDS=	libspeex.so:audio/speex \
+			libspeexdsp.so:audio/speexdsp
 SPEEX_CONFIGURE_ON=	--with-speex=lib
 SPEEX_CONFIGURE_OFF=	--without-speex
 
 post-install:
-	# sanitize links
+# sanitize links
 	cd ${STAGEDIR}${PREFIX}/etc/alsa/conf.d && for i in [0-9][0-9]-*.conf ; do \
 		${LN} -sf ../../../share/alsa/alsa.conf.d/$$i . ; done
 
diff --git a/audio/alsa-plugins/distinfo b/audio/alsa-plugins/distinfo
index 8efb3f320225..89ae30e80e4a 100644
--- a/audio/alsa-plugins/distinfo
+++ b/audio/alsa-plugins/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1634083456
-SHA256 (alsa-project-alsa-plugins-v1.2.2_GH0.tar.gz) = 1872622227c474db9db57bf5b6ec91bbef391f9750e9d64d00d05af29f579e1a
-SIZE (alsa-project-alsa-plugins-v1.2.2_GH0.tar.gz) = 121998
-SHA256 (8a3c0d795fbe.patch) = 5772b954c166cf3c148872a405b21476039193b06fb2e834c4cc5a855325d8bf
-SIZE (8a3c0d795fbe.patch) = 6946
+TIMESTAMP = 1695516677
+SHA256 (alsa-plugins-1.2.7.1.tar.bz2) = 8c337814954bb7c167456733a6046142a2931f12eccba3ec2a4ae618a3432511
+SIZE (alsa-plugins-1.2.7.1.tar.bz2) = 408801
diff --git a/audio/alsa-plugins/files/patch-configure b/audio/alsa-plugins/files/patch-configure
new file mode 100644
index 000000000000..8ca3ddc4b4a0
--- /dev/null
+++ b/audio/alsa-plugins/files/patch-configure
@@ -0,0 +1,219 @@
+--- configure.orig	2022-03-17 16:36:30 UTC
++++ configure
+@@ -743,6 +743,9 @@
+ AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V
+ AM_V
++CSCOPE
++ETAGS
++CTAGS
+ am__untar
+ am__tar
+ AMTAR
+@@ -785,7 +788,6 @@
+ docdir
+ oldincludedir
+ includedir
+-runstatedir
+ localstatedir
+ sharedstatedir
+ sysconfdir
+@@ -909,7 +911,6 @@
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+-runstatedir='${localstatedir}/run'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+ docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+@@ -1162,15 +1163,6 @@
+   | -silent | --silent | --silen | --sile | --sil)
+     silent=yes ;;
+ 
+-  -runstatedir | --runstatedir | --runstatedi | --runstated \
+-  | --runstate | --runstat | --runsta | --runst | --runs \
+-  | --run | --ru | --r)
+-    ac_prev=runstatedir ;;
+-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+-  | --run=* | --ru=* | --r=*)
+-    runstatedir=$ac_optarg ;;
+-
+   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+     ac_prev=sbindir ;;
+   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+@@ -1308,7 +1300,7 @@
+ for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ 		datadir sysconfdir sharedstatedir localstatedir includedir \
+ 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+-		libdir localedir mandir runstatedir
++		libdir localedir mandir
+ do
+   eval ac_val=\$$ac_var
+   # Remove trailing slashes.
+@@ -1461,7 +1453,6 @@
+   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
+   --libdir=DIR            object code libraries [EPREFIX/lib]
+   --includedir=DIR        C header files [PREFIX/include]
+   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+@@ -2578,12 +2569,7 @@
+ am_aux_dir=`cd "$ac_aux_dir" && pwd`
+ 
+ if test x"${MISSING+set}" != xset; then
+-  case $am_aux_dir in
+-  *\ * | *\	*)
+-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+-  *)
+-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+-  esac
++  MISSING="\${SHELL} '$am_aux_dir/missing'"
+ fi
+ # Use eval to expand $SHELL
+ if eval "$MISSING --is-lightweight"; then
+@@ -2938,7 +2924,21 @@
+ 
+ 
+ 
++# Variables for tags utilities; see am/tags.am
++if test -z "$CTAGS"; then
++  CTAGS=ctags
++fi
+ 
++if test -z "$ETAGS"; then
++  ETAGS=etags
++fi
++
++if test -z "$CSCOPE"; then
++  CSCOPE=cscope
++fi
++
++
++
+ # POSIX will say in a future version that running "rm -f" with no argument
+ # is OK; and we want to be able to make that assumption in our Makefile
+ # recipes.  So use an aggressive probe to check that the usage we want is
+@@ -9015,7 +9015,7 @@
+   hardcode_minus_L=no
+   hardcode_shlibpath_var=unsupported
+   inherit_rpath=no
+-  link_all_deplibs=unknown
++  link_all_deplibs=no
+   module_cmds=
+   module_expsym_cmds=
+   old_archive_from_new_cmds=
+@@ -9314,7 +9314,7 @@
+ 	wlarc=
+       else
+ 	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++	archive_expsym_cmds='echo "{ global:" > $lib-ver~		 sed -e "s|$|;|" < $export_symbols >> $lib-ver~	 echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+       fi
+       ;;
+ 
+@@ -9333,7 +9333,7 @@
+ _LT_EOF
+       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ 	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++	archive_expsym_cmds='echo "{ global:" > $lib-ver~		 sed -e "s|$|;|" < $export_symbols >> $lib-ver~	 echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+       else
+ 	ld_shlibs=no
+       fi
+@@ -9362,7 +9362,7 @@
+ 	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ 	    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ 	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+-	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++	    archive_expsym_cmds='echo "{ global:" > $lib-ver~		 sed -e "s|$|;|" < $export_symbols >> $lib-ver~	 echo "local: *; };" >> $lib-ver~$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+ 	  else
+ 	    ld_shlibs=no
+ 	  fi
+@@ -9380,7 +9380,7 @@
+     *)
+       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ 	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++	archive_expsym_cmds='echo "{ global:" > $lib-ver~		 sed -e "s|$|;|" < $export_symbols >> $lib-ver~	 echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+       else
+ 	ld_shlibs=no
+       fi
+@@ -10028,7 +10028,7 @@
+ 	hardcode_direct_absolute=yes
+ 	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ 	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+-	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
++	  archive_expsym_cmds='echo "{ global:" > $lib-ver~		 sed -e "s|$|;|" < $export_symbols >> $lib-ver~	 echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-version-script,$lib-ver'
+ 	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ 	  export_dynamic_flag_spec='$wl-E'
+ 	else
+@@ -10877,7 +10877,7 @@
+   version_type=freebsd-$objformat
+   case $version_type in
+     freebsd-elf*)
+-      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
++      library_names_spec='$libname$release$shared_ext$versuffix  $libname$release$shared_ext$major	 $libname$shared_ext'			 soname_spec='$libname$release$shared_ext$major'
+       soname_spec='$libname$release$shared_ext$major'
+       need_version=no
+       need_lib_prefix=no
+@@ -11094,9 +11094,6 @@
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
+-  # Add ABI-specific directories to the system library path.
+-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+-
+   # Ideally, we could use ldconfig to report *all* directores which are
+   # searched for libraries, however this is still not possible.  Aside from not
+   # being certain /sbin/ldconfig is available, command
+@@ -11105,7 +11102,7 @@
+   # appending ld.so.conf contents (and includes) to the search path.
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -12012,7 +12009,7 @@
+ old_striplib=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+ $as_echo_n "checking whether stripping libraries is possible... " >&6; }
+-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "strip" >/dev/null; then
+   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+@@ -13293,21 +13290,22 @@
+ 	HAVE_SPEEXDSP="yes"
+ fi
+ fi
+- if test "$HAVE_SPEEXDSP" = "yes"; then
+-  HAVE_SPEEXDSP_TRUE=
+-  HAVE_SPEEXDSP_FALSE='#'
+-else
+-  HAVE_SPEEXDSP_TRUE='#'
+-  HAVE_SPEEXDSP_FALSE=
+-fi
+ 
+ 
+-
+ # Check whether --with-speex was given.
+ if test "${with_speex+set}" = set; then :
+   withval=$with_speex; PPH=$withval
+ else
+   PPH="lib"
++fi
++
++
++ if test "$HAVE_SPEEXDSP" = "yes"; then
++  HAVE_SPEEXDSP_TRUE=
++  HAVE_SPEEXDSP_FALSE='#'
++else
++  HAVE_SPEEXDSP_TRUE='#'
++  HAVE_SPEEXDSP_FALSE=
+ fi
+ 
+ 
diff --git a/audio/alsa-plugins/files/patch-configure.ac b/audio/alsa-plugins/files/patch-configure.ac
deleted file mode 100644
index 839cb3a23441..000000000000
--- a/audio/alsa-plugins/files/patch-configure.ac
+++ /dev/null
@@ -1,17 +0,0 @@
---- configure.ac.orig	2020-02-19 09:35:42 UTC
-+++ configure.ac
-@@ -145,12 +145,13 @@ AC_ARG_ENABLE([speexdsp],
- if test "x$enable_speexdsp" != "xno"; then
-   PKG_CHECK_MODULES(speexdsp, [speexdsp >= 1.2rc2], [HAVE_SPEEXDSP="yes"], [HAVE_SPEEXDSP=""])
- fi
--AM_CONDITIONAL(HAVE_SPEEXDSP, test "$HAVE_SPEEXDSP" = "yes")
- 
- AC_ARG_WITH([speex],
- 	AS_HELP_STRING([--with-speex={builtin|lib|no}],
- 		[build speex resampler (built-in code, link with external lib, or no build)]),
- 	[PPH=$withval], [PPH="lib"])
-+
-+AM_CONDITIONAL(HAVE_SPEEXDSP, test "$HAVE_SPEEXDSP" = "yes")
- 
- USE_LIBSPEEX=""
- if test "$PPH" = "lib"; then
diff --git a/audio/alsa-plugins/files/patch-usb__stream_pcm__usb__stream.c b/audio/alsa-plugins/files/patch-usb__stream_pcm__usb__stream.c
index 89923343718c..14c83dd206db 100644
--- a/audio/alsa-plugins/files/patch-usb__stream_pcm__usb__stream.c
+++ b/audio/alsa-plugins/files/patch-usb__stream_pcm__usb__stream.c
@@ -1,8 +1,7 @@
 based on https://github.com/dankamongmen/libdank/blob/master/libdank/compat-FreeBSD.c
-
---- usb_stream/pcm_usb_stream.c.orig	2016-03-31 13:11:29 UTC
-+++ usb_stream/pcm_usb_stream.c
-@@ -79,6 +79,69 @@ typedef struct {
+--- ./usb_stream/pcm_usb_stream.c.orig	2022-03-17 16:51:58 UTC
++++ ./usb_stream/pcm_usb_stream.c
+@@ -78,6 +78,69 @@
  static struct user_usb_stream *uus;
  static pthread_mutex_t uus_mutex = PTHREAD_MUTEX_INITIALIZER;
  
@@ -18,9 +17,9 @@ based on https://github.com/dankamongmen/libdank/blob/master/libdank/compat-Free
 + *     * Redistributions in binary form must reproduce the above copyright
 + *       notice, this list of conditions and the following disclaimer in the
 + *       documentation and/or other materials provided with the distribution.
-+ *     * Neither the name of Nick Black nor the names of other contributors may
-+ *	be used to endorse or promote products derived from this software
-+ *	without specific prior written permission.
++ *     * Neither the name of Nick Black nor the names of other contributors may              
++ * be used to endorse or promote products derived from this software
++ * without specific prior written permission.
 + *
 + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
 + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -41,38 +40,38 @@ based on https://github.com/dankamongmen/libdank/blob/master/libdank/compat-Free
 +// mremap(2)), resulting in undefined behavior, despite realloc(3) semantics.
 +// Similarly, oldlen and newlen must be non-zero (and page-aligned).
 +void *mremap_compat(int fd,void *oldaddr,size_t oldlen,
-+				size_t newlen,int prot,int flags){
-+	void *ret;
++               size_t newlen,int prot,int flags){
++   void *ret;
 +
-+	// From mmap(2) on freebsd 6.3: A successful FIXED mmap deletes any
-+	// previous mapping in the allocated address range. This means:
-+	// remapping over a current map will blow it away (unless FIXED isn't
-+	// provided, in which case it can't overlap an old mapping. See bug
-+	// 733 for extensive discussion of this issue for Linux and FreeBSD).
-+	if((ret = mmap((char *)oldaddr + oldlen,newlen - oldlen,prot,flags,fd,oldlen)) == MAP_FAILED){
-+		// We couldn't get the memory whatsoever (or we were a fresh
-+		// allocation that succeeded). Return the immediate result...
-+		return ret;
-+	} // ret != MAP_FAILED. Did we squash?
-+	if(ret != (char *)oldaddr + oldlen){
-+		// We got the memory, but not where we wanted it. Copy over the
-+		// old map, and then free it up...
-+		munmap(ret,newlen - oldlen);
-+		if((ret = mmap(NULL,newlen,prot,flags,fd,0)) == MAP_FAILED){
-+			return ret;
-+		}
-+		memcpy(ret,oldaddr,oldlen);
-+		munmap(oldaddr,oldlen); // Free the old mapping
-+		return ret;
-+	} // We successfully squashed. Return a pointer to the first buf.
-+	return oldaddr;
++   // From mmap(2) on freebsd 6.3: A successful FIXED mmap deletes any
++   // previous mapping in the allocated address range. This means:
++   // remapping over a current map will blow it away (unless FIXED isn't
++   // provided, in which case it can't overlap an old mapping. See bug
++   // 733 for extensive discussion of this issue for Linux and FreeBSD).
++   if((ret = mmap((char *)oldaddr + oldlen,newlen - oldlen,prot,flags,fd,oldlen)) == MAP_FAILED){
++       // We couldn't get the memory whatsoever (or we were a fresh
++       // allocation that succeeded). Return the immediate result...
++       return ret;
++   } // ret != MAP_FAILED. Did we squash?
++   if(ret != (char *)oldaddr + oldlen){
++       // We got the memory, but not where we wanted it. Copy over the
++       // old map, and then free it up...
++       munmap(ret,newlen - oldlen);
++       if((ret = mmap(NULL,newlen,prot,flags,fd,0)) == MAP_FAILED){
++           return ret;
++       }
++       memcpy(ret,oldaddr,oldlen);
++       munmap(oldaddr,oldlen); // Free the old mapping
++       return ret;
++   } // We successfully squashed. Return a pointer to the first buf.
++   return oldaddr;
 +}
 +#endif
 +
- static struct user_usb_stream *get_uus(const char *card)
+ static struct user_usb_stream *get_uus(int card)
  {
  	pthread_mutex_lock(&uus_mutex);
-@@ -219,7 +282,11 @@ static int snd_pcm_us_prepare(snd_pcm_io
+@@ -218,7 +281,11 @@
  		}