mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
pulseaudio: update to pulseaudio-4.99.2
This commit is contained in:
parent
e7a264d913
commit
d141d03eef
@ -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
|
||||
|
@ -1,60 +0,0 @@
|
||||
From 908deb136c46c17e5c42fd3a2767746c767d10eb Mon Sep 17 00:00:00 2001
|
||||
From: David Henningsson <david.henningsson@canonical.com>
|
||||
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 <david.henningsson@canonical.com>
|
||||
---
|
||||
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);
|
@ -1,33 +0,0 @@
|
||||
From 0e9baa429ea2620dbb11f4b3a26eaa46620a9124 Mon Sep 17 00:00:00 2001
|
||||
From: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
|
||||
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
|
||||
|
@ -1,36 +0,0 @@
|
||||
From 1470fc325a0f583813e625b2cfb53fb3907ccd72 Mon Sep 17 00:00:00 2001
|
||||
From: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
|
||||
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
|
||||
|
@ -1,55 +0,0 @@
|
||||
From dcb52b0844c21c7fe591ef1cfacafbda1df770f0 Mon Sep 17 00:00:00 2001
|
||||
From: David Henningsson <david.henningsson@canonical.com>
|
||||
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 <david.henningsson@canonical.com>
|
||||
---
|
||||
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
|
||||
|
@ -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;
|
Loading…
x
Reference in New Issue
Block a user