pulseaudio: upgrade to 6.0
Changes: - BlueZ 5 native HSP (headset) support; - BlueZ 5 HFP (hands-free) profile support via oFono; - systemd socket activation support; - Better support for multichannel and 2.1 profiles; - Remap optimisations; - Many minor improvements, bug fixes, and i18n updates. - Switched to ${BP} variable. - Patch 0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch removed, no longer necessary. - Patch CVE-2014-3970.patch included upstrem, removed. - Slightly changed copyright notice, only a clarification. libsamplerate based resamplers are now deprecated, because they offer no particular advantage over speex. Dependency to libsamplerate0 dropped. [ RB: disable systemd until systemd.bbclass can handle user units ] (From OE-Core rev: c4de42aadd4c8a4a8f16c25e7dcdefef79daf030) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
1726063387
commit
3c2f5fd0c7
|
@ -5,14 +5,14 @@ SECTION = "libs/multimedia"
|
|||
LICENSE = "GPLv2+ & LGPLv2.1"
|
||||
LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \
|
||||
file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
|
||||
file://src/pulsecore/resampler.h;beginline=4;endline=23;md5=c3d539b93f8c82a1780bfa3cfa544a95"
|
||||
file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84"
|
||||
|
||||
DEPENDS = "libatomics-ops liboil libsamplerate0 libsndfile1 libtool"
|
||||
DEPENDS = "libatomics-ops liboil libsndfile1 libtool"
|
||||
# optional
|
||||
DEPENDS += "udev alsa-lib glib-2.0 dbus gconf"
|
||||
DEPENDS += "json-c gdbm speex libxml-parser-perl-native libcap"
|
||||
|
||||
inherit autotools pkgconfig useradd gettext perlnative bluetooth
|
||||
inherit autotools pkgconfig useradd gettext perlnative bluetooth systemd
|
||||
|
||||
# *.desktop rules wont be generated during configure and build will fail
|
||||
# if using --disable-nls
|
||||
|
@ -27,18 +27,20 @@ EXTRA_OECONF = "\
|
|||
--disable-xen \
|
||||
--with-database=simple \
|
||||
--without-fftw \
|
||||
--without-zsh-completion-dir \
|
||||
--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \
|
||||
ac_cv_header_valgrind_memcheck_h=no \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)}"
|
||||
PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc"
|
||||
PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc"
|
||||
PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono"
|
||||
PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3"
|
||||
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
|
||||
PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal,--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd"
|
||||
PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb"
|
||||
PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
|
||||
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
|
||||
|
@ -93,6 +95,10 @@ FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}
|
|||
FILES_${PN}-conf = "${sysconfdir}"
|
||||
FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse"
|
||||
FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules"
|
||||
|
||||
#SYSTEMD_PACKAGES = "${PN}-server"
|
||||
SYSTEMD_SERVICE_${PN}-server = "pulseaudio.service"
|
||||
|
||||
FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so"
|
||||
|
||||
# Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it)
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
From 002b16f0f2176b4c685e210e335bf69c02563ede Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Sat, 22 Feb 2014 18:03:10 +0100
|
||||
Subject: [PATCH] configure.ac: Check only for libsystemd not libsystemd-login
|
||||
|
||||
* they were merged into libsystemd in systemd-209
|
||||
|
||||
Upstream-Status: Pending (it would need to be conditional on systemd version for upstream to accept this)
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 388fae2..fff7a83 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1160,7 +1160,7 @@ AC_ARG_ENABLE([systemd],
|
||||
AS_HELP_STRING([--disable-systemd],[Disable optional systemd support]))
|
||||
|
||||
AS_IF([test "x$enable_systemd" != "xno"],
|
||||
- [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd-login ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
|
||||
+ [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
|
||||
HAVE_SYSTEMD=0)
|
||||
|
||||
AS_IF([test "x$enable_systemd" = "xyes" && test "x$HAVE_SYSTEMD" = "x0"],
|
||||
--
|
||||
1.8.5.3
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
Upstream-Status: Backport
|
||||
|
||||
commit 26b9d22dd24c17eb118d0205bf7b02b75d435e3c upstream
|
||||
|
||||
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@gmail.com>
|
||||
|
||||
diff --git a/src/modules/rtp/rtp.c b/src/modules/rtp/rtp.c
|
||||
index 9195493..c45981e 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;
|
|
@ -1,14 +0,0 @@
|
|||
require pulseaudio.inc
|
||||
|
||||
SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${PV}.tar.xz \
|
||||
file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \
|
||||
file://volatiles.04_pulse \
|
||||
file://CVE-2014-3970.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "c43749838612f4860465e83ed62ca38e"
|
||||
SRC_URI[sha256sum] = "99c13a8b1249ddbd724f195579df79484e9af6418cecf6a15f003a7f36caf939"
|
||||
|
||||
do_compile_prepend() {
|
||||
mkdir -p ${S}/libltdl
|
||||
cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
require pulseaudio.inc
|
||||
|
||||
SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
|
||||
file://volatiles.04_pulse \
|
||||
"
|
||||
SRC_URI[md5sum] = "b691e83b7434c678dffacfa3a027750e"
|
||||
SRC_URI[sha256sum] = "b50640e0b80b1607600accfad2e45aabb79d379bf6354c9671efa2065477f6f6"
|
||||
|
||||
do_compile_prepend() {
|
||||
mkdir -p ${S}/libltdl
|
||||
cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl
|
||||
}
|
Loading…
Reference in New Issue