Update to 8.0

* Based on wip/pulseaudio by kamil@

Changelog:
    Automatic routing more likely to change profile
    OS X and NetBSD support improvements
    Systemd journal logging for clients
    New LFE balance programming interface
    Module-dbus-protocol improvements
    More flexible configuration file handling
    pulsecore-8.0.so moved to a private directory
    New script for measuring memory consumption
    Various bug fixes and small improvements
This commit is contained in:
ryoon 2016-01-22 19:29:11 +00:00
parent 1773df0f44
commit 01087a57c7
12 changed files with 69 additions and 210 deletions

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.104 2016/01/06 10:24:43 markd Exp $
# $NetBSD: Makefile,v 1.105 2016/01/22 19:29:11 ryoon Exp $
DISTNAME= pulseaudio-7.1
PKGREVISION= 3
DISTNAME= pulseaudio-8.0
CATEGORIES= audio
MASTER_SITES= http://freedesktop.org/software/pulseaudio/releases/
EXTRACT_SUFX= .tar.xz

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.20 2016/01/06 10:24:43 markd Exp $
@comment $NetBSD: PLIST,v 1.21 2016/01/22 19:29:11 ryoon Exp $
bin/esdcompat
bin/pacat
bin/pacmd
@ -49,7 +49,7 @@ lib/cmake/PulseAudio/PulseAudioConfigVersion.cmake
lib/libpulse-mainloop-glib.la
lib/libpulse-simple.la
lib/libpulse.la
lib/libpulsecore-6.0.la
lib/pulseaudio/libpulsecore-6.0.la
lib/pkgconfig/libpulse-mainloop-glib.pc
lib/pkgconfig/libpulse-simple.pc
lib/pkgconfig/libpulse.pc

View file

@ -1,22 +1,16 @@
$NetBSD: distinfo,v 1.57 2015/12/25 23:09:49 ryoon Exp $
$NetBSD: distinfo,v 1.58 2016/01/22 19:29:11 ryoon Exp $
SHA1 (pulseaudio-7.1.tar.xz) = dc35a8aa66c513ac989319e13a18e317d8e432b3
RMD160 (pulseaudio-7.1.tar.xz) = 34e4a7644673d96806234042fc50a6f513b885c9
SHA512 (pulseaudio-7.1.tar.xz) = 21f621bd76268b9dd6e5be2231b0e779a8e0cfdece44c46c8ac96a4e1d4df52fe5b9791ef95a0909a3c177bbfa5eab7d52fed9b43362840a9c8a6001e821175e
Size (pulseaudio-7.1.tar.xz) = 1506504 bytes
SHA1 (patch-aa) = 4e8a38810453d0efad287528b7f18c056a5cdd8b
SHA1 (patch-configure.ac) = 10f976daa163b985312d4dc29933e87cf2e89c96
SHA1 (pulseaudio-8.0.tar.xz) = 1399a2f6288ad743184b6c2192129fef033343ac
RMD160 (pulseaudio-8.0.tar.xz) = fc2700ec34ae9cbecd85c1ad6253b4c224541c96
SHA512 (pulseaudio-8.0.tar.xz) = 7008abf768f720839353038ffd3e35e442f82452aa7e27d446f75d403096b042643d2b2b1d153454302bd5a51f9217f4979c8995b80ba2695f141e6a29e164fa
Size (pulseaudio-8.0.tar.xz) = 1517656 bytes
SHA1 (patch-aa) = a86e04f6ada98d643b90069f78f13e3bc1050ed9
SHA1 (patch-configure.ac) = ae2df43966a21992dc1c53d5f0a2c428d4e60e3f
SHA1 (patch-src_Makefile.am) = debe40be5d1155f6cb0d5ae90119dece4e090b02
SHA1 (patch-src_Makefile.in) = acbd3abee7225a7b3f1c422e30d9efe2adb1253c
SHA1 (patch-src_daemon_main.c) = 746d520fce6c076d45a6e36730d5345325f19e03
SHA1 (patch-src_modules_module-detect.c) = e376b088d939abc70425310875882a0daf90dca2
SHA1 (patch-src_modules_module-detect.c) = f202194b03a2023959d772392d58297f963f0ada
SHA1 (patch-src_modules_module-solaris.c) = 03ea8912da4bb76294ca23271e47d40a8c9a61a7
SHA1 (patch-src_modules_oss_module-oss.c) = 399ac178ae832619253ce8dd985edbed23db86e7
SHA1 (patch-src_pulsecore_core-util.c) = 186c805ac4083446afe3ce8db5c6157da92871be
SHA1 (patch-src_pulsecore_mix__neon.c) = 6f6d33d38024d65045d637d48276e1ba92b81342
SHA1 (patch-src_pulsecore_packet.c) = f5d0bcfd8027f65782fc7a8b6a9b5cb3b3aa7e41
SHA1 (patch-src_pulsecore_sample-util.h) = b6bd83cfdc1c337453d9a728f07205a2cf0af831
SHA1 (patch-src_pulsecore_svolume__mmx.c) = c34d153e3bfdb812eb7bd70fa330a9ec674c2dc2
SHA1 (patch-src_pulsecore_svolume__sse.c) = 47c97c1af947133f2a7b330aed38792bb0e7ef09
SHA1 (patch-src_tests_mult-s16-test.c) = 3a0fbec804ebefbd88688e84b8d45e0aca597b84
SHA1 (patch-src_tests_rtpoll-test.c) = 3584aeda2b6f7eb14af9cb5c665a31d972a306ae

