[pulseaudio] 05/19: Dropped patches, either applied upstream or are now obsolete:

Luke Yelavich themuso-guest at moszumanska.debian.org
Sun Nov 30 22:48:39 UTC 2014


This is an automated email from the git hooks/post-receive script.

themuso-guest pushed a commit to branch ubuntu
in repository pulseaudio.

commit 1881bb94d8fc5a9975318ccd0e3b36c17e446756
Author: Luke Yelavich <themuso at ubuntu.com>
Date:   Tue Nov 25 10:00:47 2014 +1100

    Dropped patches, either applied upstream or are now obsolete:
---
 debian/changelog                                   |  17 +
 ...use-incompatible-default-sample-spec-para.patch |  41 ---
 ...se-the-fixed-point-speex-resampler-on-ARM.patch |  70 ----
 debian/patches/0003-exit-with-X-session.patch      |  55 ----
 .../0004-dont-start-when-already-running.patch     |  30 --
 debian/patches/broken-PA_FLOAT32_SWAP.patch        | 320 ------------------
 ...ndianmacros-Fix-PA_MAYBE_INT16_SWAP-macro.patch |  27 --
 .../kfreebsd_no_lock_and_threads_synchro.patch     |  29 --
 debian/patches/misc-cleanups-and-bug-fixes.patch   | 118 -------
 ...Fix-mixing-of-S24-samples-stored-as-S32RE.patch |  37 ---
 debian/patches/only-autostart-kde-version.patch    |  12 -
 ...x-crash-on-empty-UDP-packets-CVE-2014-397.patch |  57 ----
 debian/patches/series                              |  16 -
 debian/patches/tests-Cleanup-mix-test.patch        |  41 ---
 .../tests-Fix-mix-test-on-big-endian-systems.patch | 364 ---------------------
 ...Fix-pa_get_binary_name-on-Debian-kFreeBSD.patch |  38 ---
 ...finding-out-application-name-using-dladdr.patch |  78 -----
 ...ion-Fix-completion-for-default-sink-sourc.patch |  22 --
 18 files changed, 17 insertions(+), 1355 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 4d10dd5..cab46ae 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,23 @@
 pulseaudio (5.99.1-1) UNRELEASED; urgency=medium
 
   * New upstream release candidate
+  * Dropped patches, either applied upstream or are now obsolete:
+    - 0001-raop-Don-t-use-incompatible-default-sample-spec-para.patch
+    - 0002-Use-the-fixed-point-speex-resampler-on-ARM.patch
+    - 0003-exit-with-X-session.patch
+    - 0004-dont-start-when-already-running.patch
+    - broken-PA_FLOAT32_SWAP.patch
+    - endianmacros-Fix-PA_MAYBE_INT16_SWAP-macro.patch
+    - kfreebsd_no_lock_and_threads_synchro.patch
+    - misc-cleanups-and-bug-fixes.patch
+    - mix-Fix-mixing-of-S24-samples-stored-as-S32RE.patch
+    - only-autostart-kde-version.patch
+    - rtp-recv-fix-crash-on-empty-UDP-packets-CVE-2014-397.patch
+    - tests-Cleanup-mix-test.patch
+    - tests-Fix-mix-test-on-big-endian-systems.patch
+    - util-Fix-pa_get_binary_name-on-Debian-kFreeBSD.patch
+    - util-Try-finding-out-application-name-using-dladdr.patch
+    - zsh-completion-Fix-completion-for-default-sink-sourc.patch
 
  -- Luke Yelavich <themuso at ubuntu.com>  Tue, 25 Nov 2014 09:39:16 +1100
 
