Browse Source

libpulseaudio: Update from 10.0 to 11.1

android-5
Fredrik Fornwall 7 years ago
parent
commit
1f7306877d
  1. 5
      packages/libpulseaudio/build.sh
  2. 28
      packages/libpulseaudio/pulseaudio-discuss-iochannel-don-t-use-variable-length-array-in-union.patch

5
packages/libpulseaudio/build.sh

@ -1,9 +1,8 @@
TERMUX_PKG_HOMEPAGE=https://www.freedesktop.org/wiki/Software/PulseAudio
TERMUX_PKG_DESCRIPTION="A featureful, general-purpose sound server - shared libraries"
TERMUX_PKG_VERSION=10.0
TERMUX_PKG_REVISION=2
TERMUX_PKG_VERSION=11.1
TERMUX_PKG_SHA256=f2521c525a77166189e3cb9169f75c2ee2b82fa3fcf9476024fbc2c3a6c9cd9e
TERMUX_PKG_SRCURL=https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=a3186824de9f0d2095ded5d0d0db0405dc73133983c2fbb37291547e37462f57
TERMUX_PKG_DEPENDS="libltdl, libsndfile, libandroid-glob"
TERMUX_PKG_BUILD_DEPENDS="libtool"
TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="share/vala"

28
packages/libpulseaudio/pulseaudio-discuss-iochannel-don-t-use-variable-length-array-in-union.patch

@ -1,28 +0,0 @@
diff --git a/src/pulsecore/iochannel.c b/src/pulsecore/iochannel.c
index 8ace297ff..897337522 100644
--- a/src/pulsecore/iochannel.c
+++ b/src/pulsecore/iochannel.c
@@ -355,7 +355,7 @@ ssize_t pa_iochannel_write_with_fds(pa_iochannel*io, const void*data, size_t l,
struct iovec iov;
union {
struct cmsghdr hdr;
- uint8_t data[CMSG_SPACE(sizeof(int) * nfd)];
+ uint8_t data[CMSG_SPACE(sizeof(int) * MAX_ANCIL_DATA_FDS)];
} cmsg;
pa_assert(io);
@@ -382,7 +382,13 @@ ssize_t pa_iochannel_write_with_fds(pa_iochannel*io, const void*data, size_t l,
mh.msg_iov = &iov;
mh.msg_iovlen = 1;
mh.msg_control = &cmsg;
- mh.msg_controllen = sizeof(cmsg);
+
+ /* If we followed the example on the cmsg man page, we'd use
+ * sizeof(cmsg.data) here, but if nfd < MAX_ANCIL_DATA_FDS, then the data
+ * buffer is larger than needed, and the kernel doesn't like it if we set
+ * msg_controllen to a larger than necessary value. The commit message for
+ * commit 451d1d6762 contains a longer explanation. */
+ mh.msg_controllen = CMSG_SPACE(sizeof(int) * nfd);
if ((r = sendmsg(io->ofd, &mh, MSG_NOSIGNAL)) >= 0) {
io->writable = io->hungup = false;
Loading…
Cancel
Save