View file

@ -1,4 +1,4 @@
$NetBSD: patch-aa,v 1.16 2014/06/16 13:26:25 jperkin Exp $
$NetBSD: patch-aa,v 1.17 2016/01/22 19:29:11 ryoon Exp $
ioctl() takes u_long argument on NetBSD.
On NetBSD<6 and 6.99.0-6.99.7, use third parameter in ioctl instead of varargs.
@ -6,9 +6,9 @@ stat() system call has been versioned, use latest version when dlopen()ing.
Try more typical device names.
SOUND_PCM_* is not available on SunOS.
--- src/utils/padsp.c.orig 2014-01-23 18:57:55.000000000 +0000
--- src/utils/padsp.c.orig 2016-01-18 10:14:20.000000000 +0000
+++ src/utils/padsp.c
@@ -49,6 +49,9 @@
@@ -47,6 +47,9 @@
#ifdef __linux__
#include <linux/sockios.h>
#endif
@ -18,7 +18,7 @@ SOUND_PCM_* is not available on SunOS.
#include <pulse/pulseaudio.h>
#include <pulse/gccmacro.h>
@@ -115,7 +118,11 @@ static pthread_mutex_t func_mutex = PTHR
@@ -113,7 +116,11 @@ static pthread_mutex_t func_mutex = PTHR
static PA_LLIST_HEAD(fd_info, fd_infos) = NULL;
@ -30,7 +30,7 @@ SOUND_PCM_* is not available on SunOS.
static int (*_close)(int) = NULL;
static int (*_open)(const char *, int, mode_t) = NULL;
static int (*___open_2)(const char *, int) = NULL;
@@ -143,6 +150,15 @@ static inline fnptr dlsym_fn(void *handl
@@ -141,6 +148,15 @@ static inline fnptr dlsym_fn(void *handl
return (fnptr) (long) dlsym(handle, symbol);
}
@ -46,7 +46,7 @@ SOUND_PCM_* is not available on SunOS.
#define LOAD_IOCTL_FUNC() \
do { \
pthread_mutex_lock(&func_mutex); \
@@ -150,6 +166,7 @@ do { \
@@ -148,6 +164,7 @@ do { \
_ioctl = (int (*)(int, int, void*)) dlsym_fn(RTLD_NEXT, "ioctl"); \
pthread_mutex_unlock(&func_mutex); \
} while(0)
@ -54,7 +54,7 @@ SOUND_PCM_* is not available on SunOS.
#define LOAD_OPEN_FUNC() \
do { \
@@ -199,11 +216,20 @@ do { \
@@ -197,11 +214,20 @@ do { \
pthread_mutex_unlock(&func_mutex); \
} while(0)
@ -76,15 +76,35 @@ SOUND_PCM_* is not available on SunOS.
pthread_mutex_unlock(&func_mutex); \
} while(0)
@@ -2277,6 +2303,7 @@ static int dsp_ioctl(fd_info *i, unsigne
@@ -2278,6 +2304,7 @@ static int dsp_ioctl(fd_info *i, unsigne
break;
}
+#ifndef __sun
+#if HAVE_DECL_SOUND_PCM_READ_RATE
case SOUND_PCM_READ_RATE:
debug(DEBUG_LEVEL_NORMAL, __FILE__": SOUND_PCM_READ_RATE\n");
@@ -2300,6 +2327,7 @@ static int dsp_ioctl(fd_info *i, unsigne
@@ -2285,7 +2312,9 @@ static int dsp_ioctl(fd_info *i, unsigne
*(int*) argp = i->sample_spec.rate;
pa_threaded_mainloop_unlock(i->mainloop);
break;
+#endif
+#if HAVE_DECL_SOUND_PCM_READ_CHANNELS
case SOUND_PCM_READ_CHANNELS:
debug(DEBUG_LEVEL_NORMAL, __FILE__": SOUND_PCM_READ_CHANNELS\n");
@@ -2293,7 +2322,9 @@ static int dsp_ioctl(fd_info *i, unsigne
*(int*) argp = i->sample_spec.channels;
pa_threaded_mainloop_unlock(i->mainloop);
break;
+#endif
+#if HAVE_DECL_SOUND_PCM_READ_BITS
case SOUND_PCM_READ_BITS:
debug(DEBUG_LEVEL_NORMAL, __FILE__": SOUND_PCM_READ_BITS\n");
@@ -2301,6 +2332,7 @@ static int dsp_ioctl(fd_info *i, unsigne
*(int*) argp = pa_sample_size(&i->sample_spec)*8;
pa_threaded_mainloop_unlock(i->mainloop);
break;
@ -92,7 +112,7 @@ SOUND_PCM_* is not available on SunOS.
case SNDCTL_DSP_GETOPTR: {
count_info *info;
@@ -2370,21 +2398,35 @@ fail:
@@ -2371,21 +2403,35 @@ fail:
return ret;
}

View file

@ -1,4 +1,4 @@
$NetBSD: patch-configure.ac,v 1.5 2015/02/25 23:40:35 ryoon Exp $
$NetBSD: patch-configure.ac,v 1.6 2016/01/22 19:29:11 ryoon Exp $
* Don't assume sys/capability.h is guaranteed present on Linux.
* Fix NetBSD detection for libatomics_ops check.
@ -8,7 +8,7 @@ $NetBSD: patch-configure.ac,v 1.5 2015/02/25 23:40:35 ryoon Exp $
file framework will install them in the right place.
* Avoid hardcoded SDK paths on Darwin.
--- configure.ac.orig 2015-02-12 14:10:35.000000000 +0000
--- configure.ac.orig 2016-01-22 07:33:38.000000000 +0000
+++ configure.ac
@@ -21,7 +21,7 @@
@ -19,7 +19,7 @@ $NetBSD: patch-configure.ac,v 1.5 2015/02/25 23:40:35 ryoon Exp $
AC_CONFIG_SRCDIR([src/daemon/main.c])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
@@ -133,7 +133,6 @@ AC_MSG_CHECKING([host operating system])
@@ -130,7 +130,6 @@ AC_MSG_CHECKING([host operating system])
case "$host_os" in
linux*)
AC_MSG_RESULT([linux])
@ -27,47 +27,7 @@ $NetBSD: patch-configure.ac,v 1.5 2015/02/25 23:40:35 ryoon Exp $
os_is_linux=1
;;
freebsd*)
@@ -260,6 +259,11 @@ else
# HW specific atomic ops stuff
AC_MSG_CHECKING([architecture for native atomic operations])
case $host in
+ *-netbsd*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ need_libatomic_ops=no
+ ;;
arm*)
AC_MSG_RESULT([arm])
AC_MSG_CHECKING([whether we can use Linux kernel helpers])
@@ -295,10 +299,6 @@ else
])
fi
;;
- *-netbsdelf5*)
- AC_MSG_RESULT([yes])
- need_libatomic_ops=no
- ;;
*-freebsd*)
AC_MSG_RESULT([yes])
need_libatomic_ops=no
@@ -488,14 +488,14 @@ AS_IF([test "$pulseaudio_cv__Bool" = "ye
#### Thread support ####
AX_TLS
-AS_IF([test "$ac_cv_tls" == "__thread"],
+AS_IF([test "$ac_cv_tls" = "__thread"],
AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
# Win32 build breaks with win32 pthread installed
AS_IF([test "x$os_is_win32" != "x1"],
[AX_PTHREAD])
-AS_IF([test "x$ax_pthread_ok" == "xyes"],
+AS_IF([test "x$ax_pthread_ok" = "xyes"],
AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
@@ -522,15 +522,9 @@ AC_SEARCH_LIBS([backtrace], [execinfo ub
@@ -534,15 +533,9 @@ AC_SEARCH_LIBS([backtrace], [execinfo ub
if test "x$os_is_darwin" = "x1" ; then
AC_MSG_CHECKING([looking for Apple CoreService Framework])
# How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
@ -85,7 +45,21 @@ $NetBSD: patch-configure.ac,v 1.5 2015/02/25 23:40:35 ryoon Exp $
AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
HAVE_BONJOUR=1
fi
@@ -1001,7 +995,7 @@ AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DE
@@ -780,6 +773,13 @@ AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test
AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
+# Some platforms like SunOS (Illumos) may ship without SOUND_PCM_* functionality
+if test "x$HAVE_OSS" = "x1"; then
+ AC_CHECK_DECLS([SOUND_PCM_READ_RATE], [], [], [[#include <sys/soundcard.h>]])
+ AC_CHECK_DECLS([SOUND_PCM_READ_CHANNELS], [], [], [[#include <sys/soundcard.h>]])
+ AC_CHECK_DECLS([SOUND_PCM_READ_BITS], [], [], [[#include <sys/soundcard.h>]])
+fi
+
#### CoreAudio support (optional) ####
AC_ARG_ENABLE([coreaudio-output],
@@ -1016,7 +1016,7 @@ AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DE
PA_MACHINE_ID="${sysconfdir}/machine-id"
AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
@ -94,7 +68,7 @@ $NetBSD: patch-configure.ac,v 1.5 2015/02/25 23:40:35 ryoon Exp $
AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
[Fallback machine-id file])
@@ -1309,9 +1303,9 @@ fi
@@ -1339,9 +1339,9 @@ fi
PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
@ -106,7 +80,7 @@ $NetBSD: patch-configure.ac,v 1.5 2015/02/25 23:40:35 ryoon Exp $
AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
PA_BINARY=${bindir}/pulseaudio${EXEEXT}
@@ -1323,8 +1317,9 @@ AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY
@@ -1353,8 +1353,9 @@ AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY
AC_SUBST(PA_SOEXT, [.so])
AC_DEFINE(PA_SOEXT, [".so"], [Shared object extension])
@ -118,7 +92,7 @@ $NetBSD: patch-configure.ac,v 1.5 2015/02/25 23:40:35 ryoon Exp $
#### Mac OSX specific stuff #####
@@ -1340,17 +1335,6 @@ AC_ARG_WITH(mac-sysroot,
@@ -1370,17 +1371,6 @@ AC_ARG_WITH(mac-sysroot,
AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")

View file

@ -1,28 +0,0 @@
$NetBSD: patch-src_Makefile.in,v 1.4 2014/08/07 07:43:48 spz Exp $
Use pkgsrc infrastructure for config files.
--- src/Makefile.in.orig 2014-03-03 14:37:00.000000000 +0000
+++ src/Makefile.in
@@ -3342,7 +3342,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pulseconfdir = @pulseconfdir@
+pulseconfdir = ${EGDIR}
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -3355,10 +3355,10 @@ udevrulesdir = @udevrulesdir@
pulseincludedir = $(includedir)/pulse
pulsecoreincludedir = $(includedir)/pulsecore
pulselibexecdir = $(libexecdir)/pulse
-@HAVE_X11_TRUE@xdgautostartdir = $(sysconfdir)/xdg/autostart
+@HAVE_X11_TRUE@xdgautostartdir = ${EGDIR}
@HAVE_ALSA_TRUE@alsaprofilesetsdir = $(datadir)/pulseaudio/alsa-mixer/profile-sets
@HAVE_ALSA_TRUE@alsapathsdir = $(datadir)/pulseaudio/alsa-mixer/paths
-@HAVE_DBUS_TRUE@dbuspolicydir = $(sysconfdir)/dbus-1/system.d
+@HAVE_DBUS_TRUE@dbuspolicydir = ${EGDIR}
###################################
# Compiler/linker flags #

View file

@ -1,19 +0,0 @@
$NetBSD: patch-src_daemon_main.c,v 1.3 2015/09/25 14:37:27 ryoon Exp $
Only display Linux-specific warning on Linux.
--- src/daemon/main.c.orig 2015-09-15 04:46:06.000000000 +0000
+++ src/daemon/main.c
@@ -997,10 +997,12 @@ int main(int argc, char *argv[]) {
pa_disable_sigpipe();
+#if defined(__linux__)
if (pa_rtclock_hrtimer())
pa_log_info("Fresh high-resolution timers available! Bon appetit.");
else
pa_log_info("Dude, your kernel stinks! The chef's recommendation today is Linux with high-resolution timers enabled.");
+#endif
if (conf->lock_memory) {
#if defined(HAVE_SYS_MMAN_H) && !defined(__ANDROID__)

View file

@ -1,10 +1,10 @@
$NetBSD: patch-src_modules_module-detect.c,v 1.3 2015/12/25 23:09:49 ryoon Exp $
$NetBSD: patch-src_modules_module-detect.c,v 1.4 2016/01/22 19:29:11 ryoon Exp $
Hack to set proper sound device on NetBSD.
--- src/modules/module-detect.c.orig 2015-09-10 04:51:41.000000000 +0000
--- src/modules/module-detect.c.orig 2014-01-23 18:57:55.000000000 +0000
+++ src/modules/module-detect.c
@@ -120,6 +120,17 @@ static int detect_oss(pa_core *c, int ju
@@ -122,6 +122,17 @@ static int detect_oss(pa_core *c, int ju
FILE *f;
int n = 0, b = 0;
@ -22,7 +22,7 @@ Hack to set proper sound device on NetBSD.
if (!(f = pa_fopen_cloexec("/dev/sndstat", "r")) &&
!(f = pa_fopen_cloexec("/proc/sndstat", "r")) &&
!(f = pa_fopen_cloexec("/proc/asound/oss/sndstat", "r"))) {
@@ -171,6 +182,7 @@ static int detect_oss(pa_core *c, int ju
@@ -173,6 +184,7 @@ static int detect_oss(pa_core *c, int ju
}
fclose(f);

View file

@ -1,14 +0,0 @@
$NetBSD: patch-src_pulsecore_core-util.c,v 1.1 2015/09/25 14:37:27 ryoon Exp $
--- src/pulsecore/core-util.c.orig 2015-09-15 04:46:06.000000000 +0000
+++ src/pulsecore/core-util.c
@@ -54,7 +54,9 @@
#ifdef HAVE_STRTOD_L
#include <locale.h>
+# if !defined(__NetBSD__)
#include <xlocale.h>
+# endif
#endif
#ifdef HAVE_SCHED_H

View file

@ -1,25 +0,0 @@
$NetBSD: patch-src_pulsecore_packet.c,v 1.1 2015/12/18 11:21:17 taca Exp $
* Fix build problem on NetBSD 6 (gcc 4.5.3?), do not declare
typedef of "pa_packet" again.
--- src/pulsecore/packet.c.orig 2015-09-10 04:51:41.000000000 +0000
+++ src/pulsecore/packet.c
@@ -32,7 +32,7 @@
#define MAX_APPENDED_SIZE 128
-typedef struct pa_packet {
+struct pa_packet {
PA_REFCNT_DECLARE;
enum { PA_PACKET_APPENDED, PA_PACKET_DYNAMIC } type;
size_t length;
@@ -40,7 +40,7 @@ typedef struct pa_packet {
union {
uint8_t appended[MAX_APPENDED_SIZE];
} per_type;
-} pa_packet;
+};
PA_STATIC_FLIST_DECLARE(packets, 0, pa_xfree);

View file

@ -1,21 +0,0 @@
$NetBSD: patch-src_pulsecore_sample-util.h,v 1.1 2014/06/09 13:08:19 ryoon Exp $
Define glibc-specific (?) __WORDSIZE.
--- src/pulsecore/sample-util.h.orig 2014-01-23 18:57:55.000000000 +0000
+++ src/pulsecore/sample-util.h
@@ -34,6 +34,14 @@
#include <pulsecore/memblock.h>
#include <pulsecore/memchunk.h>
+#if !defined __WORDSIZE
+# if defined __LP64__
+# define __WORDSIZE 64
+# else
+# define __WORDSIZE 32
+# endif
+#endif
+
typedef struct pa_silence_cache {
pa_memblock* blocks[PA_SAMPLE_MAX];
} pa_silence_cache;

View file

@ -1,21 +0,0 @@
$NetBSD: patch-src_tests_mult-s16-test.c,v 1.1 2014/06/09 13:08:19 ryoon Exp $
Define glibc-specific (?) __WORDSIZE.
--- src/tests/mult-s16-test.c.orig 2014-01-23 18:57:55.000000000 +0000
+++ src/tests/mult-s16-test.c
@@ -30,6 +30,14 @@
#include <pulsecore/random.h>
#include <pulsecore/macro.h>
+#if !defined __WORDSIZE
+# if defined __LP64__
+# define __WORDSIZE 64
+# else
+# define __WORDSIZE 32
+# endif
+#endif
+
#include "runtime-test-util.h"
static inline int32_t pa_mult_s16_volume_32(int16_t v, int32_t cv) {