From d141d03eefa4cb49b029adfc568e3ae785f6ab65 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 25 Jan 2014 15:42:21 +0200 Subject: [PATCH] pulseaudio: update to pulseaudio-4.99.2 --- packages/audio/pulseaudio/package.mk | 23 ++++++- ...ombination-ports-have-lower-priority.patch | 60 ------------------- ...-combine-Fix-crash-in-output-freeing.patch | 33 ---------- ...x-peaks-resampler-s-channel-handling.patch | 36 ----------- ....pa-Do-not-load-module-dbus-protocol.patch | 55 ----------------- .../pulseaudio-0202-dont-probe-ucm.patch | 14 ----- 6 files changed, 20 insertions(+), 201 deletions(-) delete mode 100644 packages/audio/pulseaudio/patches/pulseaudio-0101-alsa-ucm-Make-combination-ports-have-lower-priority.patch delete mode 100644 packages/audio/pulseaudio/patches/pulseaudio-0102-combine-Fix-crash-in-output-freeing.patch delete mode 100644 packages/audio/pulseaudio/patches/pulseaudio-0103-resampler-Fix-peaks-resampler-s-channel-handling.patch delete mode 100644 packages/audio/pulseaudio/patches/pulseaudio-0104-default-system.pa-Do-not-load-module-dbus-protocol.patch delete mode 100644 packages/audio/pulseaudio/patches/pulseaudio-0202-dont-probe-ucm.patch diff --git a/packages/audio/pulseaudio/package.mk b/packages/audio/pulseaudio/package.mk index 0ccb91aa32..02ac3efc50 100644 --- a/packages/audio/pulseaudio/package.mk +++ b/packages/audio/pulseaudio/package.mk @@ -19,12 +19,12 @@ ################################################################################ PKG_NAME="pulseaudio" -PKG_VERSION="4.0" +PKG_VERSION="4.99.2" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://pulseaudio.org/" -PKG_URL="http://freedesktop.org/software/pulseaudio/releases/$PKG_NAME-$PKG_VERSION.tar.xz" +PKG_URL="http://cgit.freedesktop.org/pulseaudio/pulseaudio/snapshot/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS="libtool alsa-lib libsamplerate dbus speex systemd openssl" PKG_BUILD_DEPENDS_TARGET="toolchain libtool json-c alsa-lib libsndfile libsamplerate speex dbus systemd openssl libcap" PKG_PRIORITY="optional" @@ -35,6 +35,15 @@ PKG_LONGDESC="PulseAudio is a sound server for Linux and other Unix-like operati PKG_IS_ADDON="no" PKG_AUTORECONF="yes" +if [ "$BLUETOOTH_SUPPORT" = "yes" ]; then + PKG_BUILD_DEPENDS_TARGET="$PKG_BUILD_DEPENDS_TARGET sbc" + PULSEAUDIO_BLUETOOTH="--enable-bluez5" +else + PULSEAUDIO_BLUETOOTH="--disable-bluez5" +fi + +export GIT_DESCRIBE_FOR_BUILD="4.0" + # package specific configure options PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \ --disable-nls \ @@ -59,7 +68,8 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \ --disable-tcpwrap \ --disable-lirc \ --enable-dbus \ - --disable-bluez \ + --disable-bluez4 \ + $PULSEAUDIO_BLUETOOTH \ --enable-udev \ --disable-hal-compat \ --enable-ipv6 \ @@ -78,6 +88,13 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \ --with-speex \ --with-module-dir=/usr/lib/pulse" +pre_build_target() { +# broken autoreconf + ( cd $PKG_BUILD + intltoolize --force + ) +} + pre_configure_target() { # pulseaudio fails to build with LTO support strip_lto diff --git a/packages/audio/pulseaudio/patches/pulseaudio-0101-alsa-ucm-Make-combination-ports-have-lower-priority.patch b/packages/audio/pulseaudio/patches/pulseaudio-0101-alsa-ucm-Make-combination-ports-have-lower-priority.patch deleted file mode 100644 index b6676c3c14..0000000000 --- a/packages/audio/pulseaudio/patches/pulseaudio-0101-alsa-ucm-Make-combination-ports-have-lower-priority.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 908deb136c46c17e5c42fd3a2767746c767d10eb Mon Sep 17 00:00:00 2001 -From: David Henningsson -Date: Fri, 19 Jul 2013 16:38:16 +0200 -Subject: [PATCH] alsa-ucm: Make combination ports have lower priority - -Usually, you want to use one input or output at a time: e g, -you expect your speaker to mute when you plug in headphones. - -Therefore, the headphones+speaker port should have lower priority -and both headphones and speaker. - -A practical formula to do this is 1/x = 1/xa + 1/xb + .. + 1/xn. - -Signed-off-by: David Henningsson ---- - src/modules/alsa/alsa-ucm.c | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -Index: pulseaudio-4.0/src/modules/alsa/alsa-ucm.c -=================================================================== ---- pulseaudio-4.0.orig/src/modules/alsa/alsa-ucm.c 2013-08-23 11:20:00.365810574 +0200 -+++ pulseaudio-4.0/src/modules/alsa/alsa-ucm.c 2013-08-23 11:20:02.065810544 +0200 -@@ -654,6 +654,7 @@ - pa_device_port *port; - int i; - unsigned priority; -+ double prio2; - char *name, *desc; - const char *dev_name; - const char *direction; -@@ -667,6 +668,7 @@ - : pa_sprintf_malloc("Combination port for %s", dev_name); - - priority = is_sink ? dev->playback_priority : dev->capture_priority; -+ prio2 = (priority == 0 ? 0 : 1.0/priority); - - for (i = 1; i < num; i++) { - char *tmp; -@@ -682,10 +684,19 @@ - pa_xfree(desc); - desc = tmp; - -- /* FIXME: Is this true? */ -- priority += (is_sink ? dev->playback_priority : dev->capture_priority); -+ priority = is_sink ? dev->playback_priority : dev->capture_priority; -+ if (priority != 0 && prio2 > 0) -+ prio2 += 1.0/priority; - } - -+ /* Make combination ports always have lower priority, and use the formula -+ 1/p = 1/p1 + 1/p2 + ... 1/pn. -+ This way, the result will always be less than the individual components, -+ yet higher components will lead to higher result. */ -+ -+ if (num > 1) -+ priority = prio2 > 0 ? 1.0/prio2 : 0; -+ - port = pa_hashmap_get(ports, name); - if (!port) { - port = pa_device_port_new(core, pa_strna(name), desc, 0); diff --git a/packages/audio/pulseaudio/patches/pulseaudio-0102-combine-Fix-crash-in-output-freeing.patch b/packages/audio/pulseaudio/patches/pulseaudio-0102-combine-Fix-crash-in-output-freeing.patch deleted file mode 100644 index 98dded29b4..0000000000 --- a/packages/audio/pulseaudio/patches/pulseaudio-0102-combine-Fix-crash-in-output-freeing.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0e9baa429ea2620dbb11f4b3a26eaa46620a9124 Mon Sep 17 00:00:00 2001 -From: Tanu Kaskinen -Date: Tue, 18 Jun 2013 21:21:08 +0300 -Subject: [PATCH] combine: Fix crash in output freeing - -The outputs are removed from the idxset before output_free() is -called. Trying to remove them again in output_free(), and asserting -that it should succeed caused crashing whenever outputs were freed. - -This bug was introduced in commit -061878b5a47ed9aa05d12430b039874b63c29a84. - -BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=65901 ---- - src/modules/module-combine-sink.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/modules/module-combine-sink.c b/src/modules/module-combine-sink.c -index 7d660f0..faf65c2 100644 ---- a/src/modules/module-combine-sink.c -+++ b/src/modules/module-combine-sink.c -@@ -923,8 +923,6 @@ static void output_free(struct output *o) { - pa_assert(o); - - output_disable(o); -- -- pa_assert_se(pa_idxset_remove_by_data(o->userdata->outputs, o, NULL)); - update_description(o->userdata); - - if (o->inq_rtpoll_item_read) --- -1.7.9.5 - diff --git a/packages/audio/pulseaudio/patches/pulseaudio-0103-resampler-Fix-peaks-resampler-s-channel-handling.patch b/packages/audio/pulseaudio/patches/pulseaudio-0103-resampler-Fix-peaks-resampler-s-channel-handling.patch deleted file mode 100644 index e7dc566495..0000000000 --- a/packages/audio/pulseaudio/patches/pulseaudio-0103-resampler-Fix-peaks-resampler-s-channel-handling.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 1470fc325a0f583813e625b2cfb53fb3907ccd72 Mon Sep 17 00:00:00 2001 -From: Tanu Kaskinen -Date: Wed, 10 Jul 2013 21:48:40 +0300 -Subject: [PATCH] resampler: Fix peaks resampler's channel handling - -In the resampling phase the input and output data have the same number -of channels (o_ss.channels). ---- - src/pulsecore/resampler.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c -index cdfaf8f..341d85b 100644 ---- a/src/pulsecore/resampler.c -+++ b/src/pulsecore/resampler.c -@@ -1526,7 +1526,7 @@ static void peaks_resample(pa_resampler *r, const pa_memchunk *input, unsigned i - o_index++, r->peaks.o_counter++; - } - } else if (r->work_format == PA_SAMPLE_S16NE) { -- int16_t *s = (int16_t*) src + r->i_ss.channels * i; -+ int16_t *s = (int16_t*) src + r->o_ss.channels * i; - int16_t *d = (int16_t*) dst + r->o_ss.channels * o_index; - - for (; i < i_end && i < in_n_frames; i++) -@@ -1545,7 +1545,7 @@ static void peaks_resample(pa_resampler *r, const pa_memchunk *input, unsigned i - o_index++, r->peaks.o_counter++; - } - } else { -- float *s = (float*) src + r->i_ss.channels * i; -+ float *s = (float*) src + r->o_ss.channels * i; - float *d = (float*) dst + r->o_ss.channels * o_index; - - for (; i < i_end && i < in_n_frames; i++) --- -1.7.9.5 - diff --git a/packages/audio/pulseaudio/patches/pulseaudio-0104-default-system.pa-Do-not-load-module-dbus-protocol.patch b/packages/audio/pulseaudio/patches/pulseaudio-0104-default-system.pa-Do-not-load-module-dbus-protocol.patch deleted file mode 100644 index 0ae2228145..0000000000 --- a/packages/audio/pulseaudio/patches/pulseaudio-0104-default-system.pa-Do-not-load-module-dbus-protocol.patch +++ /dev/null @@ -1,55 +0,0 @@ -From dcb52b0844c21c7fe591ef1cfacafbda1df770f0 Mon Sep 17 00:00:00 2001 -From: David Henningsson -Date: Fri, 27 Sep 2013 10:22:53 +0200 -Subject: [PATCH] default/system.pa: Do not load module-dbus-protocol - -The author of this module, Tanu Kaskinen, has said that this module -"is not suitable for general use". Also, it is still causing crashes -on card removal (see bug 69871). - -Qpaeq, and possibly other tools, use this module - but they can load -the module manually if they still wish to use it. - -Signed-off-by: David Henningsson ---- - src/daemon/default.pa.in | 7 ------- - src/daemon/system.pa.in | 5 ----- - 2 files changed, 12 deletions(-) - -diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in -index f50d929..4e77ae9 100755 ---- a/src/daemon/default.pa.in -+++ b/src/daemon/default.pa.in -@@ -171,13 +171,6 @@ load-module module-filter-heuristics - load-module module-filter-apply - ])dnl - --ifelse(@HAVE_DBUS@, 1, [dnl --### Load DBus protocol --.ifexists module-dbus-protocol@PA_SOEXT@ --load-module module-dbus-protocol --.endif --])dnl -- - ifelse(@HAVE_X11@, 1, [dnl - # X11 modules should not be started from default.pa so that one daemon - # can be shared by multiple sessions. -diff --git a/src/daemon/system.pa.in b/src/daemon/system.pa.in -index e881a12..6da880e 100755 ---- a/src/daemon/system.pa.in -+++ b/src/daemon/system.pa.in -@@ -52,11 +52,6 @@ load-module module-device-restore - ### that look up the default sink/source get the right value - load-module module-default-device-restore - --.ifexists module-dbus-protocol@PA_SOEXT@ --### If you want to allow TCP connections, set access to "remote" or "local,remote". --load-module module-dbus-protocol access=local --.endif -- - ### Automatically move streams to the default sink if the sink they are - ### connected to dies, similar for sources - load-module module-rescue-streams --- -1.7.9.5 - diff --git a/packages/audio/pulseaudio/patches/pulseaudio-0202-dont-probe-ucm.patch b/packages/audio/pulseaudio/patches/pulseaudio-0202-dont-probe-ucm.patch deleted file mode 100644 index 957e480f7e..0000000000 --- a/packages/audio/pulseaudio/patches/pulseaudio-0202-dont-probe-ucm.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: pulseaudio-4.0/src/modules/alsa/alsa-ucm.c -=================================================================== ---- pulseaudio-4.0.orig/src/modules/alsa/alsa-ucm.c 2013-08-13 15:32:15.968363587 +0200 -+++ pulseaudio-4.0/src/modules/alsa/alsa-ucm.c 2013-08-13 15:33:57.000362087 +0200 -@@ -1484,7 +1484,8 @@ - ucm_create_profile(ucm, ps, verb, verb_name, verb_desc); - } - -- ucm_probe_profile_set(ucm, ps); -+/* Just trust that the person writing the UCM file knows what (s)he was doing, right? */ -+/* ucm_probe_profile_set(ucm, ps); */ - ps->probed = TRUE; - - return ps;