diff --git a/debian/patches/0001-raop-Don-t-use-incompatible-default-sample-spec-para.patch b/debian/patches/0001-raop-Don-t-use-incompatible-default-sample-spec-para.patch
deleted file mode 100644
index a58b2e3..0000000
--- a/debian/patches/0001-raop-Don-t-use-incompatible-default-sample-spec-para.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From b1c4e7bf6bae405999d3247c332a71be6b130496 Mon Sep 17 00:00:00 2001
-From: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
-Date: Tue, 19 Aug 2014 14:08:34 +0300
-Subject: [PATCH] raop: Don't use incompatible default sample spec parameters
-
-Since the RAOP sink supports only some formats and channel counts, we
-shouldn't blindly use pa_core.default_sample_spec. This patch changes
-things so that we default to PA_SAMPLE_S16NE and 2 channels, and only
-take the sample rate from pa_core.default_sample_spec.
----
- src/modules/raop/module-raop-sink.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/modules/raop/module-raop-sink.c b/src/modules/raop/module-raop-sink.c
-index 2d08645..13036d9 100644
---- a/src/modules/raop/module-raop-sink.c
-+++ b/src/modules/raop/module-raop-sink.c
-@@ -518,15 +518,17 @@ int pa__init(pa_module*m) {
-         goto fail;
-     }
- 
--    ss = m->core->default_sample_spec;
-+    ss.format = PA_SAMPLE_S16NE;
-+    ss.channels = 2;
-+    ss.rate = m->core->default_sample_spec.rate;
-     if (pa_modargs_get_sample_spec(ma, &ss) < 0) {
-         pa_log("invalid sample format specification");
-         goto fail;
-     }
- 
--    if ((/*ss.format != PA_SAMPLE_U8 &&*/ ss.format != PA_SAMPLE_S16NE) ||
-+    if ((ss.format != PA_SAMPLE_S16NE) ||
-         (ss.channels > 2)) {
--        pa_log("sample type support is limited to mono/stereo and U8 or S16NE sample data");
-+        pa_log("sample type support is limited to mono/stereo and S16NE sample data");
-         goto fail;
-     }
- 
--- 
-2.1.0
-
diff --git a/debian/patches/0002-Use-the-fixed-point-speex-resampler-on-ARM.patch b/debian/patches/0002-Use-the-fixed-point-speex-resampler-on-ARM.patch
deleted file mode 100644
index 5749bcb..0000000
--- a/debian/patches/0002-Use-the-fixed-point-speex-resampler-on-ARM.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 00fbfcc27ffa179eb88c8a9627c1e928b0593d0e Mon Sep 17 00:00:00 2001
-From: Sjoerd Simons <sjoerd at luon.net>
-Date: Sun, 25 Nov 2012 21:46:38 +0100
-Subject: [PATCH 2/2] Use the fixed point speex resampler on ARM
-
-Switch to use the speex fixed point resampler method by default on ARM.
-Traditionately there wasn't any standard floating point hardware, so for
-those machines it's an obvious choise. On machine using the hardfloat
-ABI floating point still isn't an obvious win over integer performance,
-it's of equal performance on some machines, but slower on others.
----
- man/pulse-daemon.conf.5.xml.in |    2 ++
- src/daemon/daemon.conf.in      |    2 ++
- src/pulsecore/core.c           |    4 ++++
- src/pulsecore/resampler.c      |    4 ++++
- 4 files changed, 12 insertions(+)
-
---- a/man/pulse-daemon.conf.5.xml.in
-+++ b/man/pulse-daemon.conf.5.xml.in
-@@ -101,6 +101,8 @@
-       also offers slightly better quality. See the output of
-       <opt>dump-resample-methods</opt> for a complete list of all
-       available resamplers. Defaults to <opt>speex-float-1</opt>. The
-+      available resamplers. Defaults to <opt>speex-float-1</opt> on most
-+      achitectures and <opt>speex-fixed-1</opt> on ARM. The
-       <opt>--resample-method</opt> command line option takes precedence.
-       Note that some modules overwrite or allow overwriting of the
-       resampler to use.</p>
---- a/src/daemon/daemon.conf.in
-+++ b/src/daemon/daemon.conf.in
-@@ -54,6 +54,8 @@
- ; log-time = no
- ; log-backtrace = 0
- 
-+# resample-method defaults to  speex-float-1 on most architectures,
-+# speex-fixed-1 on ARM
- ; resample-method = speex-float-1
- ; enable-remixing = yes
- ; enable-lfe-remixing = no
---- a/src/pulsecore/core.c
-+++ b/src/pulsecore/core.c
-@@ -141,7 +141,11 @@
-     c->disable_remixing = false;
-     c->disable_lfe_remixing = false;
-     c->deferred_volume = true;
--    c->resample_method = PA_RESAMPLER_SPEEX_FLOAT_BASE + 1;
-+#ifdef __arm__
-+    c->resample_method = PA_RESAMPLER_SPEEX_FIXED_BASE + 1;
-+#else
-+   c->resample_method = PA_RESAMPLER_SPEEX_FLOAT_BASE + 1;
-+#endif
- 
-     for (j = 0; j < PA_CORE_HOOK_MAX; j++)
-         pa_hook_init(&c->hooks[j], c);
---- a/src/pulsecore/resampler.c
-+++ b/src/pulsecore/resampler.c
-@@ -187,8 +187,13 @@
- static pa_resample_method_t choose_auto_resampler(pa_resample_flags_t flags) {
-     pa_resample_method_t method;
- 
-+#  ifdef __arm__
-+    if (pa_resample_method_supported(PA_RESAMPLER_SPEEX_FIXED_BASE + 1))
-+        method = PA_RESAMPLER_SPEEX_FIXED_BASE + 1;
-+#else
-     if (pa_resample_method_supported(PA_RESAMPLER_SPEEX_FLOAT_BASE + 1))
-         method = PA_RESAMPLER_SPEEX_FLOAT_BASE + 1;
-+#endif
-     else if (flags & PA_RESAMPLER_VARIABLE_RATE)
-         method = PA_RESAMPLER_TRIVIAL;
-     else
diff --git a/debian/patches/0003-exit-with-X-session.patch b/debian/patches/0003-exit-with-X-session.patch
deleted file mode 100644
index a77d34e..0000000
--- a/debian/patches/0003-exit-with-X-session.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Description: start-pulseaudio-*: Kill pulseaudio daemon when x session ends
-Forwarded: https://bugs.freedesktop.org/show_bug.cgi?id=77497
-Author: Alexander Kurtz <kurtz.alex at googlemail.com>
---- a/src/daemon/start-pulseaudio-x11.in
-+++ b/src/daemon/start-pulseaudio-x11.in
-@@ -19,6 +19,13 @@
- 
- set -e
- 
-+# check if pulseaudio has already been started by someone else
-+if /usr/bin/pulseaudio --check; then
-+       EXIT_WITH_X_SESSION=no
-+else
-+       EXIT_WITH_X_SESSION=yes
-+fi
-+
- @PA_BINARY@ --start "$@"
- 
- if [ x"$DISPLAY" != x ] ; then
-@@ -30,3 +37,9 @@ if [ x"$DISPLAY" != x ] ; then
- 	@PACTL_BINARY@ load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null
-     fi
- fi
-+
-+# fork and wait for X-session to end, then quit pulseaudio
-+if [ "$EXIT_WITH_X_SESSION" = yes ]; then
-+	/usr/bin/xprop -root -spy > /dev/null 2>&1 || true
-+	/usr/bin/pulseaudio --kill
-+fi &
---- a/src/daemon/start-pulseaudio-kde.in
-+++ b/src/daemon/start-pulseaudio-kde.in
-@@ -21,6 +21,13 @@ set -e
- 
- [ -z "$PULSE_SERVER" ]
- 
-+# check if pulseaudio has already been started by someone else
-+if /usr/bin/pulseaudio --check; then
-+    EXIT_WITH_X_SESSION=no
-+else
-+    EXIT_WITH_X_SESSION=yes
-+fi
-+
- @PA_BINARY@ --start "$@"
- 
- if [ x"$DISPLAY" != x ] ; then
-@@ -28,3 +35,9 @@ if [ x"$DISPLAY" != x ] ; then
-     @PACTL_BINARY@ load-module module-device-manager "do_routing=1" > /dev/null
- 
- fi
-+
-+# fork and wait for X-session to end, then quit pulseaudio
-+if [ "$EXIT_WITH_X_SESSION" = yes ]; then
-+    /usr/bin/xprop -root -spy > /dev/null 2>&1 || true
-+    /usr/bin/pulseaudio --kill
-+fi &
diff --git a/debian/patches/0004-dont-start-when-already-running.patch b/debian/patches/0004-dont-start-when-already-running.patch
deleted file mode 100644
index 948837a..0000000
--- a/debian/patches/0004-dont-start-when-already-running.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Description: Do not start pulseaudio if it is already running
-Origin: https://bbs.archlinux.org/viewtopic.php?pid=1164699#p1164699
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743813
-Forwarded: http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-April/020381.html
---- a/src/daemon/start-pulseaudio-kde.in
-+++ b/src/daemon/start-pulseaudio-kde.in
-@@ -26,9 +26,9 @@ if /usr/bin/pulseaudio --check; then
-     EXIT_WITH_X_SESSION=no
- else
-     EXIT_WITH_X_SESSION=yes
-+    @PA_BINARY@ --start "$@"
- fi
- 
-- at PA_BINARY@ --start "$@"
- 
- if [ x"$DISPLAY" != x ] ; then
- 
---- a/src/daemon/start-pulseaudio-x11.in
-+++ b/src/daemon/start-pulseaudio-x11.in
-@@ -24,9 +24,9 @@ if /usr/bin/pulseaudio --check; then
-        EXIT_WITH_X_SESSION=no
- else
-        EXIT_WITH_X_SESSION=yes
-+       @PA_BINARY@ --start "$@"
- fi
- 
-- at PA_BINARY@ --start "$@"
- 
- if [ x"$DISPLAY" != x ] ; then
- 
diff --git a/debian/patches/broken-PA_FLOAT32_SWAP.patch b/debian/patches/broken-PA_FLOAT32_SWAP.patch
deleted file mode 100644
index f8c0d87..0000000
--- a/debian/patches/broken-PA_FLOAT32_SWAP.patch
+++ /dev/null
@@ -1,320 +0,0 @@
-From: Peter Meerwald <pmeerw at pmeerw.net>
-To: General PulseAudio Discussion <pulseaudio-discuss at lists.freedesktop.org>
-Date: Wed,  3 Sep 2014 02:25:42 +0200
-Message-Id: <1409703942-20509-2-git-send-email-pmeerw at pmeerw.net>
-X-Mailer: git-send-email 1.9.1
-In-Reply-To: <1409703942-20509-1-git-send-email-pmeerw at pmeerw.net>
-References: <1409703942-20509-1-git-send-email-pmeerw at pmeerw.net>
-Subject: [pulseaudio-discuss] [PATCH 2/2] endianmacros: Replace borked
-	PA_FLOAT32_SWAP() with PA_READ_FLOAT32RE() / PA_WRITE_FLOAT32RE()
-X-BeenThere: pulseaudio-discuss at lists.freedesktop.org
-X-Mailman-Version: 2.1.15
-Precedence: list
-Reply-To: General PulseAudio Discussion
- <pulseaudio-discuss at lists.freedesktop.org>
-List-Id: General PulseAudio Discussion
- <pulseaudio-discuss.lists.freedesktop.org>
-List-Unsubscribe: <http://lists.freedesktop.org/mailman/options/pulseaudio-discuss>, 
- <mailto:pulseaudio-discuss-request at lists.freedesktop.org?subject=unsubscribe>
-List-Archive: <http://lists.freedesktop.org/archives/pulseaudio-discuss>
-List-Post: <mailto:pulseaudio-discuss at lists.freedesktop.org>
-List-Help: <mailto:pulseaudio-discuss-request at lists.freedesktop.org?subject=help>
-List-Subscribe: <http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss>, 
- <mailto:pulseaudio-discuss-request at lists.freedesktop.org?subject=subscribe>
-MIME-Version: 1.0
-Content-Type: text/plain; charset="us-ascii"
-Content-Transfer-Encoding: 7bit
-Errors-To: pulseaudio-discuss-bounces at lists.freedesktop.org
-Sender: "pulseaudio-discuss" <pulseaudio-discuss-bounces at lists.freedesktop.org>
-
-From: Peter Meerwald <pmeerw at debian>
-
-building PA with -O0 leads to test failure in mix-test on i386
-
-issue reported by Felipe, see
-http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-August/021406.html
-
-the problem is the value 0xbeffbd7f: when byte-swapped it becomes 0x7fbdffbe and according
-to IEEE-754 represents a signalling NaN (starting with s111 1111 10, see http://en.wikipedia.org/wiki/NaN)
-
-when this value is assigned to a floating point register, it becomes 0x7ffdffbe, representing
-a quiet NaN (starting with s111 1111 11) -- a signalling NaN is turned into a quiet NaN!
-
-so PA_FLOAT32_SWAP(PA_FLOAT32_SWAP(x)) != x for certain values, uhuh!
-
-the following test code can be used; due to volatile, it will always demonstrate the issue;
-without volatile, it depends on the optimization level (i386, 32-bit, gcc 4.9):
-
-// snip
-
-static inline float PA_FLOAT32_SWAP(float x) {
-    union {
-        float f;
-        uint32_t u;
-    } t;
-
-    t.f = x;
-    t.u = bswap_32(t.u);
-    return t.f;
-}
-
-int main() {
-  unsigned x = 0xbeffbd7f;
-  volatile float f = PA_FLOAT32_SWAP(*(float *)&x);
-  printf("%08x %08x %08x %f\n", 0xbeffbd7f, *(unsigned *)&f, bswap_32(*(unsigned *)&f), f);
-}
-// snip
-
-the problem goes away with optimization when no temporary floating point registers are used
-
-the proposed solution is to avoid passing swapped floating point data in a
-float; this is done with new functions PA_READ_FLOAT32RE() and PA_WRITE_FLOAT32RE()
-which use uint32_t to dereference a pointer and byte-swap the data, hence no temporary
-float variable is used
-
-also delete PA_FLOAT32_TO_LE()/_BE(), not used
-
-Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
-Reported-by: Felipe Sateler <fsateler at debian.org>
----
- src/pulsecore/endianmacros.h | 23 ++++++++++++-----------
- src/pulsecore/mix.c          | 11 ++++-------
- src/pulsecore/sample-util.c  |  4 ++--
- src/pulsecore/sconv-s16le.c  | 22 ++++++++--------------
- src/pulsecore/svolume_c.c    |  4 ++--
- src/tests/mix-test.c         |  4 ++--
- src/tests/resampler-test.c   |  4 ++--
- 7 files changed, 32 insertions(+), 40 deletions(-)
-
---- a/src/pulsecore/endianmacros.h
-+++ b/src/pulsecore/endianmacros.h
-@@ -71,25 +71,32 @@ static inline void PA_WRITE24LE(uint8_t
-     p[0] = (uint8_t) u;
- }
- 
--static inline float PA_FLOAT32_SWAP(float x) {
-+static inline float PA_READ_FLOAT32RE(const void *p) {
-     union {
-         float f;
-         uint32_t u;
-     } t;
- 
--    t.f = x;
--    t.u = PA_UINT32_SWAP(t.u);
-+    t.u = PA_UINT32_SWAP(*(uint32_t *) p);
-     return t.f;
- }
- 
-+static inline void PA_WRITE_FLOAT32RE(void *p, float x) {
-+    union {
-+        float f;
-+        uint32_t u;
-+    } t;
-+
-+    t.f = x;
-+    *(uint32_t *) p = PA_UINT32_SWAP(t.u);
-+}
-+
- #define PA_MAYBE_INT16_SWAP(c,x) ((c) ? PA_INT16_SWAP(x) : (x))
- #define PA_MAYBE_UINT16_SWAP(c,x) ((c) ? PA_UINT16_SWAP(x) : (x))
- 
- #define PA_MAYBE_INT32_SWAP(c,x) ((c) ? PA_INT32_SWAP(x) : (x))
- #define PA_MAYBE_UINT32_SWAP(c,x) ((c) ? PA_UINT32_SWAP(x) : (x))
- 
--#define PA_MAYBE_FLOAT32_SWAP(c,x) ((c) ? PA_FLOAT32_SWAP(x) : (x))
--
- #ifdef WORDS_BIGENDIAN
-  #define PA_INT16_FROM_LE(x) PA_INT16_SWAP(x)
-  #define PA_INT16_FROM_BE(x) ((int16_t)(x))
-@@ -115,9 +122,6 @@ static inline float PA_FLOAT32_SWAP(floa
-  #define PA_UINT32_TO_LE(x) PA_UINT32_SWAP(x)
-  #define PA_UINT32_TO_BE(x) ((uint32_t)(x))
- 
-- #define PA_FLOAT32_TO_LE(x) PA_FLOAT32_SWAP(x)
-- #define PA_FLOAT32_TO_BE(x) ((float) (x))
--
-  #define PA_READ24NE(x) PA_READ24BE(x)
-  #define PA_WRITE24NE(x,y) PA_WRITE24BE((x),(y))
- 
-@@ -148,9 +152,6 @@ static inline float PA_FLOAT32_SWAP(floa
-  #define PA_UINT32_TO_LE(x) ((uint32_t)(x))
-  #define PA_UINT32_TO_BE(x) PA_UINT32_SWAP(x)
- 
-- #define PA_FLOAT32_TO_LE(x) ((float) (x))
-- #define PA_FLOAT32_TO_BE(x) PA_FLOAT32_SWAP(x)
--
-  #define PA_READ24NE(x) PA_READ24LE(x)
-  #define PA_WRITE24NE(x,y) PA_WRITE24LE((x),(y))
- 
---- a/src/pulsecore/mix.c
-+++ b/src/pulsecore/mix.c
-@@ -576,17 +576,14 @@ static void pa_mix_float32re_c(pa_mix_in
- 
-         for (i = 0; i < nstreams; i++) {
-             pa_mix_info *m = streams + i;
--            float v, cv = m->linear[channel].f;
-+            float cv = m->linear[channel].f;
- 
--            if (PA_LIKELY(cv > 0)) {
--                v = PA_FLOAT32_SWAP(*(float*) m->ptr);
--                v *= cv;
--                sum += v;
--            }
-+            if (PA_LIKELY(cv > 0))
-+                sum += PA_READ_FLOAT32RE(m->ptr) * cv;
-             m->ptr = (uint8_t*) m->ptr + sizeof(float);
-         }
- 
--        *data = PA_FLOAT32_SWAP(sum);
-+        PA_WRITE_FLOAT32RE(data, sum);
- 
-         if (PA_UNLIKELY(++channel >= channels))
-             channel = 0;
---- a/src/pulsecore/sample-util.c
-+++ b/src/pulsecore/sample-util.c
-@@ -296,9 +296,9 @@ void pa_sample_clamp(pa_sample_format_t
-         for (; n > 0; n--) {
-             float f;
- 
--            f = PA_FLOAT32_SWAP(*s);
-+            f = PA_READ_FLOAT32RE(s);
-             f = PA_CLAMP_UNLIKELY(f, -1.0f, 1.0f);
--            *d = PA_FLOAT32_SWAP(f);
-+            PA_WRITE_FLOAT32RE(d, f);
- 
-             s = (const float*) ((const uint8_t*) s + sstr);
-             d = (float*) ((uint8_t*) d + dstr);
---- a/src/pulsecore/sconv-s16le.c
-+++ b/src/pulsecore/sconv-s16le.c
-@@ -157,8 +157,7 @@ void pa_sconv_s16le_to_float32re(unsigne
-     for (; n > 0; n--) {
-         int16_t s = *(a++);
-         float k = INT16_FROM(s) * (1.0f / (1 << 15));
--        k = PA_FLOAT32_SWAP(k);
--        *(b++) = k;
-+        PA_WRITE_FLOAT32RE(b++, k);
-     }
- }
- 
-@@ -169,8 +168,7 @@ void pa_sconv_s32le_to_float32re(unsigne
-     for (; n > 0; n--) {
-         int32_t s = *(a++);
-         float k = INT32_FROM(s) * (1.0f / (1U << 31));
--        k = PA_FLOAT32_SWAP(k);
--        *(b++) = k;
-+        PA_WRITE_FLOAT32RE(b++, k);
-     }
- }
- 
-@@ -180,8 +178,7 @@ void pa_sconv_s16le_from_float32re(unsig
- 
-     for (; n > 0; n--) {
-         int16_t s;
--        float v = *(a++);
--        v = PA_FLOAT32_SWAP(v) * (1 << 15);
-+        float v = PA_READ_FLOAT32RE(a++) * (1 << 15);
-         s = (int16_t) PA_CLAMP_UNLIKELY(lrintf(v), -0x8000, 0x7FFF);
-         *(b++) = INT16_TO(s);
-     }
-@@ -193,8 +190,7 @@ void pa_sconv_s32le_from_float32re(unsig
- 
-     for (; n > 0; n--) {
-         int32_t s;
--        float v = *(a++);
--        v = PA_FLOAT32_SWAP(v) * (1U << 31);
-+        float v = PA_READ_FLOAT32RE(a++) * (1U << 31);
-         s = (int32_t) PA_CLAMP_UNLIKELY(llrintf(v), -0x80000000LL, 0x7FFFFFFFLL);
-         *(b++) = INT32_TO(s);
-     }
-@@ -325,7 +321,7 @@ void pa_sconv_s24le_to_float32re(unsigne
-     for (; n > 0; n--) {
-         int32_t s = READ24(a) << 8;
-         float k = s * (1.0f / (1U << 31));
--        *b = PA_FLOAT32_SWAP(k);
-+        PA_WRITE_FLOAT32RE(b, k);
-         a += 3;
-         b++;
-     }
-@@ -337,8 +333,7 @@ void pa_sconv_s24le_from_float32re(unsig
- 
-     for (; n > 0; n--) {
-         int32_t s;
--        float v = *a;
--        v = PA_FLOAT32_SWAP(v) * (1U << 31);
-+        float v = PA_READ_FLOAT32RE(a) * (1U << 31);
-         s = (int32_t) PA_CLAMP_UNLIKELY(llrint(v), -0x80000000LL, 0x7FFFFFFFLL);
-         WRITE24(b, ((uint32_t) s) >> 8);
-         a++;
-@@ -411,7 +406,7 @@ void pa_sconv_s24_32le_to_float32re(unsi
-     for (; n > 0; n--) {
-         int32_t s = (int32_t) (UINT32_FROM(*a) << 8);
-         float k = s * (1.0f / (1U << 31));
--        *b = PA_FLOAT32_SWAP(k);
-+        PA_WRITE_FLOAT32RE(b, k);
-         a++;
-         b++;
-     }
-@@ -437,8 +432,7 @@ void pa_sconv_s24_32le_from_float32re(un
- 
-     for (; n > 0; n--) {
-         int32_t s;
--        float v = *a;
--        v = PA_FLOAT32_SWAP(v) * (1U << 31);
-+        float v = PA_READ_FLOAT32RE(a) * (1U << 31);
-         s = (int32_t) PA_CLAMP_UNLIKELY(llrint(v), -0x80000000LL, 0x7FFFFFFFLL);
-         *b = UINT32_TO(((uint32_t) s) >> 8);
-         a++;
---- a/src/pulsecore/svolume_c.c
-+++ b/src/pulsecore/svolume_c.c
-@@ -125,9 +125,9 @@ static void pa_volume_float32re_c(float
-     for (channel = 0; length; length--) {
-         float t;
- 
--        t = PA_FLOAT32_SWAP(*samples);
-+        t = PA_READ_FLOAT32RE(samples);
-         t *= volumes[channel];
--        *samples++ = PA_FLOAT32_SWAP(t);
-+        PA_WRITE_FLOAT32RE(samples++, t);
- 
-         if (PA_UNLIKELY(++channel >= channels))
-             channel = 0;
---- a/src/tests/mix-test.c
-+++ b/src/tests/mix-test.c
-@@ -150,7 +150,7 @@ static void compare_block(const pa_sampl
-             float *u = d;
- 
-             for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                float uu = PA_MAYBE_FLOAT32_SWAP(ss->format != PA_SAMPLE_FLOAT32NE, *u);
-+                float uu = ss->format == PA_SAMPLE_FLOAT32NE ? *u : PA_READ_FLOAT32RE(u);
-                 fail_unless(fabsf(uu - *v) <= 1e-6f, NULL);
-                 ++u;
-                 ++v;
-@@ -264,7 +264,7 @@ static pa_memblock* generate_block(pa_me
-             if (ss->format == PA_SAMPLE_FLOAT32RE) {
-                 float *u = d;
-                 for (i = 0; i < 10; i++)
--                    u[i] = PA_FLOAT32_SWAP(float32ne_result[0][i]);
-+                    PA_WRITE_FLOAT32RE(&u[i], float32ne_result[0][i]);
-             } else
-                 memcpy(d, float32ne_result[0], sizeof(float32ne_result[0]));
- 
---- a/src/tests/resampler-test.c
-+++ b/src/tests/resampler-test.c
-@@ -98,7 +98,7 @@ static void dump_block(const char *label
-             float *u = d;
- 
-             for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                printf("%4.3g ", ss->format == PA_SAMPLE_FLOAT32NE ? *u : PA_FLOAT32_SWAP(*u));
-+                printf("%4.3g ", ss->format == PA_SAMPLE_FLOAT32NE ? *u : PA_READ_FLOAT32RE(u));
-                 u++;
-             }
- 
-@@ -222,7 +222,7 @@ static pa_memblock* generate_block(pa_me
- 
-             if (ss->format == PA_SAMPLE_FLOAT32RE)
-                 for (i = 0; i < 10; i++)
--                    u[i] = PA_FLOAT32_SWAP(u[i]);
-+                    PA_WRITE_FLOAT32RE(&u[i], u[i]);
- 
-             break;
-         }
diff --git a/debian/patches/endianmacros-Fix-PA_MAYBE_INT16_SWAP-macro.patch b/debian/patches/endianmacros-Fix-PA_MAYBE_INT16_SWAP-macro.patch
deleted file mode 100644
index d98f81a..0000000
--- a/debian/patches/endianmacros-Fix-PA_MAYBE_INT16_SWAP-macro.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From a39a3b3f7df3ece773bb74b8c6baa599272704e0 Mon Sep 17 00:00:00 2001
-From: Peter Meerwald <pmeerw at pmeerw.net>
-Date: Wed, 6 Aug 2014 11:47:34 +0200
-Subject: [PATCH 4/6] endianmacros: Fix PA_MAYBE_INT16_SWAP() macro
-
-PA_MAYBE_INT16_SWAP() should call PA_INT16_SWAP(), not PA_INT32_SWAP
-
-PA_MAYBE_INT16_SWAP() is not used (yet), so no big deal :)
-
-Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
----
- src/pulsecore/endianmacros.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/src/pulsecore/endianmacros.h
-+++ b/src/pulsecore/endianmacros.h
-@@ -82,8 +82,8 @@ static inline float PA_FLOAT32_SWAP(floa
-     return t.f;
- }
- 
--#define PA_MAYBE_INT16_SWAP(c,x) ((c) ? PA_INT32_SWAP(x) : (x))
--#define PA_MAYBE_UINT16_SWAP(c,x) ((c) ? PA_UINT32_SWAP(x) : (x))
-+#define PA_MAYBE_INT16_SWAP(c,x) ((c) ? PA_INT16_SWAP(x) : (x))
-+#define PA_MAYBE_UINT16_SWAP(c,x) ((c) ? PA_UINT16_SWAP(x) : (x))
- 
- #define PA_MAYBE_INT32_SWAP(c,x) ((c) ? PA_INT32_SWAP(x) : (x))
- #define PA_MAYBE_UINT32_SWAP(c,x) ((c) ? PA_UINT32_SWAP(x) : (x))
diff --git a/debian/patches/kfreebsd_no_lock_and_threads_synchro.patch b/debian/patches/kfreebsd_no_lock_and_threads_synchro.patch
deleted file mode 100644
index 3ad44dc..0000000
--- a/debian/patches/kfreebsd_no_lock_and_threads_synchro.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Description: Don't try to lock and synchronise threads on kFreeBSD.
-Bug-Debian: http://bugs.debian.org/705435
-Origin: http://svnweb.freebsd.org/ports/head/audio/pulseaudio/files/patch-src_daemon_main.c?revision=231972&view=markup&pathrev=231972
-Author: Joe Marcus Clarke <marcus at FreeBSD.org>
-Author: Steven Chamberlain <steven at pyro.eu.org>
-Last-Update: 2013-04-24
-Applied-Upstream: 6.0, commit:69fae3e33ad024be39fb3da0643314abf4e59980
-
---- a/src/daemon/main.c
-+++ b/src/daemon/main.c
-@@ -743,6 +743,10 @@
-          * first take the autospawn lock to make things
-          * synchronous. */
- 
-+        /* This locking and thread synchronisation code doesn't work reliably
-+         * on kFreeBSD (Debian bug #705435), or in upstream FreeBSD ports
-+         * (bug reference: ports/128947, patched in SVN r231972). */
-+#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
-         if ((autospawn_fd = pa_autospawn_lock_init()) < 0) {
-             pa_log("Failed to initialize autospawn lock");
-             goto finish;
-@@ -754,6 +758,7 @@
-         }
- 
-         autospawn_locked = true;
-+#endif
-     }
- 
-     if (conf->daemonize) {
diff --git a/debian/patches/misc-cleanups-and-bug-fixes.patch b/debian/patches/misc-cleanups-and-bug-fixes.patch
deleted file mode 100644
index 7a08a53..0000000
--- a/debian/patches/misc-cleanups-and-bug-fixes.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-Author: Peter Meerwald <pmeerw at pmeerw.net>
-Description: misc cleanups and bug fixes
- This is a collapse of a few small patches by Peter Meerwald.
- Changes are:
- put *.log and *.trs (which are created by running 'make check') into src/.gitignore
- fix format specifiers, avoid compilation warnings
- fix compilation warning when certain syscalls are not available (e.g. on kFreeBSD)
- add checks for the expected results in sigbus-test
- add SIGSEGV to the memtrap signal handler to make the sigbus-test work on kFreeBSD
---- a/src/.gitignore
-+++ b/src/.gitignore
-@@ -3,6 +3,8 @@ TAGS
- *.o
- *.la
- *.gcno
-+*.trs
-+*.log
- .deps
- .libs
- /Makefile
---- a/src/pulsecore/core-util.c
-+++ b/src/pulsecore/core-util.c
-@@ -3315,8 +3315,11 @@ int pa_open_cloexec(const char *fn, int
-         return fd;
- #endif
- 
--    if ((fd = open(fn, flags, mode)) < 0)
--        return fd;
-+    if ((fd = open(fn, flags, mode)) >= 0)
-+        goto finish;
-+
-+    /* return error */
-+    return fd;
- 
- finish:
-     /* Some implementations might simply ignore O_CLOEXEC if it is not
-@@ -3337,8 +3340,11 @@ int pa_socket_cloexec(int domain, int ty
-         return fd;
- #endif
- 
--    if ((fd = socket(domain, type, protocol)) < 0)
--        return fd;
-+    if ((fd = socket(domain, type, protocol)) >= 0)
-+        goto finish;
-+
-+    /* return error */
-+    return fd;
- 
- finish:
-     /* Some implementations might simply ignore SOCK_CLOEXEC if it is
-@@ -3360,8 +3366,11 @@ int pa_pipe_cloexec(int pipefd[2]) {
- 
- #endif
- 
--    if ((r = pipe(pipefd)) < 0)
--        return r;
-+    if ((r = pipe(pipefd)) >= 0)
-+        goto finish;
-+
-+    /* return error */
-+    return r;
- 
- finish:
-     pa_make_fd_cloexec(pipefd[0]);
-@@ -3382,8 +3391,11 @@ int pa_accept_cloexec(int sockfd, struct
- 
- #endif
- 
--    if ((fd = accept(sockfd, addr, addrlen)) < 0)
--        return fd;
-+    if ((fd = accept(sockfd, addr, addrlen)) >= 0)
-+        goto finish;
-+
-+    /* return error */
-+    return fd;
- 
- finish:
-     pa_make_fd_cloexec(fd);
---- a/src/pulsecore/memtrap.c
-+++ b/src/pulsecore/memtrap.c
-@@ -237,5 +237,8 @@ void pa_memtrap_install(void) {
-     sa.sa_flags = SA_RESTART|SA_SIGINFO;
- 
-     pa_assert_se(sigaction(SIGBUS, &sa, NULL) == 0);
-+#ifdef __FreeBSD_kernel__
-+    pa_assert_se(sigaction(SIGSEGV, &sa, NULL) == 0);
-+#endif
- #endif
- }
---- a/src/tests/mcalign-test.c
-+++ b/src/tests/mcalign-test.c
-@@ -74,7 +74,7 @@ int main(int argc, char *argv[]) {
- 
-         c.length = (size_t) r;
-         pa_mcalign_push(a, &c);
--        fprintf(stderr, "Read %ld bytes\n", (long)r);
-+        fprintf(stderr, "Read %zd bytes\n", r);
- 
-         c.index += (size_t) r;
- 
---- a/src/tests/sigbus-test.c
-+++ b/src/tests/sigbus-test.c
-@@ -54,6 +54,7 @@ START_TEST (sigbus_test) {
-     /* Verify memory map */
-     pa_log("Let's see if this worked: %s", (char*) p);
-     pa_log("And memtrap says it is good: %s", pa_yes_no(pa_memtrap_is_good(m)));
-+    fail_unless(pa_memtrap_is_good(m) == true);
- 
-     /* Invalidate mapping */
-     fail_unless(ftruncate(fd, 0) >= 0);
-@@ -64,6 +65,7 @@ START_TEST (sigbus_test) {
-     /* Verify memory map */
-     pa_log("Let's see if this worked: %s", (char*) p);
-     pa_log("And memtrap says it is good: %s", pa_yes_no(pa_memtrap_is_good(m)));
-+    fail_unless(pa_memtrap_is_good(m) == false);
- 
-     pa_memtrap_remove(m);
-     munmap(p, PA_PAGE_SIZE);
diff --git a/debian/patches/mix-Fix-mixing-of-S24-samples-stored-as-S32RE.patch b/debian/patches/mix-Fix-mixing-of-S24-samples-stored-as-S32RE.patch
deleted file mode 100644
index 1bd8bf7..0000000
--- a/debian/patches/mix-Fix-mixing-of-S24-samples-stored-as-S32RE.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 1499271f46c5b7289a61a4fa508cc412544842c4 Mon Sep 17 00:00:00 2001
-From: Peter Meerwald <pmeerw at pmeerw.net>
-Date: Mon, 4 Aug 2014 14:42:00 +0200
-Subject: [PATCH 1/6] mix: Fix mixing of S24 samples stored as S32RE
-
-pa_mix_s24_32re_c() should advance m->ptr by sizeof(int32_t)
-
-http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-July/020998.html
-
-Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
----
- src/pulsecore/mix.c  | 2 +-
- src/tests/mix-test.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
---- a/src/pulsecore/mix.c
-+++ b/src/pulsecore/mix.c
-@@ -445,7 +445,7 @@ static void pa_mix_s24_32re_c(pa_mix_inf
-                 v = (v * cv) >> 16;
-                 sum += v;
-             }
--            m->ptr = (uint8_t*) m->ptr + 3;
-+            m->ptr = (uint8_t*) m->ptr + sizeof(int32_t);
-         }
- 
-         sum = PA_CLAMP_UNLIKELY(sum, -0x80000000LL, 0x7FFFFFFFLL);
---- a/src/tests/mix-test.c
-+++ b/src/tests/mix-test.c
-@@ -126,7 +126,7 @@ static const uint32_t s24_32le_result[3]
- static const uint32_t s24_32be_result[3][10] = {
- { 0x00000001, 0xffff0002, 0x7fff0003, 0x80000004, 0x9fff0005, 0x3fff0006, 0x00010007, 0xf0000008, 0x00200009, 0x0021000a },
- { 0x00000000, 0x65e60000, 0xf1e50000, 0x73000000, 0x0ee60000, 0xb8e50000, 0xe6000000, 0xd7000000, 0xcc1c0000, 0xb31d0000 },
--{ 0x00000000, 0xe5010200, 0x00036400, 0x0470e500, 0xf3000000, 0xe5010500, 0x0006ad00, 0x07f7e400, 0xe6010000, 0x00000800 },
-+{ 0x00000000, 0x64e60100, 0x70e50100, 0xf3000000, 0xade50100, 0xf7e40100, 0xe6010000, 0xc7010000, 0xcc3c0000, 0xb33e0000 },
- };
- 
- static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, int iter) {
diff --git a/debian/patches/only-autostart-kde-version.patch b/debian/patches/only-autostart-kde-version.patch
deleted file mode 100644
index 5661431..0000000
--- a/debian/patches/only-autostart-kde-version.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Description: Sometimes starting 2 pulseaudio daemons breaks kde login, so don't start the generic one when the kde one will start
- This is fixed upstream post 5.0 by not shipping a kde-specific version
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705426
-Author: Török Edwin <edwin at etorok.net>
-Forwarded: not-needed
---- a/src/daemon/pulseaudio.desktop.in
-+++ b/src/daemon/pulseaudio.desktop.in
-@@ -8,3 +8,4 @@ Type=Application
- Categories=
- GenericName=
- X-GNOME-Autostart-Phase=Initialization
-+NotShowIn=KDE;
diff --git a/debian/patches/rtp-recv-fix-crash-on-empty-UDP-packets-CVE-2014-397.patch b/debian/patches/rtp-recv-fix-crash-on-empty-UDP-packets-CVE-2014-397.patch
deleted file mode 100644
index 073e663..0000000
--- a/debian/patches/rtp-recv-fix-crash-on-empty-UDP-packets-CVE-2014-397.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 26b9d22dd24c17eb118d0205bf7b02b75d435e3c Mon Sep 17 00:00:00 2001
-From: "Alexander E. Patrakov" <patrakov at gmail.com>
-Date: Thu, 5 Jun 2014 22:29:25 +0600
-Subject: [PATCH] rtp-recv: fix crash on empty UDP packets (CVE-2014-3970)
-
-On FIONREAD returning 0 bytes, we cannot return success, as the caller
-(rtpoll_work_cb in module-rtp-recv.c) would then try to
-pa_memblock_unref(chunk.memblock) and, because memblock is NULL, trigger
-an assertion.
-
-Also we have to read out the possible empty packet from the socket, so
-that the kernel doesn't tell us again and again about it.
-
-Signed-off-by: Alexander E. Patrakov <patrakov at gmail.com>
----
- src/modules/rtp/rtp.c | 25 +++++++++++++++++++++++--
- 1 file changed, 23 insertions(+), 2 deletions(-)
-
-diff --git a/src/modules/rtp/rtp.c b/src/modules/rtp/rtp.c
-index 570737e..7b75e0e 100644
---- a/src/modules/rtp/rtp.c
-+++ b/src/modules/rtp/rtp.c
-@@ -182,8 +182,29 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool, struct
-         goto fail;
-     }
- 
--    if (size <= 0)
--        return 0;
-+    if (size <= 0) {
-+        /* size can be 0 due to any of the following reasons:
-+         *
-+         * 1. Somebody sent us a perfectly valid zero-length UDP packet.
-+         * 2. Somebody sent us a UDP packet with a bad CRC.
-+         *
-+         * It is unknown whether size can actually be less than zero.
-+         *
-+         * In the first case, the packet has to be read out, otherwise the
-+         * kernel will tell us again and again about it, thus preventing
-+         * reception of any further packets. So let's just read it out
-+         * now and discard it later, when comparing the number of bytes
-+         * received (0) with the number of bytes wanted (1, see below).
-+         *
-+         * In the second case, recvmsg() will fail, thus allowing us to
-+         * return the error.
-+         *
-+         * Just to avoid passing zero-sized memchunks and NULL pointers to
-+         * recvmsg(), let's force allocation of at least one byte by setting
-+         * size to 1.
-+         */
-+        size = 1;
-+    }
- 
-     if (c->memchunk.length < (unsigned) size) {
-         size_t l;
--- 
-2.0.0
-
diff --git a/debian/patches/series b/debian/patches/series
index 97b3013..9dd5712 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,17 +1 @@
-0001-raop-Don-t-use-incompatible-default-sample-spec-para.patch
-0002-Use-the-fixed-point-speex-resampler-on-ARM.patch
-0003-exit-with-X-session.patch
-0004-dont-start-when-already-running.patch
-kfreebsd_no_lock_and_threads_synchro.patch
-only-autostart-kde-version.patch
-rtp-recv-fix-crash-on-empty-UDP-packets-CVE-2014-397.patch
-zsh-completion-Fix-completion-for-default-sink-sourc.patch
 gnu-kfreebsd.patch
-mix-Fix-mixing-of-S24-samples-stored-as-S32RE.patch
-tests-Cleanup-mix-test.patch
-endianmacros-Fix-PA_MAYBE_INT16_SWAP-macro.patch
-tests-Fix-mix-test-on-big-endian-systems.patch
-util-Fix-pa_get_binary_name-on-Debian-kFreeBSD.patch
-misc-cleanups-and-bug-fixes.patch
-util-Try-finding-out-application-name-using-dladdr.patch
-broken-PA_FLOAT32_SWAP.patch
diff --git a/debian/patches/tests-Cleanup-mix-test.patch b/debian/patches/tests-Cleanup-mix-test.patch
deleted file mode 100644
index e628723..0000000
--- a/debian/patches/tests-Cleanup-mix-test.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From e14863334b7e9267b3b3bbab08edf4a019411e89 Mon Sep 17 00:00:00 2001
-From: Peter Meerwald <pmeerw at pmeerw.net>
-Date: Wed, 6 Aug 2014 11:47:33 +0200
-Subject: [PATCH 3/6] tests: Cleanup mix-test
-
-indentation and use of fabsf() for floats
-
-Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
----
- src/tests/mix-test.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/src/tests/mix-test.c
-+++ b/src/tests/mix-test.c
-@@ -202,7 +202,7 @@ static void compare_block(const pa_sampl
- 
-             for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
-                 float uu = ss->format == PA_SAMPLE_FLOAT32NE ? *u : PA_FLOAT32_SWAP(*u);
--                fail_unless(fabs(uu - *v) <= 1e-6, NULL);
-+                fail_unless(fabsf(uu - *v) <= 1e-6f, NULL);
-                 ++u;
-                 ++v;
-             }
-@@ -215,7 +215,7 @@ static void compare_block(const pa_sampl
- 
-             for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
-                 float uu = ss->format == PA_SAMPLE_FLOAT32NE ? *u : PA_FLOAT32_SWAP(*u);
--                fail_unless(fabs(uu - *v) <= 1e-6, NULL);
-+                fail_unless(fabsf(uu - *v) <= 1e-6f, NULL);
-                 ++u;
-                 ++v;
-             }
-@@ -385,7 +385,7 @@ static pa_memblock* generate_block(pa_me
-                 for (i = 0; i < 10; i++)
-                     u[i] = PA_FLOAT32_SWAP(float_samples[i]);
-             } else
--              memcpy(d, float_samples, sizeof(float_samples));
-+                memcpy(d, float_samples, sizeof(float_samples));
- 
-             break;
-         }
diff --git a/debian/patches/tests-Fix-mix-test-on-big-endian-systems.patch b/debian/patches/tests-Fix-mix-test-on-big-endian-systems.patch
deleted file mode 100644
index 0aed324..0000000
--- a/debian/patches/tests-Fix-mix-test-on-big-endian-systems.patch
+++ /dev/null
@@ -1,364 +0,0 @@
-From eca6217129e835e1beabd13e7ca839ef0f89ddd0 Mon Sep 17 00:00:00 2001
-From: Peter Meerwald <pmeerw at pmeerw.net>
-Date: Wed, 6 Aug 2014 11:19:57 +0200
-Subject: [PATCH 5/6] tests: Fix mix-test on big-endian systems
-
-the mix test code never worked on big-endian systems
-
-patch saves a lot of duplicate test and uses more logical naming
-
-see
-http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-August/021035.html
-
-Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
-Reported-by: Felipe Sateler <fsateler at debian.org>
----
- src/tests/mix-test.c | 229 ++++++++++++---------------------------------------
- 1 file changed, 54 insertions(+), 175 deletions(-)
-
---- a/src/tests/mix-test.c
-+++ b/src/tests/mix-test.c
-@@ -56,79 +56,37 @@ static const uint8_t ulaw_result[3][10]
- { 0x00, 0xff, 0xff, 0x80, 0x91, 0x31, 0x00, 0xe9, 0x12, 0x13 },
- };
- 
--/* PA_SAMPLE_S16LE */
--static const uint16_t s16le_result[3][10] = {
-+static const uint16_t s16ne_result[3][10] = {
- { 0x0000, 0xffff, 0x7fff, 0x8000, 0x9fff, 0x3fff, 0x0001, 0xf000, 0x0020, 0x0021 },
- { 0x0000, 0xffff, 0x7332, 0x8ccd, 0xa998, 0x3998, 0x0000, 0xf199, 0x001c, 0x001d },
- { 0x0000, 0xfffe, 0x7fff, 0x8000, 0x8000, 0x7997, 0x0001, 0xe199, 0x003c, 0x003e },
- };
- 
--/* PA_SAMPLE_S16BE */
--static const uint16_t s16be_result[3][10] = {
--{ 0x0000, 0xffff, 0x7fff, 0x8000, 0x9fff, 0x3fff, 0x0001, 0xf000, 0x0020, 0x0021 },
--{ 0x0000, 0xffff, 0x8bff, 0x7300, 0xa8ff, 0x52ff, 0xe600, 0xd700, 0xcc1c, 0xb31d },
--{ 0x0000, 0xfeff, 0x0aff, 0xf300, 0x47ff, 0x91fe, 0xe601, 0xc701, 0xcc3c, 0xb33e },
--};
--
--/* PA_SAMPLE_FLOAT32LE */
--static const float float32le_result[3][10] = {
--{ 0.000000, -1.000000, 1.000000, 4711.000000, 0.222000, 0.330000, -0.300000, 99.000000, -0.555000, -0.123000 },
--{ 0.000000, -0.899987, 0.899987, 4239.837402, 0.199797, 0.296996, -0.269996, 89.098679, -0.499493, -0.110698 },
--{ 0.000000, -1.899987, 1.899987, 8950.837891, 0.421797, 0.626996, -0.569996, 188.098679, -1.054493, -0.233698 },
--};
--
--/* PA_SAMPLE_FLOAT32BE */
--static const float float32be_result[3][10] = {
-+static const float float32ne_result[3][10] = {
- { 0.000000, -1.000000, 1.000000, 4711.000000, 0.222000, 0.330000, -0.300000, 99.000000, -0.555000, -0.123000 },
- { 0.000000, -0.899987, 0.899987, 4239.837402, 0.199797, 0.296996, -0.269996, 89.098679, -0.499493, -0.110698 },
- { 0.000000, -1.899987, 1.899987, 8950.837891, 0.421797, 0.626996, -0.569996, 188.098679, -1.054493, -0.233698 },
- };
- 
--/* PA_SAMPLE_S32LE */
--static const uint32_t s32le_result[3][10] = {
-+static const uint32_t s32ne_result[3][10] = {
- { 0x00000001, 0xffff0002, 0x7fff0003, 0x80000004, 0x9fff0005, 0x3fff0006, 0x00010007, 0xf0000008, 0x00200009, 0x0021000a },
- { 0x00000000, 0xffff199b, 0x7332199c, 0x8ccd0003, 0xa998d99e, 0x3998999f, 0x0000e66c, 0xf199a007, 0x001cccc8, 0x001db32e },
- { 0x00000001, 0xfffe199d, 0x7fffffff, 0x80000000, 0x80000000, 0x799799a5, 0x0001e673, 0xe199a00f, 0x003cccd1, 0x003eb338 },
- };
- 
--/* PA_SAMPLE_S32BE */
--static const uint32_t s32be_result[3][10] = {
--{ 0x00000001, 0xffff0002, 0x7fff0003, 0x80000004, 0x9fff0005, 0x3fff0006, 0x00010007, 0xf0000008, 0x00200009, 0x0021000a },
--{ 0x0066e600, 0x65b2cd01, 0xf117b402, 0x73989903, 0x0ee48004, 0xb8496705, 0xe6ca4c06, 0xd7303307, 0xccb21908, 0xb3190009 },
--{ 0x0066e601, 0x64b2ce03, 0x7017b505, 0xf3989907, 0xade38109, 0xf748680b, 0xe6cb4c0d, 0xc731330f, 0xccd21911, 0xb33a0013 },
--};
--
--/* PA_SAMPLE_S24LE */
--static const uint8_t s24le_result[3][30] = {
--{ 0x00, 0x00, 0x01, 0xff, 0xff, 0x02, 0x7f, 0xff, 0x03, 0x80, 0x00, 0x04, 0x9f, 0xff, 0x05, 0x3f, 0xff, 0x06, 0x01, 0x00, 0x07, 0xf0, 0x00, 0x08, 0x20, 0x00, 0x09, 0x21, 0x00, 0x0a },
--{ 0x66, 0xe6, 0x00, 0x31, 0xb3, 0x02, 0x23, 0x99, 0x03, 0x0b, 0x9a, 0x03, 0x0c, 0x66, 0x05, 0x1c, 0x4c, 0x06, 0xca, 0x4c, 0x06, 0x07, 0x34, 0x07, 0xb2, 0x19, 0x08, 0x19, 0x00, 0x09 },
--{ 0x66, 0xe6, 0x01, 0x30, 0xb3, 0x05, 0xa2, 0x98, 0x07, 0x8b, 0x9a, 0x07, 0xab, 0x65, 0x0b, 0x5b, 0x4b, 0x0d, 0xcb, 0x4c, 0x0d, 0xf7, 0x34, 0x0f, 0xd2, 0x19, 0x11, 0x3a, 0x00, 0x13 },
--};
--
--/* PA_SAMPLE_S24BE */
-+/* attention: result is in BE, not NE! */
- static const uint8_t s24be_result[3][30] = {
--{ 0x00, 0x00, 0x01, 0xff, 0xff, 0x02, 0x7f, 0xff, 0x03, 0x80, 0x00, 0x04, 0x9f, 0xff, 0x05, 0x3f, 0xff, 0x06, 0x01, 0x00, 0x07,
--    0xf0, 0x00, 0x08, 0x20, 0x00, 0x09, 0x21, 0x00, 0x0a },
--{ 0x00, 0x00, 0x00, 0xff, 0xff, 0x1b, 0x73, 0x32, 0x1c, 0x8c, 0xcd, 0x03, 0xa9, 0x98, 0xde, 0x39, 0x98, 0x9f, 0x00, 0xe6, 0x6c,
--    0xf1, 0x99, 0xa7, 0x1c, 0xcc, 0xc8, 0x1d, 0xb3, 0x2e },
--{ 0x00, 0x00, 0x01, 0xff, 0xfe, 0x1d, 0x7f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x79, 0x97, 0xa5, 0x01, 0xe6, 0x73,
--    0xe1, 0x99, 0xaf, 0x3c, 0xcc, 0xd1, 0x3e, 0xb3, 0x38 },
-+{ 0x00, 0x00, 0x01, 0xff, 0xff, 0x02, 0x7f, 0xff, 0x03, 0x80, 0x00, 0x04, 0x9f, 0xff, 0x05, 0x3f, 0xff, 0x06, 0x01, 0x00, 0x07, 0xf0, 0x00, 0x08, 0x20, 0x00, 0x09, 0x21, 0x00, 0x0a },
-+{ 0x00, 0x00, 0x00, 0xff, 0xff, 0x1b, 0x73, 0x32, 0x1c, 0x8c, 0xcd, 0x03, 0xa9, 0x98, 0xde, 0x39, 0x98, 0x9f, 0x00, 0xe6, 0x6c, 0xf1, 0x99, 0xa7, 0x1c, 0xcc, 0xc8, 0x1d, 0xb3, 0x2e },
-+{ 0x00, 0x00, 0x01, 0xff, 0xfe, 0x1d, 0x7f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x79, 0x97, 0xa5, 0x01, 0xe6, 0x73, 0xe1, 0x99, 0xaf, 0x3c, 0xcc, 0xd1, 0x3e, 0xb3, 0x38 },
- };
- 
--/* PA_SAMPLE_S24_32LE */
--static const uint32_t s24_32le_result[3][10] = {
-+static const uint32_t s24_32ne_result[3][10] = {
- { 0x00000001, 0xffff0002, 0x7fff0003, 0x80000004, 0x9fff0005, 0x3fff0006, 0x00010007, 0xf0000008, 0x00200009, 0x0021000a },
- { 0x00000000, 0x00ff199b, 0x00ff199c, 0x00000003, 0x00ff199e, 0x00ff199f, 0x0000e66c, 0x00000007, 0x001cccc8, 0x001db32e },
- { 0x00000001, 0x00fe199d, 0x00fe199f, 0x00000007, 0x00fe19a3, 0x00fe19a5, 0x0001e673, 0x0000000f, 0x003cccd1, 0x003eb338 },
- };
- 
--/* PA_SAMPLE_S24_32BE */
--static const uint32_t s24_32be_result[3][10] = {
--{ 0x00000001, 0xffff0002, 0x7fff0003, 0x80000004, 0x9fff0005, 0x3fff0006, 0x00010007, 0xf0000008, 0x00200009, 0x0021000a },
--{ 0x00000000, 0x65e60000, 0xf1e50000, 0x73000000, 0x0ee60000, 0xb8e50000, 0xe6000000, 0xd7000000, 0xcc1c0000, 0xb31d0000 },
--{ 0x00000000, 0x64e60100, 0x70e50100, 0xf3000000, 0xade50100, 0xf7e40100, 0xe6010000, 0xc7010000, 0xcc3c0000, 0xb33e0000 },
--};
--
- static void compare_block(const pa_sample_spec *ss, const pa_memchunk *chunk, int iter) {
-     void *d;
-     unsigned i;
-@@ -172,49 +130,27 @@ static void compare_block(const pa_sampl
-             break;
-         }
- 
--        case PA_SAMPLE_S16LE: {
--            const uint16_t *v = s16le_result[iter];
--            uint16_t *u = d;
--
--            for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                fail_unless(*u == *v, NULL);
--                ++u;
--                ++v;
--            }
--            break;
--        }
--
--        case PA_SAMPLE_S16BE: {
--            const uint16_t *v = s16be_result[iter];
-+        case PA_SAMPLE_S16NE:
-+        case PA_SAMPLE_S16RE: {
-+            const uint16_t *v = s16ne_result[iter];
-             uint16_t *u = d;
- 
-             for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                fail_unless(*u == *v, NULL);
--                ++u;
--                ++v;
--            }
--            break;
--        }
--
--        case PA_SAMPLE_FLOAT32LE: {
--            const float *v = float32le_result[iter];
--            float *u = d;
--
--            for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                float uu = ss->format == PA_SAMPLE_FLOAT32NE ? *u : PA_FLOAT32_SWAP(*u);
--                fail_unless(fabsf(uu - *v) <= 1e-6f, NULL);
-+                uint16_t uu = PA_MAYBE_UINT16_SWAP(ss->format != PA_SAMPLE_S16NE, *u);
-+                fail_unless(uu == *v, NULL);
-                 ++u;
-                 ++v;
-             }
-             break;
-         }
- 
--        case PA_SAMPLE_FLOAT32BE: {
--            const float *v = float32be_result[iter];
-+        case PA_SAMPLE_FLOAT32NE:
-+        case PA_SAMPLE_FLOAT32RE: {
-+            const float *v = float32ne_result[iter];
-             float *u = d;
- 
-             for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                float uu = ss->format == PA_SAMPLE_FLOAT32NE ? *u : PA_FLOAT32_SWAP(*u);
-+                float uu = PA_MAYBE_FLOAT32_SWAP(ss->format != PA_SAMPLE_FLOAT32NE, *u);
-                 fail_unless(fabsf(uu - *v) <= 1e-6f, NULL);
-                 ++u;
-                 ++v;
-@@ -222,77 +158,42 @@ static void compare_block(const pa_sampl
-             break;
-         }
- 
--        case PA_SAMPLE_S32LE: {
--            const uint32_t *v = s32le_result[iter];
--            uint32_t *u = d;
--
--            for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                fail_unless(*u == *v, NULL);
--                ++u;
--                ++v;
--            }
--            break;
--        }
--
--        case PA_SAMPLE_S32BE: {
--            const uint32_t *v = s32be_result[iter];
--            uint32_t *u = d;
--
--            for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                fail_unless(*u == *v, NULL);
--                ++u;
--                ++v;
--            }
--            break;
--        }
--
--        case PA_SAMPLE_S24_32LE: {
--            const uint32_t *v = s24_32le_result[iter];
-+        case PA_SAMPLE_S32NE:
-+        case PA_SAMPLE_S32RE: {
-+            const uint32_t *v = s32ne_result[iter];
-             uint32_t *u = d;
- 
-             for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                fail_unless(*u == *v, NULL);
-+                uint32_t uu = PA_MAYBE_UINT32_SWAP(ss->format != PA_SAMPLE_S32NE, *u);
-+                fail_unless(uu == *v, NULL);
-                 ++u;
-                 ++v;
-             }
-             break;
-         }
- 
--        case PA_SAMPLE_S24_32BE: {
--            const uint32_t *v = s24_32be_result[iter];
-+        case PA_SAMPLE_S24_32NE:
-+        case PA_SAMPLE_S24_32RE: {
-+            const uint32_t *v = s24_32ne_result[iter];
-             uint32_t *u = d;
- 
-             for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                fail_unless(*u == *v, NULL);
-+                uint32_t uu = PA_MAYBE_UINT32_SWAP(ss->format != PA_SAMPLE_S24_32NE, *u);
-+                fail_unless(uu == *v, NULL);
-                 ++u;
-                 ++v;
-             }
-             break;
-         }
- 
--        case PA_SAMPLE_S24LE: {
--            const uint8_t *v = s24le_result[iter];
--            uint8_t *u = d;
--
--            for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                fail_unless(*u == *v, NULL);
--                fail_unless(*(u+1) == *(v+1), NULL);
--                fail_unless(*(u+2) == *(v+2), NULL);
--
--                u += 3;
--                v += 3;
--            }
--            break;
--        }
--
--        case PA_SAMPLE_S24BE: {
-+        case PA_SAMPLE_S24NE:
-+        case PA_SAMPLE_S24RE: {
-             const uint8_t *v = s24be_result[iter];
-             uint8_t *u = d;
- 
-             for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
--                fail_unless(*u == *v, NULL);
--                fail_unless(*(u+1) == *(v+1), NULL);
--                fail_unless(*(u+2) == *(v+2), NULL);
-+                uint32_t uu = ss->format == PA_SAMPLE_S24LE ? PA_READ24LE(u) : PA_READ24BE(u);
-+                fail_unless(uu == PA_READ24BE(v), NULL);
- 
-                 u += 3;
-                 v += 3;
-@@ -320,23 +221,18 @@ static pa_memblock* generate_block(pa_me
-         case PA_SAMPLE_U8:
-         case PA_SAMPLE_ULAW:
-         case PA_SAMPLE_ALAW: {
--            static const uint8_t u8_samples[] = {
--                0x00, 0xFF, 0x7F, 0x80, 0x9f,
--                0x3f, 0x01, 0xF0, 0x20, 0x21
--            };
--
--            memcpy(d, u8_samples, sizeof(u8_samples));
-+            memcpy(d, u8_result[0], sizeof(u8_result[0]));
-             break;
-         }
- 
-         case PA_SAMPLE_S16NE:
-         case PA_SAMPLE_S16RE: {
--            static const uint16_t u16_samples[] = {
--                0x0000, 0xFFFF, 0x7FFF, 0x8000, 0x9fff,
--                0x3fff, 0x0001, 0xF000, 0x0020, 0x0021
--            };
--
--            memcpy(d, u16_samples, sizeof(u16_samples));
-+            if (ss->format == PA_SAMPLE_S16RE) {
-+                uint16_t *u = d;
-+                for (i = 0; i < 10; i++)
-+                    u[i] = PA_UINT16_SWAP(s16ne_result[0][i]);
-+            } else
-+                memcpy(d, s16ne_result[0], sizeof(s16ne_result[0]));
-             break;
-         }
- 
-@@ -344,48 +240,33 @@ static pa_memblock* generate_block(pa_me
-         case PA_SAMPLE_S24_32RE:
-         case PA_SAMPLE_S32NE:
-         case PA_SAMPLE_S32RE: {
--            static const uint32_t u32_samples[] = {
--                0x00000001, 0xFFFF0002, 0x7FFF0003, 0x80000004, 0x9fff0005,
--                0x3fff0006, 0x00010007, 0xF0000008, 0x00200009, 0x0021000A
--            };
--
--            memcpy(d, u32_samples, sizeof(u32_samples));
-+            if (ss->format == PA_SAMPLE_S24_32RE || ss->format == PA_SAMPLE_S32RE) {
-+                uint32_t *u = d;
-+                for (i = 0; i < 10; i++)
-+                    u[i] = PA_UINT32_SWAP(s32ne_result[0][i]);
-+            } else
-+                memcpy(d, s32ne_result[0], sizeof(s32ne_result[0]));
-             break;
-         }
- 
-         case PA_SAMPLE_S24NE:
--        case PA_SAMPLE_S24RE: {
--            /* Need to be on a byte array because they are not aligned */
--            static const uint8_t u24_samples[] = {
--                0x00, 0x00, 0x01,
--                0xFF, 0xFF, 0x02,
--                0x7F, 0xFF, 0x03,
--                0x80, 0x00, 0x04,
--                0x9f, 0xff, 0x05,
--                0x3f, 0xff, 0x06,
--                0x01, 0x00, 0x07,
--                0xF0, 0x00, 0x08,
--                0x20, 0x00, 0x09,
--                0x21, 0x00, 0x0A
--            };
--
--            memcpy(d, u24_samples, sizeof(u24_samples));
-+        case PA_SAMPLE_S24RE:
-+            if (ss->format == PA_SAMPLE_S24LE) {
-+                uint8_t *u = d;
-+                for (i = 0; i < 30; i += 3)
-+                    PA_WRITE24LE(&u[i], PA_READ24BE(&s24be_result[0][i]));
-+            } else
-+                memcpy(d, s24be_result[0], sizeof(s24be_result[0]));
-             break;
--        }
- 
-         case PA_SAMPLE_FLOAT32NE:
-         case PA_SAMPLE_FLOAT32RE: {
--            float *u = d;
--            static const float float_samples[] = {
--                0.0f, -1.0f, 1.0f, 4711.0f, 0.222f,
--                0.33f, -.3f, 99.0f, -0.555f, -.123f
--            };
--
-             if (ss->format == PA_SAMPLE_FLOAT32RE) {
-+                float *u = d;
-                 for (i = 0; i < 10; i++)
--                    u[i] = PA_FLOAT32_SWAP(float_samples[i]);
-+                    u[i] = PA_FLOAT32_SWAP(float32ne_result[0][i]);
-             } else
--                memcpy(d, float_samples, sizeof(float_samples));
-+                memcpy(d, float32ne_result[0], sizeof(float32ne_result[0]));
- 
-             break;
-         }
-@@ -427,8 +308,6 @@ START_TEST (mix_test) {
-         i.length = pa_memblock_get_length(i.memblock);
-         i.index = 0;
- 
--        compare_block(&a, &i, 0);
--
-         /* Make a copy */
-         j = i;
-         pa_memblock_ref(j.memblock);
diff --git a/debian/patches/util-Fix-pa_get_binary_name-on-Debian-kFreeBSD.patch b/debian/patches/util-Fix-pa_get_binary_name-on-Debian-kFreeBSD.patch
deleted file mode 100644
index 7152d4e..0000000
--- a/debian/patches/util-Fix-pa_get_binary_name-on-Debian-kFreeBSD.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 8a4a4f408c3e71a67b2134c21b971ce54a571fd1 Mon Sep 17 00:00:00 2001
-From: Peter Meerwald <pmeerw at pmeerw.net>
-Date: Mon, 4 Aug 2014 14:45:23 +0200
-Subject: [PATCH 6/6] util: Fix pa_get_binary_name() on Debian/kFreeBSD
-
-Debian GNU/kFreeBSD uses a FreeBSD kernel and GLIBC,
-it #defines __FreeBSD_kernel__, but not __FreeBSD__ nor __linux__
-Debian GNU/kFreeBSD does have a /proc/self/exe
-
-FreeBSD #defines __FreeBSD__ and __FreeBSD_kernel__
-
-problem reporte here:
-http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-July/020998.html
-
-http://stackoverflow.com/questions/1023306/finding-current-executables-path-without-proc-self-exe and
-http://stackoverflow.com/questions/933850/how-to-find-the-location-of-the-executable-in-c have some
-background info
-
-Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
----
- src/pulse/util.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/src/pulse/util.c
-+++ b/src/pulse/util.c
-@@ -181,10 +181,10 @@ char *pa_get_binary_name(char *s, size_t
-     }
- #endif
- 
--#ifdef __linux__
-+#if defined(__linux__) || defined(__FreeBSD_kernel__)
-     {
-         char *rp;
--        /* This works on Linux only */
-+        /* This works on Linux and Debian/kFreeBSD */
- 
-         if ((rp = pa_readlink("/proc/self/exe"))) {
-             pa_strlcpy(s, pa_path_get_filename(rp), l);
diff --git a/debian/patches/util-Try-finding-out-application-name-using-dladdr.patch b/debian/patches/util-Try-finding-out-application-name-using-dladdr.patch
deleted file mode 100644
index 139239d..0000000
--- a/debian/patches/util-Try-finding-out-application-name-using-dladdr.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-commit 704c96985be104396b86f6b2c0a96827b9d90501
-Author: Felipe Sateler <fsateler at debian.org>
-Date:   Thu Aug 14 00:43:00 2014 -0400
-
-    util: Try finding out application name using dladdr if available
-    
-    This fixes getting the binary name in the Hurd, or any other port using
-    the GNU C library, but only in the case where the library is directly
-    linked to. Opening with dlopen will not work.
-    
-    Change since last version: use a weak reference to main, so that we
-    don't crash when main cannot be found.
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -574,6 +574,8 @@ AC_SYS_LARGEFILE
- # Check for open64 to know if the current system does have open64() and similar functions
- AC_CHECK_FUNCS_ONCE([open64])
- 
-+AC_SEARCH_LIBS([dladdr], [dl], [HAVE_DLADDR=1], [HAVE_DLADDR=0])
-+AC_DEFINE(HAVE_DLADDR, [1], [Have dladdr?])
- 
- ###################################
- #      External libraries         #
---- a/src/pulse/util.c
-+++ b/src/pulse/util.c
-@@ -24,6 +24,10 @@
- #include <config.h>
- #endif
- 
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE 1
-+#endif
-+
- #include <errno.h>
- #include <limits.h>
- #include <stdio.h>
-@@ -32,6 +36,7 @@
- #include <time.h>
- #include <unistd.h>
- #include <sys/types.h>
-+#include <dlfcn.h>
- 
- #ifdef HAVE_PWD_H
- #include <pwd.h>
-@@ -64,6 +69,10 @@
- 
- #include "util.h"
- 
-+#if defined(HAVE_DLADDR) && defined(PA_GCC_WEAKREF)
-+static int _main() PA_GCC_WEAKREF(main);
-+#endif
-+
- char *pa_get_user_name(char *s, size_t l) {
-     const char *p;
-     char *name = NULL;
-@@ -205,6 +214,21 @@ char *pa_get_binary_name(char *s, size_t
-         }
-     }
- #endif
-+
-+#if defined(HAVE_DLADDR) && defined(PA_GCC_WEAKREF)
-+    {
-+        Dl_info info;
-+        if(_main) {
-+            int err = dladdr(&_main, &info);
-+            if (err != 0) {
-+                char *p = pa_realpath(info.dli_fname);
-+                if (p) {
-+                    return p;
-+                }
-+            }
-+        }
-+    }
-+#endif
- 
- #if defined(HAVE_SYS_PRCTL_H) && defined(PR_GET_NAME)
-     {
diff --git a/debian/patches/zsh-completion-Fix-completion-for-default-sink-sourc.patch b/debian/patches/zsh-completion-Fix-completion-for-default-sink-sourc.patch
deleted file mode 100644
index f7bea83..0000000
--- a/debian/patches/zsh-completion-Fix-completion-for-default-sink-sourc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 3be8382fcdfdebeb3bf154631e94b3ccd5ca4576 Mon Sep 17 00:00:00 2001
-From: Felipe Sateler <fsateler at debian.org>
-Date: Wed, 2 Jul 2014 11:32:38 -0400
-Subject: [PATCH] zsh-completion: Fix completion for default sink/source
-
----
- shell-completion/pulseaudio-zsh-completion.zsh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/shell-completion/pulseaudio-zsh-completion.zsh
-+++ b/shell-completion/pulseaudio-zsh-completion.zsh
-@@ -274,8 +274,8 @@ _pactl_completion() {
-             'suspend-sink: suspend or resume a sink'
-             'suspend-source: suspend or resume a source'
-             'set-card-profile: set a card profile:cards:_cards'
--            'set-sink-default: set the default sink'
--            'set-source-default: set the default source'
-+            'set-default-sink: set the default sink'
-+            'set-default-source: set the default source'
-             'set-sink-port: set the sink port of a sink'
-             'set-source-port: set the source port of a source'
-             'set-port-latency-offset: set a latency offset on a port'

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-pulseaudio/pulseaudio.git



More information about the pkg-pulseaudio-devel mailing list