Hello community,
here is the log from the commit of package alsa-plugins for openSUSE:Factory checked in at 2014-06-25 06:57:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa-plugins (Old)
and /work/SRC/openSUSE:Factory/.alsa-plugins.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alsa-plugins"
Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa-plugins/alsa-plugins.changes 2014-03-16 08:05:05.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.alsa-plugins.new/alsa-plugins.changes 2014-06-25 06:57:41.000000000 +0200
@@ -1,0 +2,15 @@
+Wed Jun 18 13:14:30 CEST 2014 - tiwai@suse.de
+
+- Updated to alsa-plugins 1.0.28:
+ All pervious fix patches are obsoleted:
+ 0001-Check-for-and-include-libavutil.h-to-avoid-unresolve.patch
+ 0002-Add-AM_MAINTAINER_MODE-enable-to-configure.in.patch
+ 0003-vdownmix-Add-chmap-support.patch
+ 0004-upmix-Add-chmap-support.patch
+ 0005-a52-Fix-build-error-with-the-recent-version.patch
+ 0006-a52-Add-chmap-support.patch
+ 0007-a52-Propagate-errors-from-hw.patch
+ 0008-a52-switch-to-AV_CODEC_ID-identifiers.patch
+ 0009-jack-Allow-to-specify-a-client-name-as-parameters.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Check-for-and-include-libavutil.h-to-avoid-unresolve.patch
0002-Add-AM_MAINTAINER_MODE-enable-to-configure.in.patch
0003-vdownmix-Add-chmap-support.patch
0004-upmix-Add-chmap-support.patch
0005-a52-Fix-build-error-with-the-recent-version.patch
0006-a52-Add-chmap-support.patch
0007-a52-Propagate-errors-from-hw.patch
0008-a52-switch-to-AV_CODEC_ID-identifiers.patch
0009-jack-Allow-to-specify-a-client-name-as-parameters.patch
alsa-plugins-1.0.27.tar.bz2
New:
----
alsa-plugins-1.0.28.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alsa-plugins.spec ++++++
--- /var/tmp/diff_new_pack.Zh0D3G/_old 2014-06-25 06:57:42.000000000 +0200
+++ /var/tmp/diff_new_pack.Zh0D3G/_new 2014-06-25 06:57:42.000000000 +0200
@@ -16,7 +16,7 @@
#
-%define package_version 1.0.27
+%define package_version 1.0.28
%if 0%{?suse_version} > 1030
%define build_pulse 1
%define build_speex 1
@@ -25,7 +25,7 @@
%define build_speex 0
%endif
Name: alsa-plugins
-Version: 1.0.27
+Version: 1.0.28
Release: 0
Summary: Extra Plug-Ins for the ALSA Library
License: LGPL-2.1+
@@ -36,15 +36,6 @@
Source2: alsa-pulse.conf
Source3: baselibs.conf
# upstream fixes
-Patch1: 0001-Check-for-and-include-libavutil.h-to-avoid-unresolve.patch
-Patch2: 0002-Add-AM_MAINTAINER_MODE-enable-to-configure.in.patch
-Patch3: 0003-vdownmix-Add-chmap-support.patch
-Patch4: 0004-upmix-Add-chmap-support.patch
-Patch5: 0005-a52-Fix-build-error-with-the-recent-version.patch
-Patch6: 0006-a52-Add-chmap-support.patch
-Patch7: 0007-a52-Propagate-errors-from-hw.patch
-Patch8: 0008-a52-switch-to-AV_CODEC_ID-identifiers.patch
-Patch9: 0009-jack-Allow-to-specify-a-client-name-as-parameters.patch
BuildRequires: alsa-devel
BuildRequires: dbus-1-devel
BuildRequires: libjack-devel
@@ -137,15 +128,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.27.tar.bz2 -> alsa-plugins-1.0.28.tar.bz2 ++++++
++++ 1776 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-plugins-1.0.27/a52/pcm_a52.c new/alsa-plugins-1.0.28/a52/pcm_a52.c
--- old/alsa-plugins-1.0.27/a52/pcm_a52.c 2013-04-11 13:43:08.000000000 +0200
+++ new/alsa-plugins-1.0.28/a52/pcm_a52.c 2014-06-12 11:32:45.000000000 +0200
@@ -26,12 +26,7 @@
#include
#include
#include AVCODEC_HEADER
-
-#if LIBAVCODEC_VERSION_MAJOR >= 53 && LIBAVCODEC_VERSION_MINOR >= 34
-#include
-#include
-#define USE_AVCODEC_FRAME
-#endif
+#include
/* some compatibility wrappers */
#ifndef AV_VERSION_INT
@@ -43,6 +38,12 @@
LIBAVCODEC_VERSION_MICRO)
#endif
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 34, 0)
+#include
+#include
+#define USE_AVCODEC_FRAME
+#endif
+
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 0, 0)
#ifndef AV_CH_LAYOUT_STEREO
#define AV_CH_LAYOUT_STEREO CH_LAYOUT_STEREO
@@ -57,6 +58,9 @@
#endif
#endif
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 25, 0)
+#define AV_CODEC_ID_AC3 CODEC_ID_AC3
+#endif
struct a52_ctx {
snd_pcm_ioplug_t io;
@@ -194,8 +198,8 @@
err = write_out_pending(io, rec);
if (err < 0)
return err;
- snd_pcm_drain(rec->slave);
- return 0;
+
+ return snd_pcm_drain(rec->slave);
}
/* check whether the areas consist of a continuous interleaved stream */
@@ -478,16 +482,14 @@
{
struct a52_ctx *rec = io->private_data;
- snd_pcm_start(rec->slave);
- return 0;
+ return snd_pcm_start(rec->slave);
}
static int a52_stop(snd_pcm_ioplug_t *io)
{
struct a52_ctx *rec = io->private_data;
- snd_pcm_drop(rec->slave);
- return 0;
+ return snd_pcm_drop(rec->slave);
}
/* release resources */
@@ -644,10 +646,60 @@
a52_free(rec);
if (rec->slave)
- snd_pcm_close(rec->slave);
+ return snd_pcm_close(rec->slave);
return 0;
}
+#if SND_PCM_IOPLUG_VERSION >= 0x102
+static unsigned int chmap4[4] = {
+ SND_CHMAP_FL, SND_CHMAP_FR,
+ SND_CHMAP_RL, SND_CHMAP_RR,
+};
+static unsigned int chmap6[6] = {
+ SND_CHMAP_FL, SND_CHMAP_FR,
+ SND_CHMAP_FC, SND_CHMAP_LFE,
+ SND_CHMAP_RL, SND_CHMAP_RR,
+};
+
+static snd_pcm_chmap_query_t **a52_query_chmaps(snd_pcm_ioplug_t *io ATTRIBUTE_UNUSED)
+{
+ snd_pcm_chmap_query_t **maps;
+ int i;
+
+ maps = calloc(4, sizeof(void *));
+ if (!maps)
+ return NULL;
+ for (i = 0; i < 3; i++) {
+ snd_pcm_chmap_query_t *p;
+ p = maps[i] = calloc((i + 1) * 2 + 2, sizeof(int));
+ if (!p) {
+ snd_pcm_free_chmaps(maps);
+ return NULL;
+ }
+ p->type = SND_CHMAP_TYPE_FIXED;
+ p->map.channels = (i + 1) * 2;
+ memcpy(p->map.pos, i < 2 ? chmap4 : chmap6,
+ (i + 1) * 2 * sizeof(int));
+ }
+ return maps;
+}
+
+static snd_pcm_chmap_t *a52_get_chmap(snd_pcm_ioplug_t *io)
+{
+ snd_pcm_chmap_t *map;
+
+ if ((io->channels % 2) || io->channels < 2 || io->channels > 6)
+ return NULL;
+ map = malloc((io->channels + 1) * sizeof(int));
+ if (!map)
+ return NULL;
+ map->channels = io->channels;
+ memcpy(map->pos, io->channels < 6 ? chmap4 : chmap6,
+ io->channels * sizeof(int));
+ return map;
+}
+#endif /* SND_PCM_IOPLUG_VERSION >= 0x102 */
+
/*
* callback table
*/
@@ -665,6 +717,10 @@
.poll_descriptors_count = a52_poll_descriptors_count,
.poll_descriptors = a52_poll_descriptors,
.poll_revents = a52_poll_revents,
+#if SND_PCM_IOPLUG_VERSION >= 0x102
+ .query_chmaps = a52_query_chmaps,
+ .get_chmap = a52_get_chmap,
+#endif /* SND_PCM_IOPLUG_VERSION >= 0x102 */
};
/*
@@ -863,7 +919,7 @@
if (rec->codec == NULL)
rec->codec = avcodec_find_encoder_by_name("ac3");
if (rec->codec == NULL)
- rec->codec = avcodec_find_encoder(CODEC_ID_AC3);
+ rec->codec = avcodec_find_encoder(AV_CODEC_ID_AC3);
if (rec->codec == NULL) {
SNDERR("Cannot find codec engine");
err = -EINVAL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-plugins-1.0.27/config.h.in new/alsa-plugins-1.0.28/config.h.in
--- old/alsa-plugins-1.0.27/config.h.in 2013-04-11 14:54:24.000000000 +0200
+++ new/alsa-plugins-1.0.28/config.h.in 2014-06-13 11:23:45.000000000 +0200
@@ -1,4 +1,4 @@
-/* config.h.in. Generated from configure.in by autoheader. */
+/* config.h.in. Generated from configure.ac by autoheader. */
/* directory containing ALSA data files */
#undef ALSA_DATA_DIR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-plugins-1.0.27/configure.ac new/alsa-plugins-1.0.28/configure.ac
--- old/alsa-plugins-1.0.27/configure.ac 1970-01-01 01:00:00.000000000 +0100
+++ new/alsa-plugins-1.0.28/configure.ac 2014-06-12 11:32:45.000000000 +0200
@@ -0,0 +1,226 @@
+AC_PREREQ(2.59)
+AC_INIT(alsa-plugins, 1.0.28)
+AM_INIT_AUTOMAKE
+AC_PREFIX_DEFAULT(/usr)
+
+AM_MAINTAINER_MODE([enable])
+
+AC_CONFIG_HEADERS(config.h)
+AC_CONFIG_MACRO_DIR([m4])
+
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_DISABLE_STATIC
+AM_PROG_LIBTOOL
+AC_HEADER_STDC
+
+CC_NOUNDEFINED
+
+PKG_CHECK_MODULES(ALSA, alsa >= 1.0.11)
+AC_CHECK_LIB(asound, snd_pcm_ioplug_create,,
+ AC_ERROR([*** libasound has no external plugin SDK]), -ldl)
+
+AC_ARG_ENABLE([jack],
+ AS_HELP_STRING([--disable-jack], [Disable building of JACK plugin]))
+
+if test "x$enable_jack" != "xno"; then
+ PKG_CHECK_MODULES(JACK, jack >= 0.98, [HAVE_JACK=yes], [HAVE_JACK=no])
+fi
+AM_CONDITIONAL(HAVE_JACK, test x$HAVE_JACK = xyes)
+
+AC_ARG_ENABLE([pulseaudio],
+ AS_HELP_STRING([--disable-pulseaudio], [Disable building of pulseaudio plugin]))
+
+if test "x$enable_pulseaudio" != "xno"; then
+ PKG_CHECK_MODULES(pulseaudio, [libpulse >= 0.9.11], [HAVE_PULSE=yes], [HAVE_PULSE=no])
+fi
+AM_CONDITIONAL(HAVE_PULSE, test x$HAVE_PULSE = xyes)
+
+AC_ARG_ENABLE([samplerate],
+ AS_HELP_STRING([--disable-samplerate], [Disable building of samplerate plugin]))
+
+if test "x$enable_samplerate" != "xno"; then
+ PKG_CHECK_MODULES(samplerate, [samplerate], [HAVE_SAMPLERATE=yes], [HAVE_SAMPLERATE=no])
+fi
+AM_CONDITIONAL(HAVE_SAMPLERATE, test x$HAVE_SAMPLERATE = xyes)
+
+AC_ARG_ENABLE([maemo-plugin],
+ AS_HELP_STRING([--enable-maemo-plugin],
+ [Build Maemo DSP plugin]),
+ [HAVE_MAEMO_PLUGIN="$enableval"], [HAVE_MAEMO_PLUGIN="no"])
+AM_CONDITIONAL(HAVE_MAEMO_PLUGIN, test x$HAVE_MAEMO_PLUGIN = xyes)
+
+AC_ARG_ENABLE([maemo-resource-manager],
+ AS_HELP_STRING([--enable-maemo-resource-manager],
+ [Use Maemo resource manager]),
+ [use_maemo_rm="$enableval"], [use_maemo_rm="no"])
+
+if test "$use_maemo_rm" = "yes"; then
+ PKG_CHECK_MODULES(DBUS, [dbus-1], [HAVE_DBUS=yes], [HAVE_DBUS=no])
+
+ if test "$HAVE_DBUS" = "yes"; then
+ AC_DEFINE(USE_RESOURCE_MANAGER, 1,"Use dbus server as a resouce manager")
+ else
+ AC_ERROR([You must have D-Bus installed if you want to enable the Maemo resource manager])
+ fi
+fi
+
+AC_ARG_ENABLE([avcodec],
+ AS_HELP_STRING([--disable-avcodec], [Don't build plugins depending on avcodec (a52)]))
+
+if test "x$enable_avcodec" != "xno"; then
+ PKG_CHECK_MODULES(AVCODEC, [libavcodec libavutil], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no])
+fi
+
+if test "x$HAVE_AVCODEC" = "xno"; then
+ AC_ARG_WITH([avcodec-includedir],
+ AS_HELP_STRING([--with-avcodec-includedir=dir],
+ [AVcodec include directory]),
+ [AVCODEC_CFLAGS="-I$withval"], [AVCODEC_CFLAGS=""])
+ AC_ARG_WITH([avcodec-libdir],
+ AS_HELP_STRING([--with-avcodec-libdir=dir],
+ [AVcodec library directory]),
+ [AVCODEC_LIBS="-L$withval"], [AVCODEC_LIBS=""])
+
+ CFLAGS_saved="$CFLAGS"
+ LDFLAGS_saved="$LDFLAGS"
+ CFLAGS="$CFLAGS $AVCODEC_CFLAGS"
+ LDFLAGS="$LDFLAGS $AVCODEC_LIBS"
+ AVCODEC_LIBS="$AVCODEC_LIBS -lavcodec"
+ AC_CHECK_LIB([avcodec], [avcodec_open], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no])
+ CFLAGS="$CFLAGS_saved"
+ LDFLAGS="$LDFLAGS_saved"
+fi
+
+if test $HAVE_AVCODEC = yes; then
+ AVCODEC_HEADER=""
+ AC_CHECK_HEADER([ffmpeg/avcodec.h], [AVCODEC_HEADER=''])
+ if test -z "$AVCODEC_HEADER"; then
+ AC_CHECK_HEADER([libavcodec/avcodec.h], [AVCODEC_HEADER=''])
+ fi
+ if test -z "$AVCODEC_HEADER"; then
+ HAVE_AVCODEC=no
+ fi
+fi
+
+AM_CONDITIONAL(HAVE_AVCODEC, test x$HAVE_AVCODEC = xyes)
+AC_SUBST(AVCODEC_CFLAGS)
+AC_SUBST(AVCODEC_LIBS)
+AC_SUBST(AVCODEC_HEADER)
+
+PKG_CHECK_MODULES(speexdsp, [speexdsp >= 1.2], [HAVE_SPEEXDSP="yes"], [HAVE_SPEEXDSP=""])
+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"])
+
+USE_LIBSPEEX=""
+if test "$PPH" = "lib"; then
+ if test "$HAVE_SPEEXDSP" = "yes"; then
+ AC_CHECK_LIB([speexdsp], [speex_resampler_init],
+ [USE_LIBSPEEX="yes"], [USE_LIBSPEEX=""])
+ fi
+ if test "$USE_LIBSPEEX" = "yes"; then
+ AC_DEFINE(USE_LIBSPEEX, 1, "Link with libspeex for resampler")
+ else
+ echo "No libspeex with resampler unit; use built-in code"
+ PPH="builtin"
+ fi
+fi
+
+AM_CONDITIONAL(HAVE_PPH, test "$PPH" = "builtin" -o "$PPH" = "lib")
+AM_CONDITIONAL(USE_LIBSPEEX, test "$PPH" = "lib")
+
+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]),
+ plugindir="$withval", plugindir="")
+if test -z "$plugindir"; then
+ eval dir="$libdir"
+ case "$dir" in
+ /*) ;;
+ *) dir="$dir"
+ esac
+ plugindir="$dir/alsa-lib"
+fi
+AC_DEFINE_UNQUOTED(ALSA_PLUGIN_DIR, "$plugindir", [directory containing ALSA add-on modules])
+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([
+ Makefile
+ oss/Makefile
+ pph/Makefile
+ jack/Makefile
+ pulse/Makefile
+ mix/Makefile
+ rate/Makefile
+ a52/Makefile
+ rate-lavc/Makefile
+ maemo/Makefile
+ doc/Makefile
+ usb_stream/Makefile
+ speex/Makefile
+ arcam-av/Makefile
+])
+
+dnl Show the build conditions
+
+echo
+echo "Plugin directory: $ALSA_PLUGIN_DIR"
+echo "ALSA_CFLAGS: $ALSA_CFLAGS"
+echo "ALSA_LIBS: $ALSA_LIBS"
+echo "JACK plugin: $HAVE_JACK"
+if test "$HAVE_JACK" = "yes"; then
+ echo " JACK_CFLAGS: $JACK_CFLAGS"
+ echo " JACK_LIBS: $JACK_LIBS"
+fi
+echo "Pulseaudio plugin: $HAVE_PULSE"
+if test "$HAVE_PULSE" = "yes"; then
+ echo " pulseaudio_CFLAGS: $pulseaudio_CFLAGS"
+ echo " pulseaudio_LIBS: $pulseaudio_LIBS"
+fi
+echo "Samplerate plugin: $HAVE_SAMPLERATE"
+if test "$HAVE_SAMPLERATE" = "yes"; then
+ echo " samplerate_CFLAGS: $samplerate_CFLAGS"
+ echo " samplerate_LIBS: $samplerate_LIBS"
+fi
+echo "Maemo plugin: $HAVE_MAEMO_PLUGIN"
+echo " Using Osso resource manager: $use_maemo_rm"
+echo "A52, lavc plugins: $HAVE_AVCODEC"
+if test "$HAVE_AVCODEC" = "yes"; then
+ echo " AVCODEC_CFLAGS: $AVCODEC_CFLAGS"
+ echo " AVCODEC_LIBS: $AVCODEC_LIBS"
+ echo " AVCODEC_HEADER: $AVCODEC_HEADER"
+fi
+echo "Speex rate plugin: $PPH"
+echo "Speex preprocess plugin: $HAVE_SPEEXDSP"
+if test "$HAVE_SPEEX" = "yes"; then
+ echo " speexdsp_CFLAGS: $speexdsp_CFLAGS"
+ echo " speexdsp_LIBS: $speexdsp_LIBS"
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-plugins-1.0.27/configure.in new/alsa-plugins-1.0.28/configure.in
--- old/alsa-plugins-1.0.27/configure.in 2013-04-11 13:43:08.000000000 +0200
+++ new/alsa-plugins-1.0.28/configure.in 1970-01-01 01:00:00.000000000 +0100
@@ -1,224 +0,0 @@
-AC_PREREQ(2.59)
-AC_INIT(oss/pcm_oss.c)
-AM_INIT_AUTOMAKE(alsa-plugins, 1.0.27)
-AC_PREFIX_DEFAULT(/usr)
-
-AC_CONFIG_HEADERS(config.h)
-AC_CONFIG_MACRO_DIR([m4])
-
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_DISABLE_STATIC
-AM_PROG_LIBTOOL
-AC_HEADER_STDC
-
-CC_NOUNDEFINED
-
-PKG_CHECK_MODULES(ALSA, alsa >= 1.0.11)
-AC_CHECK_LIB(asound, snd_pcm_ioplug_create,,
- AC_ERROR([*** libasound has no external plugin SDK]), -ldl)
-
-AC_ARG_ENABLE([jack],
- AS_HELP_STRING([--disable-jack], [Disable building of JACK plugin]))
-
-if test "x$enable_jack" != "xno"; then
- PKG_CHECK_MODULES(JACK, jack >= 0.98, [HAVE_JACK=yes], [HAVE_JACK=no])
-fi
-AM_CONDITIONAL(HAVE_JACK, test x$HAVE_JACK = xyes)
-
-AC_ARG_ENABLE([pulseaudio],
- AS_HELP_STRING([--disable-pulseaudio], [Disable building of pulseaudio plugin]))
-
-if test "x$enable_pulseaudio" != "xno"; then
- PKG_CHECK_MODULES(pulseaudio, [libpulse >= 0.9.11], [HAVE_PULSE=yes], [HAVE_PULSE=no])
-fi
-AM_CONDITIONAL(HAVE_PULSE, test x$HAVE_PULSE = xyes)
-
-AC_ARG_ENABLE([samplerate],
- AS_HELP_STRING([--disable-samplerate], [Disable building of samplerate plugin]))
-
-if test "x$enable_samplerate" != "xno"; then
- PKG_CHECK_MODULES(samplerate, [samplerate], [HAVE_SAMPLERATE=yes], [HAVE_SAMPLERATE=no])
-fi
-AM_CONDITIONAL(HAVE_SAMPLERATE, test x$HAVE_SAMPLERATE = xyes)
-
-AC_ARG_ENABLE([maemo-plugin],
- AS_HELP_STRING([--enable-maemo-plugin],
- [Build Maemo DSP plugin]),
- [HAVE_MAEMO_PLUGIN="$enableval"], [HAVE_MAEMO_PLUGIN="no"])
-AM_CONDITIONAL(HAVE_MAEMO_PLUGIN, test x$HAVE_MAEMO_PLUGIN = xyes)
-
-AC_ARG_ENABLE([maemo-resource-manager],
- AS_HELP_STRING([--enable-maemo-resource-manager],
- [Use Maemo resource manager]),
- [use_maemo_rm="$enableval"], [use_maemo_rm="no"])
-
-if test "$use_maemo_rm" = "yes"; then
- PKG_CHECK_MODULES(DBUS, [dbus-1], [HAVE_DBUS=yes], [HAVE_DBUS=no])
-
- if test "$HAVE_DBUS" = "yes"; then
- AC_DEFINE(USE_RESOURCE_MANAGER, 1,"Use dbus server as a resouce manager")
- else
- AC_ERROR([You must have D-Bus installed if you want to enable the Maemo resource manager])
- fi
-fi
-
-AC_ARG_ENABLE([avcodec],
- AS_HELP_STRING([--disable-avcodec], [Don't build plugins depending on avcodec (a52)]))
-
-if test "x$enable_avcodec" != "xno"; then
- PKG_CHECK_MODULES(AVCODEC, [libavcodec], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no])
-fi
-
-if test "x$HAVE_AVCODEC" = "xno"; then
- AC_ARG_WITH([avcodec-includedir],
- AS_HELP_STRING([--with-avcodec-includedir=dir],
- [AVcodec include directory]),
- [AVCODEC_CFLAGS="-I$withval"], [AVCODEC_CFLAGS=""])
- AC_ARG_WITH([avcodec-libdir],
- AS_HELP_STRING([--with-avcodec-libdir=dir],
- [AVcodec library directory]),
- [AVCODEC_LIBS="-L$withval"], [AVCODEC_LIBS=""])
-
- CFLAGS_saved="$CFLAGS"
- LDFLAGS_saved="$LDFLAGS"
- CFLAGS="$CFLAGS $AVCODEC_CFLAGS"
- LDFLAGS="$LDFLAGS $AVCODEC_LIBS"
- AVCODEC_LIBS="$AVCODEC_LIBS -lavcodec"
- AC_CHECK_LIB([avcodec], [avcodec_open], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no])
- CFLAGS="$CFLAGS_saved"
- LDFLAGS="$LDFLAGS_saved"
-fi
-
-if test $HAVE_AVCODEC = yes; then
- AVCODEC_HEADER=""
- AC_CHECK_HEADER([ffmpeg/avcodec.h], [AVCODEC_HEADER=''])
- if test -z "$AVCODEC_HEADER"; then
- AC_CHECK_HEADER([libavcodec/avcodec.h], [AVCODEC_HEADER=''])
- fi
- if test -z "$AVCODEC_HEADER"; then
- HAVE_AVCODEC=no
- fi
-fi
-
-AM_CONDITIONAL(HAVE_AVCODEC, test x$HAVE_AVCODEC = xyes)
-AC_SUBST(AVCODEC_CFLAGS)
-AC_SUBST(AVCODEC_LIBS)
-AC_SUBST(AVCODEC_HEADER)
-
-PKG_CHECK_MODULES(speexdsp, [speexdsp >= 1.2], [HAVE_SPEEXDSP="yes"], [HAVE_SPEEXDSP=""])
-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"])
-
-USE_LIBSPEEX=""
-if test "$PPH" = "lib"; then
- if test "$HAVE_SPEEXDSP" = "yes"; then
- AC_CHECK_LIB([speexdsp], [speex_resampler_init],
- [USE_LIBSPEEX="yes"], [USE_LIBSPEEX=""])
- fi
- if test "$USE_LIBSPEEX" = "yes"; then
- AC_DEFINE(USE_LIBSPEEX, 1, "Link with libspeex for resampler")
- else
- echo "No libspeex with resampler unit; use built-in code"
- PPH="builtin"
- fi
-fi
-
-AM_CONDITIONAL(HAVE_PPH, test "$PPH" = "builtin" -o "$PPH" = "lib")
-AM_CONDITIONAL(USE_LIBSPEEX, test "$PPH" = "lib")
-
-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]),
- plugindir="$withval", plugindir="")
-if test -z "$plugindir"; then
- eval dir="$libdir"
- case "$dir" in
- /*) ;;
- *) dir="$dir"
- esac
- plugindir="$dir/alsa-lib"
-fi
-AC_DEFINE_UNQUOTED(ALSA_PLUGIN_DIR, "$plugindir", [directory containing ALSA add-on modules])
-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([
- Makefile
- oss/Makefile
- pph/Makefile
- jack/Makefile
- pulse/Makefile
- mix/Makefile
- rate/Makefile
- a52/Makefile
- rate-lavc/Makefile
- maemo/Makefile
- doc/Makefile
- usb_stream/Makefile
- speex/Makefile
- arcam-av/Makefile
-])
-
-dnl Show the build conditions
-
-echo
-echo "Plugin directory: $ALSA_PLUGIN_DIR"
-echo "ALSA_CFLAGS: $ALSA_CFLAGS"
-echo "ALSA_LIBS: $ALSA_LIBS"
-echo "JACK plugin: $HAVE_JACK"
-if test "$HAVE_JACK" = "yes"; then
- echo " JACK_CFLAGS: $JACK_CFLAGS"
- echo " JACK_LIBS: $JACK_LIBS"
-fi
-echo "Pulseaudio plugin: $HAVE_PULSE"
-if test "$HAVE_PULSE" = "yes"; then
- echo " pulseaudio_CFLAGS: $pulseaudio_CFLAGS"
- echo " pulseaudio_LIBS: $pulseaudio_LIBS"
-fi
-echo "Samplerate plugin: $HAVE_SAMPLERATE"
-if test "$HAVE_SAMPLERATE" = "yes"; then
- echo " samplerate_CFLAGS: $samplerate_CFLAGS"
- echo " samplerate_LIBS: $samplerate_LIBS"
-fi
-echo "Maemo plugin: $HAVE_MAEMO_PLUGIN"
-echo " Using Osso resource manager: $use_maemo_rm"
-echo "A52, lavc plugins: $HAVE_AVCODEC"
-if test "$HAVE_AVCODEC" = "yes"; then
- echo " AVCODEC_CFLAGS: $AVCODEC_CFLAGS"
- echo " AVCODEC_LIBS: $AVCODEC_LIBS"
- echo " AVCODEC_HEADER: $AVCODEC_HEADER"
-fi
-echo "Speex rate plugin: $PPH"
-echo "Speex preprocess plugin: $HAVE_SPEEXDSP"
-if test "$HAVE_SPEEX" = "yes"; then
- echo " speexdsp_CFLAGS: $speexdsp_CFLAGS"
- echo " speexdsp_LIBS: $speexdsp_LIBS"
-fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-plugins-1.0.27/jack/pcm_jack.c new/alsa-plugins-1.0.28/jack/pcm_jack.c
--- old/alsa-plugins-1.0.27/jack/pcm_jack.c 2013-04-11 13:43:08.000000000 +0200
+++ new/alsa-plugins-1.0.28/jack/pcm_jack.c 2014-06-12 11:32:45.000000000 +0200
@@ -42,6 +42,7 @@
unsigned int num_ports;
unsigned int hw_ptr;
unsigned int sample_bits;
+ snd_pcm_uframes_t min_avail;
unsigned int channels;
snd_pcm_channel_area_t *areas;
@@ -50,6 +51,42 @@
jack_client_t *client;
} 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];
+ snd_pcm_sframes_t avail;
+ snd_pcm_jack_t *jack = io->private_data;
+
+ if (io->state == SND_PCM_STATE_RUNNING ||
+ (io->state == SND_PCM_STATE_PREPARED && io->stream == SND_PCM_STREAM_CAPTURE)) {
+ avail = snd_pcm_avail_update(io->pcm);
+ if (avail >= 0 && avail < jack->min_avail) {
+ while (read(io->poll_fd, &buf, sizeof(buf)) == sizeof(buf))
+ ;
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+static int pcm_poll_unblock_check(snd_pcm_ioplug_t *io)
+{
+ static char buf[1];
+ snd_pcm_sframes_t avail;
+ snd_pcm_jack_t *jack = io->private_data;
+
+ avail = snd_pcm_avail_update(io->pcm);
+ if (avail < 0 || avail >= jack->min_avail) {
+ write(jack->fd, &buf, 1);
+ return 1;
+ }
+
+ return 0;
+}
+
static void snd_pcm_jack_free(snd_pcm_jack_t *jack)
{
if (jack) {
@@ -81,14 +118,10 @@
struct pollfd *pfds, unsigned int nfds,
unsigned short *revents)
{
- static char buf[1];
-
assert(pfds && nfds == 1 && revents);
- read(pfds[0].fd, buf, 1);
-
*revents = pfds[0].revents & ~(POLLIN | POLLOUT);
- if (pfds[0].revents & POLLIN)
+ if (pfds[0].revents & POLLIN && !pcm_poll_block_check(io))
*revents |= (io->stream == SND_PCM_STREAM_PLAYBACK) ? POLLOUT : POLLIN;
return 0;
}
@@ -105,7 +138,6 @@
snd_pcm_jack_t *jack = io->private_data;
const snd_pcm_channel_area_t *areas;
snd_pcm_uframes_t xfer = 0;
- static char buf[1];
unsigned int channel;
for (channel = 0; channel < io->channels; channel++) {
@@ -145,7 +177,7 @@
xfer += frames;
}
- write(jack->fd, buf, 1); /* for polling */
+ pcm_poll_unblock_check(io); /* unblock socket for polling if needed */
return 0;
}
@@ -154,9 +186,26 @@
{
snd_pcm_jack_t *jack = io->private_data;
unsigned int i;
+ snd_pcm_sw_params_t *swparams;
+ int err;
jack->hw_ptr = 0;
+ 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);
+ }
+
+ /* deactivate jack connections if this is XRUN recovery */
+ snd_pcm_jack_stop(io);
+
+ if (io->stream == SND_PCM_STREAM_PLAYBACK)
+ pcm_poll_unblock_check(io); /* playback pcm initially accepts writes */
+ else
+ pcm_poll_block_check(io); /* block capture pcm if that's XRUN recovery */
+
if (jack->ports)
return 0;
@@ -356,20 +405,27 @@
return -EINVAL;
}
- if (snprintf(jack_client_name, sizeof(jack_client_name), "alsa-jack.%s%s.%d.%d", name,
- stream == SND_PCM_STREAM_PLAYBACK ? "P" : "C", getpid(), num++)
- >= (int)sizeof(jack_client_name)) {
+ if (name == NULL)
+ err = snprintf(jack_client_name, sizeof(jack_client_name),
+ "alsa-jack.%s%s.%d.%d", name,
+ stream == SND_PCM_STREAM_PLAYBACK ? "P" : "C",
+ getpid(), num++);
+ else
+ err = snprintf(jack_client_name, sizeof(jack_client_name),
+ "%s", name);
+
+ if (err >= (int)sizeof(jack_client_name)) {
fprintf(stderr, "%s: WARNING: JACK client name '%s' truncated to %d characters, might not be unique\n",
__func__, jack_client_name, (int)strlen(jack_client_name));
}
- jack->client = jack_client_new(jack_client_name);
+ jack->client = jack_client_open(jack_client_name, JackNoStartServer, NULL);
if (jack->client == 0) {
snd_pcm_jack_free(jack);
return -ENOENT;
}
-
+
jack->areas = calloc(jack->channels, sizeof(snd_pcm_channel_area_t));
if (! jack->areas) {
snd_pcm_jack_free(jack);
@@ -423,6 +479,10 @@
continue;
if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0)
continue;
+ if (strcmp(id, "name") == 0) {
+ snd_config_get_string(n, &name);
+ continue;
+ }
if (strcmp(id, "playback_ports") == 0) {
if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
SNDERR("Invalid type for %s", id);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-plugins-1.0.27/mix/pcm_upmix.c new/alsa-plugins-1.0.28/mix/pcm_upmix.c
--- old/alsa-plugins-1.0.27/mix/pcm_upmix.c 2013-04-11 13:43:08.000000000 +0200
+++ new/alsa-plugins-1.0.28/mix/pcm_upmix.c 2014-06-12 11:32:45.000000000 +0200
@@ -371,10 +371,63 @@
return 0;
}
+#if SND_PCM_EXTPLUG_VERSION >= 0x102
+static unsigned int chmap[8][8] = {
+ { SND_CHMAP_MONO },
+ { SND_CHMAP_FL, SND_CHMAP_FR },
+ { SND_CHMAP_FL, SND_CHMAP_FR, SND_CHMAP_FC },
+ { SND_CHMAP_FL, SND_CHMAP_FR, SND_CHMAP_RL, SND_CHMAP_RR },
+ { SND_CHMAP_FL, SND_CHMAP_FR, SND_CHMAP_RL, SND_CHMAP_RR, SND_CHMAP_FC },
+ { SND_CHMAP_FL, SND_CHMAP_FR, SND_CHMAP_RL, SND_CHMAP_RR, SND_CHMAP_FC, SND_CHMAP_LFE },
+ { SND_CHMAP_FL, SND_CHMAP_FR, SND_CHMAP_RL, SND_CHMAP_RR, SND_CHMAP_FC, SND_CHMAP_LFE, SND_CHMAP_UNKNOWN },
+ { SND_CHMAP_FL, SND_CHMAP_FR, SND_CHMAP_RL, SND_CHMAP_RR, SND_CHMAP_FC, SND_CHMAP_LFE, SND_CHMAP_SL, SND_CHMAP_SR },
+};
+
+static snd_pcm_chmap_query_t **upmix_query_chmaps(snd_pcm_extplug_t *ext ATTRIBUTE_UNUSED)
+{
+ snd_pcm_chmap_query_t **maps;
+ int i;
+
+ maps = calloc(9, sizeof(void *));
+ if (!maps)
+ return NULL;
+ for (i = 0; i < 8; i++) {
+ snd_pcm_chmap_query_t *p;
+ p = maps[i] = calloc(i + 1 + 2, sizeof(int));
+ if (!p) {
+ snd_pcm_free_chmaps(maps);
+ return NULL;
+ }
+ p->type = SND_CHMAP_TYPE_FIXED;
+ p->map.channels = i + 1;
+ memcpy(p->map.pos, &chmap[i][0], (i + 1) * sizeof(int));
+ }
+ return maps;
+}
+
+static snd_pcm_chmap_t *upmix_get_chmap(snd_pcm_extplug_t *ext)
+{
+ snd_pcm_chmap_t *map;
+
+ if (ext->channels < 1 || ext->channels > 8)
+ return NULL;
+ map = malloc((ext->channels + 1) * sizeof(int));
+ if (!map)
+ return NULL;
+ map->channels = ext->channels;
+ memcpy(map->pos, &chmap[ext->channels - 1][0], ext->channels * sizeof(int));
+ return map;
+}
+#endif /* SND_PCM_EXTPLUG_VERSION >= 0x102 */
+
static const snd_pcm_extplug_callback_t upmix_callback = {
.transfer = upmix_transfer,
.init = upmix_init,
.close = upmix_close,
+#if SND_PCM_EXTPLUG_VERSION >= 0x102
+ .query_chmaps = upmix_query_chmaps,
+ .get_chmap = upmix_get_chmap,
+#endif
};
SND_PCM_PLUGIN_DEFINE_FUNC(upmix)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-plugins-1.0.27/mix/pcm_vdownmix.c new/alsa-plugins-1.0.28/mix/pcm_vdownmix.c
--- old/alsa-plugins-1.0.27/mix/pcm_vdownmix.c 2013-04-11 13:43:08.000000000 +0200
+++ new/alsa-plugins-1.0.28/mix/pcm_vdownmix.c 2014-06-12 11:32:45.000000000 +0200
@@ -277,10 +277,58 @@
return 0;
}
+#if SND_PCM_EXTPLUG_VERSION >= 0x102
+static unsigned int chmap[6] = {
+ SND_CHMAP_FL, SND_CHMAP_FR,
+ SND_CHMAP_RL, SND_CHMAP_RR,
+ SND_CHMAP_FC, SND_CHMAP_LFE,
+};
+
+static snd_pcm_chmap_query_t **vdownmix_query_chmaps(snd_pcm_extplug_t *ext ATTRIBUTE_UNUSED)
+{
+ snd_pcm_chmap_query_t **maps;
+ int i;
+
+ maps = calloc(4, sizeof(void *));
+ if (!maps)
+ return NULL;
+ for (i = 0; i < 3; i++) {
+ snd_pcm_chmap_query_t *p;
+ p = maps[i] = calloc(i + 4 + 2, sizeof(int));
+ if (!p) {
+ snd_pcm_free_chmaps(maps);
+ return NULL;
+ }
+ p->type = SND_CHMAP_TYPE_FIXED;
+ p->map.channels = i + 4;
+ memcpy(p->map.pos, chmap, (i + 4) * sizeof(int));
+ }
+ return maps;
+}
+
+static snd_pcm_chmap_t *vdownmix_get_chmap(snd_pcm_extplug_t *ext)
+{
+ snd_pcm_chmap_t *map;
+
+ if (ext->channels < 4 || ext->channels > 6)
+ return NULL;
+ map = malloc((ext->channels + 1) * sizeof(int));
+ if (!map)
+ return NULL;
+ map->channels = ext->channels;
+ memcpy(map->pos, chmap, ext->channels * sizeof(int));
+ return map;
+}
+#endif /* SND_PCM_EXTPLUG_VERSION >= 0x102 */
+
static const snd_pcm_extplug_callback_t vdownmix_callback = {
.transfer = vdownmix_transfer,
.init = vdownmix_init,
/* .dump = filr_dump, */
+#if SND_PCM_EXTPLUG_VERSION >= 0x102
+ .query_chmaps = vdownmix_query_chmaps,
+ .get_chmap = vdownmix_get_chmap,
+#endif
};
SND_PCM_PLUGIN_DEFINE_FUNC(vdownmix)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-plugins-1.0.27/version new/alsa-plugins-1.0.28/version
--- old/alsa-plugins-1.0.27/version 2013-04-11 14:54:28.000000000 +0200
+++ new/alsa-plugins-1.0.28/version 2014-06-13 11:23:48.000000000 +0200
@@ -1 +1 @@
-1.0.27
+1.0.28
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org