diff options
author | Cristian Iorga <cristian.iorga@intel.com> | 2015-02-17 17:10:18 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-02-23 08:08:14 +0000 |
commit | 3c2f5fd0c7894b3c0da494ffdd87bd13bf33c3e7 (patch) | |
tree | 97cdb13fa328c77382306c66240adab43e482d62 /meta/recipes-multimedia | |
parent | 172606338757d0b788e3382bf413102647307e1d (diff) | |
download | poky-3c2f5fd0c7894b3c0da494ffdd87bd13bf33c3e7.tar.gz |
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>
Diffstat (limited to 'meta/recipes-multimedia')
5 files changed, 24 insertions, 102 deletions
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index b73576e38c..3569752974 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc | |||
@@ -5,14 +5,14 @@ SECTION = "libs/multimedia" | |||
5 | LICENSE = "GPLv2+ & LGPLv2.1" | 5 | LICENSE = "GPLv2+ & LGPLv2.1" |
6 | LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \ | 6 | LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \ |
7 | file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ | 7 | file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ |
8 | file://src/pulsecore/resampler.h;beginline=4;endline=23;md5=c3d539b93f8c82a1780bfa3cfa544a95" | 8 | file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84" |
9 | 9 | ||
10 | DEPENDS = "libatomics-ops liboil libsamplerate0 libsndfile1 libtool" | 10 | DEPENDS = "libatomics-ops liboil libsndfile1 libtool" |
11 | # optional | 11 | # optional |
12 | DEPENDS += "udev alsa-lib glib-2.0 dbus gconf" | 12 | DEPENDS += "udev alsa-lib glib-2.0 dbus gconf" |
13 | DEPENDS += "json-c gdbm speex libxml-parser-perl-native libcap" | 13 | DEPENDS += "json-c gdbm speex libxml-parser-perl-native libcap" |
14 | 14 | ||
15 | inherit autotools pkgconfig useradd gettext perlnative bluetooth | 15 | inherit autotools pkgconfig useradd gettext perlnative bluetooth systemd |
16 | 16 | ||
17 | # *.desktop rules wont be generated during configure and build will fail | 17 | # *.desktop rules wont be generated during configure and build will fail |
18 | # if using --disable-nls | 18 | # if using --disable-nls |
@@ -27,18 +27,20 @@ EXTRA_OECONF = "\ | |||
27 | --disable-xen \ | 27 | --disable-xen \ |
28 | --with-database=simple \ | 28 | --with-database=simple \ |
29 | --without-fftw \ | 29 | --without-fftw \ |
30 | --without-zsh-completion-dir \ | ||
30 | --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \ | 31 | --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \ |
31 | ac_cv_header_valgrind_memcheck_h=no \ | 32 | ac_cv_header_valgrind_memcheck_h=no \ |
32 | " | 33 | " |
33 | 34 | ||
34 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ | 35 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ |
35 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ | ||
36 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ | 36 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ |
37 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" | 37 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ |
38 | ${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)}" | ||
38 | PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc" | 39 | PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc" |
39 | PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc" | 40 | PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc" |
41 | PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono" | ||
40 | PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" | 42 | PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" |
41 | PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" | 43 | PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal,--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd" |
42 | PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb" | 44 | PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb" |
43 | PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" | 45 | PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" |
44 | PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" | 46 | PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" |
@@ -93,6 +95,10 @@ FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir} | |||
93 | FILES_${PN}-conf = "${sysconfdir}" | 95 | FILES_${PN}-conf = "${sysconfdir}" |
94 | FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse" | 96 | FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse" |
95 | FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules" | 97 | FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules" |
98 | |||
99 | #SYSTEMD_PACKAGES = "${PN}-server" | ||
100 | SYSTEMD_SERVICE_${PN}-server = "pulseaudio.service" | ||
101 | |||
96 | FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so" | 102 | FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so" |
97 | 103 | ||
98 | # Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it) | 104 | # Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it) |
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch deleted file mode 100644 index 467cd2cbd0..0000000000 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | From 002b16f0f2176b4c685e210e335bf69c02563ede Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sat, 22 Feb 2014 18:03:10 +0100 | ||
4 | Subject: [PATCH] configure.ac: Check only for libsystemd not libsystemd-login | ||
5 | |||
6 | * they were merged into libsystemd in systemd-209 | ||
7 | |||
8 | Upstream-Status: Pending (it would need to be conditional on systemd version for upstream to accept this) | ||
9 | |||
10 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
11 | --- | ||
12 | configure.ac | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/configure.ac b/configure.ac | ||
16 | index 388fae2..fff7a83 100644 | ||
17 | --- a/configure.ac | ||
18 | +++ b/configure.ac | ||
19 | @@ -1160,7 +1160,7 @@ AC_ARG_ENABLE([systemd], | ||
20 | AS_HELP_STRING([--disable-systemd],[Disable optional systemd support])) | ||
21 | |||
22 | AS_IF([test "x$enable_systemd" != "xno"], | ||
23 | - [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd-login ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)], | ||
24 | + [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)], | ||
25 | HAVE_SYSTEMD=0) | ||
26 | |||
27 | AS_IF([test "x$enable_systemd" = "xyes" && test "x$HAVE_SYSTEMD" = "x0"], | ||
28 | -- | ||
29 | 1.8.5.3 | ||
30 | |||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/CVE-2014-3970.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/CVE-2014-3970.patch deleted file mode 100644 index d5f33dc42e..0000000000 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio/CVE-2014-3970.patch +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | commit 26b9d22dd24c17eb118d0205bf7b02b75d435e3c upstream | ||
4 | |||
5 | rtp-recv: fix crash on empty UDP packets (CVE-2014-3970) | ||
6 | |||
7 | On FIONREAD returning 0 bytes, we cannot return success, as the caller | ||
8 | (rtpoll_work_cb in module-rtp-recv.c) would then try to | ||
9 | pa_memblock_unref(chunk.memblock) and, because memblock is NULL, trigger | ||
10 | an assertion. | ||
11 | |||
12 | Also we have to read out the possible empty packet from the socket, so | ||
13 | that the kernel doesn't tell us again and again about it. | ||
14 | |||
15 | Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com> | ||
16 | |||
17 | diff --git a/src/modules/rtp/rtp.c b/src/modules/rtp/rtp.c | ||
18 | index 9195493..c45981e 100644 | ||
19 | --- a/src/modules/rtp/rtp.c | ||
20 | +++ b/src/modules/rtp/rtp.c | ||
21 | @@ -182,8 +182,29 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool, struct | ||
22 | goto fail; | ||
23 | } | ||
24 | |||
25 | - if (size <= 0) | ||
26 | - return 0; | ||
27 | + if (size <= 0) { | ||
28 | + /* size can be 0 due to any of the following reasons: | ||
29 | + * | ||
30 | + * 1. Somebody sent us a perfectly valid zero-length UDP packet. | ||
31 | + * 2. Somebody sent us a UDP packet with a bad CRC. | ||
32 | + * | ||
33 | + * It is unknown whether size can actually be less than zero. | ||
34 | + * | ||
35 | + * In the first case, the packet has to be read out, otherwise the | ||
36 | + * kernel will tell us again and again about it, thus preventing | ||
37 | + * reception of any further packets. So let's just read it out | ||
38 | + * now and discard it later, when comparing the number of bytes | ||
39 | + * received (0) with the number of bytes wanted (1, see below). | ||
40 | + * | ||
41 | + * In the second case, recvmsg() will fail, thus allowing us to | ||
42 | + * return the error. | ||
43 | + * | ||
44 | + * Just to avoid passing zero-sized memchunks and NULL pointers to | ||
45 | + * recvmsg(), let's force allocation of at least one byte by setting | ||
46 | + * size to 1. | ||
47 | + */ | ||
48 | + size = 1; | ||
49 | + } | ||
50 | |||
51 | if (c->memchunk.length < (unsigned) size) { | ||
52 | size_t l; | ||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb deleted file mode 100644 index 99f0ef3a46..0000000000 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | require pulseaudio.inc | ||
2 | |||
3 | SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${PV}.tar.xz \ | ||
4 | file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \ | ||
5 | file://volatiles.04_pulse \ | ||
6 | file://CVE-2014-3970.patch \ | ||
7 | " | ||
8 | SRC_URI[md5sum] = "c43749838612f4860465e83ed62ca38e" | ||
9 | SRC_URI[sha256sum] = "99c13a8b1249ddbd724f195579df79484e9af6418cecf6a15f003a7f36caf939" | ||
10 | |||
11 | do_compile_prepend() { | ||
12 | mkdir -p ${S}/libltdl | ||
13 | cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl | ||
14 | } | ||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb new file mode 100644 index 0000000000..91027bf654 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require pulseaudio.inc | ||
2 | |||
3 | SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ | ||
4 | file://volatiles.04_pulse \ | ||
5 | " | ||
6 | SRC_URI[md5sum] = "b691e83b7434c678dffacfa3a027750e" | ||
7 | SRC_URI[sha256sum] = "b50640e0b80b1607600accfad2e45aabb79d379bf6354c9671efa2065477f6f6" | ||
8 | |||
9 | do_compile_prepend() { | ||
10 | mkdir -p ${S}/libltdl | ||
11 | cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl | ||
12 | } | ||