This is an automated email from the git hooks/post-receive script. fsateler pushed a commit to branch master in repository pulseaudio.
commit bea895302434c18bae74c6b2e457d2fba4aafdb2 Author: Felipe Sateler <[email protected]> Date: Fri Jan 15 18:18:47 2016 -0300 Imported Upstream version 7.99.2 --- .tarball-version | 2 +- .version | 2 +- Makefile.in | 1 + config.h.in | 9 + configure | 264 ++++++++++++++++++++++++++- configure.ac | 14 ++ doxygen/Makefile.in | 1 + man/Makefile.in | 1 + src/Makefile.am | 10 +- src/Makefile.in | 117 ++++++++---- src/daemon/default.pa.in | 4 + src/daemon/system.pa.in | 4 + src/modules/alsa/alsa-util.c | 21 ++- src/modules/macosx/module-coreaudio-device.c | 46 ++++- src/modules/module-tunnel.c | 4 +- src/pulsecore/rtpoll.c | 2 +- src/pulsecore/sample-util.h | 2 +- src/pulsecore/sink-input.c | 2 + src/pulsecore/source-output.c | 2 + src/tests/mult-s16-test.c | 8 +- 20 files changed, 452 insertions(+), 64 deletions(-) diff --git a/.tarball-version b/.tarball-version index c15ecbd..132732a 100644 --- a/.tarball-version +++ b/.tarball-version @@ -1 +1 @@ -7.99.1 +7.99.2 diff --git a/.version b/.version index c15ecbd..132732a 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -7.99.1 +7.99.2 diff --git a/Makefile.in b/Makefile.in index 4319899..fd1e33c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -348,6 +348,7 @@ HAVE_BLUEZ_4 = @HAVE_BLUEZ_4@ HAVE_BLUEZ_5 = @HAVE_BLUEZ_5@ HAVE_BLUEZ_5_NATIVE_HEADSET = @HAVE_BLUEZ_5_NATIVE_HEADSET@ HAVE_BLUEZ_5_OFONO_HEADSET = @HAVE_BLUEZ_5_OFONO_HEADSET@ +HAVE_COREAUDIO = @HAVE_COREAUDIO@ HAVE_DBUS = @HAVE_DBUS@ HAVE_GLIB20 = @HAVE_GLIB20@ HAVE_MKFIFO = @HAVE_MKFIFO@ diff --git a/config.h.in b/config.h.in index 5c9d430..aa99e72 100644 --- a/config.h.in +++ b/config.h.in @@ -94,6 +94,9 @@ /* Define to 1 if you have the `clock_gettime' function. */ #undef HAVE_CLOCK_GETTIME +/* Have CoreAudio? */ +#undef HAVE_COREAUDIO + /* Define to 1 if you have the <CoreAudio/CoreAudio.h> header file. */ #undef HAVE_COREAUDIO_COREAUDIO_H @@ -123,6 +126,9 @@ /* Define to 1 if you have the <execinfo.h> header file. */ #undef HAVE_EXECINFO_H +/* Have CPU with fast 64-bit operations? */ +#undef HAVE_FAST_64BIT_OPERATIONS + /* Define to 1 if you have the `fchmod' function. */ #undef HAVE_FCHMOD @@ -634,6 +640,9 @@ your system. */ #undef PTHREAD_CREATE_JOINABLE +/* The size of `void*', as computed by sizeof. */ +#undef SIZEOF_VOIDP + /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. diff --git a/configure b/configure index 9b0cf9a..b5bc029 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for pulseaudio 7.99.1. +# Generated by GNU Autoconf 2.69 for pulseaudio 7.99.2. # # Report bugs to <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='pulseaudio' PACKAGE_TARNAME='pulseaudio' -PACKAGE_VERSION='7.99.1' -PACKAGE_STRING='pulseaudio 7.99.1' +PACKAGE_VERSION='7.99.2' +PACKAGE_STRING='pulseaudio 7.99.2' PACKAGE_BUGREPORT='pulseaudio-discuss (at) lists (dot) freedesktop (dot) org' PACKAGE_URL='http://pulseaudio.org/' @@ -802,6 +802,7 @@ ASOUNDLIB_LIBS ASOUNDLIB_CFLAGS HAVE_COREAUDIO_FALSE HAVE_COREAUDIO_TRUE +HAVE_COREAUDIO HAVE_OSS_WRAPPER_FALSE HAVE_OSS_WRAPPER_TRUE HAVE_OSS_OUTPUT_FALSE @@ -1740,7 +1741,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures pulseaudio 7.99.1 to adapt to many kinds of systems. +\`configure' configures pulseaudio 7.99.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1810,7 +1811,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pulseaudio 7.99.1:";; + short | recursive ) echo "Configuration of pulseaudio 7.99.2:";; esac cat <<\_ACEOF @@ -2112,7 +2113,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pulseaudio configure 7.99.1 +pulseaudio configure 7.99.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2698,11 +2699,194 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl + +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 <conftest.val; ac_retval=0 +else + ac_retval=1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f conftest.val + + fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_compute_int cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by pulseaudio $as_me 7.99.1, which was +It was created by pulseaudio $as_me 7.99.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3657,7 +3841,7 @@ fi # Define the identity of the package. PACKAGE='pulseaudio' - VERSION='7.99.1' + VERSION='7.99.2' cat >>confdefs.h <<_ACEOF @@ -21006,6 +21190,59 @@ cat >>confdefs.h <<_ACEOF _ACEOF +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5 +$as_echo_n "checking size of void*... " >&6; } +if ${ac_cv_sizeof_voidp+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_voidp" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (void*) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_voidp=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5 +$as_echo "$ac_cv_sizeof_voidp" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOIDP $ac_cv_sizeof_voidp +_ACEOF + + + +fast_64bit_operations="no" +# This check covers x32-ABI +ac_fn_c_check_decl "$LINENO" "__x86_64__" "ac_cv_have_decl___x86_64__" "$ac_includes_default" +if test "x$ac_cv_have_decl___x86_64__" = xyes; then : + fast_64bit_operations="yes" +fi + +if test "x$fast_64bit_operations" = "xno"; then + if test $ac_cv_sizeof_voidp -ge 8; then : + fast_64bit_operations="yes" +fi +fi + +if test "x$fast_64bit_operations" = "xyes"; then : + +$as_echo "#define HAVE_FAST_64BIT_OPERATIONS 1" >>confdefs.h + +fi + # SIGXCPU { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIGXCPU defined in signal.h" >&5 @@ -24707,6 +24944,7 @@ if test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"; as_fn_error $? "*** CoreAudio output support not found" "$LINENO" 5 fi + if test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"; then HAVE_COREAUDIO_TRUE= HAVE_COREAUDIO_FALSE='#' @@ -24716,6 +24954,12 @@ else fi +if test "x$HAVE_COREAUDIO" = "x1"; then : + +$as_echo "#define HAVE_COREAUDIO 1" >>confdefs.h + +fi + #### ALSA support (optional) #### # Check whether --enable-alsa was given. @@ -28784,7 +29028,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by pulseaudio $as_me 7.99.1, which was +This file was extended by pulseaudio $as_me 7.99.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -28851,7 +29095,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -pulseaudio config.status 7.99.1 +pulseaudio config.status 7.99.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 2dbf7f2..9250c05 100644 --- a/configure.ac +++ b/configure.ac @@ -463,6 +463,17 @@ AC_TYPE_OFF_T AC_TYPE_UID_T AC_CHECK_DECLS(environ) +AC_CHECK_SIZEOF(void*) + +fast_64bit_operations="no" +# This check covers x32-ABI +AC_CHECK_DECL([__x86_64__], [fast_64bit_operations="yes"], [], []) +if test "x$fast_64bit_operations" = "xno"; then + AS_IF([test $ac_cv_sizeof_voidp -ge 8], [fast_64bit_operations="yes"]) +fi + +AS_IF([test "x$fast_64bit_operations" = "xyes"], AC_DEFINE([HAVE_FAST_64BIT_OPERATIONS], 1, [Have CPU with fast 64-bit operations?])) + # SIGXCPU AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0]) AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])) @@ -781,8 +792,11 @@ AS_IF([test "x$enable_coreaudio_output" != "xno"], AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"], [AC_MSG_ERROR([*** CoreAudio output support not found])]) +AC_SUBST(HAVE_COREAUDIO) AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"]) +AS_IF([test "x$HAVE_COREAUDIO" = "x1"], AC_DEFINE([HAVE_COREAUDIO], 1, [Have CoreAudio?])) + #### ALSA support (optional) #### AC_ARG_ENABLE([alsa], diff --git a/doxygen/Makefile.in b/doxygen/Makefile.in index 63db5e4..f92ae05 100644 --- a/doxygen/Makefile.in +++ b/doxygen/Makefile.in @@ -212,6 +212,7 @@ HAVE_BLUEZ_4 = @HAVE_BLUEZ_4@ HAVE_BLUEZ_5 = @HAVE_BLUEZ_5@ HAVE_BLUEZ_5_NATIVE_HEADSET = @HAVE_BLUEZ_5_NATIVE_HEADSET@ HAVE_BLUEZ_5_OFONO_HEADSET = @HAVE_BLUEZ_5_OFONO_HEADSET@ +HAVE_COREAUDIO = @HAVE_COREAUDIO@ HAVE_DBUS = @HAVE_DBUS@ HAVE_GLIB20 = @HAVE_GLIB20@ HAVE_MKFIFO = @HAVE_MKFIFO@ diff --git a/man/Makefile.in b/man/Makefile.in index c210d08..fbc46a5 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -259,6 +259,7 @@ HAVE_BLUEZ_4 = @HAVE_BLUEZ_4@ HAVE_BLUEZ_5 = @HAVE_BLUEZ_5@ HAVE_BLUEZ_5_NATIVE_HEADSET = @HAVE_BLUEZ_5_NATIVE_HEADSET@ HAVE_BLUEZ_5_OFONO_HEADSET = @HAVE_BLUEZ_5_OFONO_HEADSET@ +HAVE_COREAUDIO = @HAVE_COREAUDIO@ HAVE_DBUS = @HAVE_DBUS@ HAVE_GLIB20 = @HAVE_GLIB20@ HAVE_MKFIFO = @HAVE_MKFIFO@ diff --git a/src/Makefile.am b/src/Makefile.am index 3c035aa..b0ca2bc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -631,7 +631,8 @@ lo_latency_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS) # Common library # ################################### -pkglib_LTLIBRARIES = \ +commonlibdir = $(pkglibdir) +commonlib_LTLIBRARIES = \ libpulsecommon-@[email protected] # We duplicate files from pulse/ in this to allow as-needed linking. If we did @@ -918,7 +919,7 @@ libpulsedsp_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version -disable- # Daemon core library # ################################### -pkglib_LTLIBRARIES += libpulsecore-@[email protected] +pkglib_LTLIBRARIES = libpulsecore-@[email protected] # Pure core stuff libpulsecore_@PA_MAJORMINOR@_la_SOURCES = \ @@ -2262,7 +2263,10 @@ update-all: update-ffmpeg update-map-file # Isn't libtool/autotools fun! installlibLTLIBRARIES = install-libLTLIBRARIES -$(installlibLTLIBRARIES): install-pkglibLTLIBRARIES +$(installlibLTLIBRARIES): install-commonlibLTLIBRARIES + +installpkglibLTLIBRARIES = install-pkglibLTLIBRARIES +$(installpkglibLTLIBRARIES): install-libLTLIBRARIES installmodlibexecLTLIBRARIES = install-modlibexecLTLIBRARIES $(installmodlibexecLTLIBRARIES): install-pkglibLTLIBRARIES install-libLTLIBRARIES diff --git a/src/Makefile.in b/src/Makefile.in index 81715fb..158cabb 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -511,17 +511,17 @@ am__uninstall_files_from_dir = { \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(modlibexecdir)" \ - "$(DESTDIR)$(padsplibdir)" "$(DESTDIR)$(pkglibdir)" \ - "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pulselibexecdir)" \ - "$(DESTDIR)$(bindir)" "$(DESTDIR)$(dbuspolicydir)" \ - "$(DESTDIR)$(alsapathsdir)" "$(DESTDIR)$(alsaprofilesetsdir)" \ - "$(DESTDIR)$(udevrulesdir)" "$(DESTDIR)$(pulseconfdir)" \ - "$(DESTDIR)$(systemduserunitdir)" \ +am__installdirs = "$(DESTDIR)$(commonlibdir)" "$(DESTDIR)$(libdir)" \ + "$(DESTDIR)$(modlibexecdir)" "$(DESTDIR)$(padsplibdir)" \ + "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(pulselibexecdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(dbuspolicydir)" "$(DESTDIR)$(alsapathsdir)" \ + "$(DESTDIR)$(alsaprofilesetsdir)" "$(DESTDIR)$(udevrulesdir)" \ + "$(DESTDIR)$(pulseconfdir)" "$(DESTDIR)$(systemduserunitdir)" \ "$(DESTDIR)$(xdgautostartdir)" "$(DESTDIR)$(pulseincludedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) $(modlibexec_LTLIBRARIES) \ - $(noinst_LTLIBRARIES) $(padsplib_LTLIBRARIES) \ - $(pkglib_LTLIBRARIES) +LTLIBRARIES = $(commonlib_LTLIBRARIES) $(lib_LTLIBRARIES) \ + $(modlibexec_LTLIBRARIES) $(noinst_LTLIBRARIES) \ + $(padsplib_LTLIBRARIES) $(pkglib_LTLIBRARIES) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2) \ @@ -3281,6 +3281,7 @@ HAVE_BLUEZ_4 = @HAVE_BLUEZ_4@ HAVE_BLUEZ_5 = @HAVE_BLUEZ_5@ HAVE_BLUEZ_5_NATIVE_HEADSET = @HAVE_BLUEZ_5_NATIVE_HEADSET@ HAVE_BLUEZ_5_OFONO_HEADSET = @HAVE_BLUEZ_5_OFONO_HEADSET@ +HAVE_COREAUDIO = @HAVE_COREAUDIO@ HAVE_DBUS = @HAVE_DBUS@ HAVE_GLIB20 = @HAVE_GLIB20@ HAVE_MKFIFO = @HAVE_MKFIFO@ @@ -3882,12 +3883,10 @@ lo_latency_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS) ################################### # Common library # ################################### +commonlibdir = $(pkglibdir) +commonlib_LTLIBRARIES = \ + libpulsecommon-@[email protected] -################################### -# Daemon core library # -################################### -pkglib_LTLIBRARIES = libpulsecommon-@[email protected] \ - libpulsecore-@[email protected] # We duplicate files from pulse/ in this to allow as-needed linking. If we did # not do this, in situations where code in libpulsecommon uses code in @@ -4041,6 +4040,11 @@ libpulsedsp_la_CFLAGS = $(AM_CFLAGS) libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@[email protected] libpulsedsp_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version -disable-static +################################### +# Daemon core library # +################################### +pkglib_LTLIBRARIES = libpulsecore-@[email protected] + # Pure core stuff libpulsecore_@PA_MAJORMINOR@_la_SOURCES = \ pulsecore/filter/lfe-filter.c pulsecore/filter/lfe-filter.h \ @@ -4838,6 +4842,7 @@ DISTCLEANFILES = esdcompat client.conf default.pa system.pa daemon.conf start-pu # ... # Isn't libtool/autotools fun! installlibLTLIBRARIES = install-libLTLIBRARIES +installpkglibLTLIBRARIES = install-pkglibLTLIBRARIES installmodlibexecLTLIBRARIES = install-modlibexecLTLIBRARIES installpadsplibLTLIBRARIES = install-padsplibLTLIBRARIES all: $(BUILT_SOURCES) @@ -4890,6 +4895,41 @@ system.pa: $(top_builddir)/config.status $(top_srcdir)/src/daemon/system.pa.in pulseaudio.service: $(top_builddir)/config.status $(top_srcdir)/src/daemon/systemd/user/pulseaudio.service.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +install-commonlibLTLIBRARIES: $(commonlib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(commonlib_LTLIBRARIES)'; test -n "$(commonlibdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(commonlibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(commonlibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(commonlibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(commonlibdir)"; \ + } + +uninstall-commonlibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(commonlib_LTLIBRARIES)'; test -n "$(commonlibdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(commonlibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(commonlibdir)/$$f"; \ + done + +clean-commonlibLTLIBRARIES: + -test -z "$(commonlib_LTLIBRARIES)" || rm -f $(commonlib_LTLIBRARIES) + @list='$(commonlib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ @@ -5400,7 +5440,7 @@ pulsecore/libpulsecommon_@PA_MAJORMINOR@_la-rtkit.lo: \ pulsecore/$(am__dirstamp) pulsecore/$(DEPDIR)/$(am__dirstamp) libpulsecommon-@[email protected]: $(libpulsecommon_@PA_MAJORMINOR@_la_OBJECTS) $(libpulsecommon_@PA_MAJORMINOR@_la_DEPENDENCIES) $(EXTRA_libpulsecommon_@PA_MAJORMINOR@_la_DEPENDENCIES) - $(AM_V_CCLD)$(libpulsecommon_@PA_MAJORMINOR@_la_LINK) -rpath $(pkglibdir) $(libpulsecommon_@PA_MAJORMINOR@_la_OBJECTS) $(libpulsecommon_@PA_MAJORMINOR@_la_LIBADD) $(LIBS) + $(AM_V_CCLD)$(libpulsecommon_@PA_MAJORMINOR@_la_LINK) -rpath $(commonlibdir) $(libpulsecommon_@PA_MAJORMINOR@_la_OBJECTS) $(libpulsecommon_@PA_MAJORMINOR@_la_LIBADD) $(LIBS) pulsecore/filter/$(am__dirstamp): @$(MKDIR_P) pulsecore/filter @: > pulsecore/filter/$(am__dirstamp) @@ -10891,7 +10931,7 @@ all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \ install-binPROGRAMS: install-libLTLIBRARIES installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(modlibexecdir)" "$(DESTDIR)$(padsplibdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pulselibexecdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(dbuspolicydir)" "$(DESTDIR)$(alsapathsdir)" "$(DESTDIR)$(alsaprofilesetsdir)" "$(DESTDIR)$(udevrulesdir)" "$(DESTDIR)$(pulseconfdir)" "$(DESTDIR)$(systemduserunitdir)" "$(DESTDIR)$(xdgautostartdir)" "$(DESTDIR)$(pulseincludedir)"; do \ + for dir in "$(DESTDIR)$(commonlibdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(modlibexecdir)" "$(DESTDIR)$(padsplibdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pulselibexecdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(dbuspolicydir)" "$(DESTDIR)$(alsapathsdir)" "$(DESTDIR)$(alsaprofilesetsdir)" "$(DESTDIR)$(udevrulesdir)" "$(DESTDIR)$(pulseconfdir)" "$(DESTDIR)$(systemduserunitdir)" "$(DESTDIR)$(xdgautostartdir)" "$(DESTDIR)$(pulseincludedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) @@ -10975,8 +11015,9 @@ maintainer-clean-generic: -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am -clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libtool clean-modlibexecLTLIBRARIES \ +clean-am: clean-binPROGRAMS clean-checkPROGRAMS \ + clean-commonlibLTLIBRARIES clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-modlibexecLTLIBRARIES \ clean-noinstLTLIBRARIES clean-noinstPROGRAMS \ clean-padsplibLTLIBRARIES clean-pkglibLTLIBRARIES \ clean-pulselibexecPROGRAMS mostlyclean-am @@ -10999,11 +11040,11 @@ info: info-am info-am: -install-data-am: install-dbuspolicyDATA install-dist_alsapathsDATA \ - install-dist_alsaprofilesetsDATA install-dist_udevrulesDATA \ - install-padsplibLTLIBRARIES install-pulseconfDATA \ - install-pulseincludeHEADERS install-systemduserunitDATA \ - install-xdgautostartDATA +install-data-am: install-commonlibLTLIBRARIES install-dbuspolicyDATA \ + install-dist_alsapathsDATA install-dist_alsaprofilesetsDATA \ + install-dist_udevrulesDATA install-padsplibLTLIBRARIES \ + install-pulseconfDATA install-pulseincludeHEADERS \ + install-systemduserunitDATA install-xdgautostartDATA install-dvi: install-dvi-am @@ -11053,7 +11094,8 @@ ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ - uninstall-dbuspolicyDATA uninstall-dist_alsapathsDATA \ + uninstall-commonlibLTLIBRARIES uninstall-dbuspolicyDATA \ + uninstall-dist_alsapathsDATA \ uninstall-dist_alsaprofilesetsDATA \ uninstall-dist_udevrulesDATA uninstall-libLTLIBRARIES \ uninstall-modlibexecLTLIBRARIES uninstall-padsplibLTLIBRARIES \ @@ -11066,20 +11108,22 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ install-strip uninstall-am .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libtool clean-modlibexecLTLIBRARIES \ + clean-binPROGRAMS clean-checkPROGRAMS \ + clean-commonlibLTLIBRARIES clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-modlibexecLTLIBRARIES \ clean-noinstLTLIBRARIES clean-noinstPROGRAMS \ clean-padsplibLTLIBRARIES clean-pkglibLTLIBRARIES \ clean-pulselibexecPROGRAMS cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ - install-binSCRIPTS install-data install-data-am \ - install-dbuspolicyDATA install-dist_alsapathsDATA \ - install-dist_alsaprofilesetsDATA install-dist_udevrulesDATA \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-exec-hook install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES install-man \ + install-binSCRIPTS install-commonlibLTLIBRARIES install-data \ + install-data-am install-dbuspolicyDATA \ + install-dist_alsapathsDATA install-dist_alsaprofilesetsDATA \ + install-dist_udevrulesDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-exec-hook install-html \ + install-html-am install-info install-info-am \ + install-libLTLIBRARIES install-man \ install-modlibexecLTLIBRARIES install-padsplibLTLIBRARIES \ install-pdf install-pdf-am install-pkglibLTLIBRARIES \ install-ps install-ps-am install-pulseconfDATA \ @@ -11090,8 +11134,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \ uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-binSCRIPTS uninstall-dbuspolicyDATA \ - uninstall-dist_alsapathsDATA \ + uninstall-binSCRIPTS uninstall-commonlibLTLIBRARIES \ + uninstall-dbuspolicyDATA uninstall-dist_alsapathsDATA \ uninstall-dist_alsaprofilesetsDATA \ uninstall-dist_udevrulesDATA uninstall-hook \ uninstall-libLTLIBRARIES uninstall-modlibexecLTLIBRARIES \ @@ -11172,7 +11216,8 @@ update-map-file: echo "};" ) > $(srcdir)/map-file update-all: update-ffmpeg update-map-file -$(installlibLTLIBRARIES): install-pkglibLTLIBRARIES +$(installlibLTLIBRARIES): install-commonlibLTLIBRARIES +$(installpkglibLTLIBRARIES): install-libLTLIBRARIES $(installmodlibexecLTLIBRARIES): install-pkglibLTLIBRARIES install-libLTLIBRARIES $(installpadsplibLTLIBRARIES): install-libLTLIBRARIES diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in index 5ec4641..783e326 100755 --- a/src/daemon/default.pa.in +++ b/src/daemon/default.pa.in @@ -70,6 +70,10 @@ ifelse(@HAVE_UDEV@, 1, [dnl .ifexists module-udev-detect@PA_SOEXT@ load-module module-udev-detect .else +], @HAVE_COREAUDIO@, 1, [dnl +.ifexists module-coreaudio-detect@PA_SOEXT@ +load-module module-coreaudio-detect +.else ], [dnl .ifexists module-detect@PA_SOEXT@ ])dnl diff --git a/src/daemon/system.pa.in b/src/daemon/system.pa.in index 01cea10..06e3f1e 100755 --- a/src/daemon/system.pa.in +++ b/src/daemon/system.pa.in @@ -28,6 +28,10 @@ load-module module-udev-detect .ifexists module-hal-detect@PA_SOEXT@ load-module module-hal-detect .else +], @HAVE_COREAUDIO@, 1, [dnl +.ifexists module-coreaudio-detect@PA_SOEXT@ +load-module module-coreaudio-detect +.else ], [dnl .ifexists module-detect@PA_SOEXT@ ])dnl diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c index bb79e71..a4bb449 100644 --- a/src/modules/alsa/alsa-util.c +++ b/src/modules/alsa/alsa-util.c @@ -261,8 +261,25 @@ int pa_alsa_set_hw_params( /* The PCM pointer is only updated with period granularity */ if (snd_pcm_hw_params_is_batch(hwparams)) { - pa_log_info("Disabling tsched mode since BATCH flag is set"); - _use_tsched = false; + bool is_usb = false; + const char *id; + snd_pcm_info_t* pcm_info; + snd_pcm_info_alloca(&pcm_info); + + if (snd_pcm_info(pcm_handle, pcm_info) == 0 && + (id = snd_pcm_info_get_id(pcm_info))) { + /* This horrible hack makes sure we don't disable tsched on USB + * devices, which have a low enough transfer size for timer-based + * scheduling to work. This can go away when the ALSA API supprots + * querying the block transfer size. */ + if (pa_streq(id, "USB Audio")) + is_usb = true; + } + + if (!is_usb) { + pa_log_info("Disabling tsched mode since BATCH flag is set"); + _use_tsched = false; + } } #if (SND_LIB_VERSION >= ((1<<16)|(0<<8)|24)) /* API additions in 1.0.24 */ diff --git a/src/modules/macosx/module-coreaudio-device.c b/src/modules/macosx/module-coreaudio-device.c index cbf1f27..0c92d42 100644 --- a/src/modules/macosx/module-coreaudio-device.c +++ b/src/modules/macosx/module-coreaudio-device.c @@ -375,6 +375,30 @@ static int ca_sink_set_state(pa_sink *s, pa_sink_state_t state) { return 0; } +/* Caveat: The caller is responsible to get rid of the CFString(Ref). */ +static bool CFString_to_cstr_n(CFStringRef cfstr, char *buf, long n) { + bool ret; + + pa_assert (buf); + + ret = false; + + if (cfstr != NULL) { + const char *tmp = CFStringGetCStringPtr(cfstr, kCFStringEncodingUTF8); + + if (tmp == NULL) { + if (CFStringGetCString(cfstr, buf, n, kCFStringEncodingUTF8)) + ret = true; + } else { + strncpy(buf, tmp, n); + buf[n - 1] = 0; + ret = true; + } + } + + return ret; +} + static int ca_device_create_sink(pa_module *m, AudioBuffer *buf, int channel_idx) { OSStatus err; UInt32 size; @@ -387,6 +411,7 @@ static int ca_device_create_sink(pa_module *m, AudioBuffer *buf, int channel_idx char tmp[255]; pa_strbuf *strbuf; AudioObjectPropertyAddress property_address; + CFStringRef tmp_cfstr = NULL; ca_sink = pa_xnew0(coreaudio_sink, 1); ca_sink->map.channels = buf->mNumberChannels; @@ -401,7 +426,15 @@ static int ca_device_create_sink(pa_module *m, AudioBuffer *buf, int channel_idx property_address.mScope = kAudioDevicePropertyScopeOutput; property_address.mElement = channel_idx + i + 1; size = sizeof(tmp); - err = AudioObjectGetPropertyData(u->object_id, &property_address, 0, NULL, &size, tmp); + err = AudioObjectGetPropertyData(u->object_id, &property_address, 0, NULL, &size, &tmp_cfstr); + if (err == 0) { + err = !(CFString_to_cstr_n(tmp_cfstr, tmp, sizeof(tmp))); + + if (tmp_cfstr) { + CFRelease(tmp_cfstr); + } + } + if (err || !strlen(tmp)) snprintf(tmp, sizeof(tmp), "Channel %d", (int) property_address.mElement); @@ -505,6 +538,7 @@ static int ca_device_create_source(pa_module *m, AudioBuffer *buf, int channel_i char tmp[255]; pa_strbuf *strbuf; AudioObjectPropertyAddress property_address; + CFStringRef tmp_cfstr = NULL; ca_source = pa_xnew0(coreaudio_source, 1); ca_source->map.channels = buf->mNumberChannels; @@ -519,7 +553,15 @@ static int ca_device_create_source(pa_module *m, AudioBuffer *buf, int channel_i property_address.mScope = kAudioDevicePropertyScopeInput; property_address.mElement = channel_idx + i + 1; size = sizeof(tmp); - err = AudioObjectGetPropertyData(u->object_id, &property_address, 0, NULL, &size, tmp); + err = AudioObjectGetPropertyData(u->object_id, &property_address, 0, NULL, &size, &tmp_cfstr); + if (err == 0) { + err = !(CFString_to_cstr_n(tmp_cfstr, tmp, sizeof(tmp))); + + if (tmp_cfstr) { + CFRelease(tmp_cfstr); + } + } + if (err || !strlen(tmp)) snprintf(tmp, sizeof(tmp), "Channel %d", (int) property_address.mElement); diff --git a/src/modules/module-tunnel.c b/src/modules/module-tunnel.c index 833423a..53c4402 100644 --- a/src/modules/module-tunnel.c +++ b/src/modules/module-tunnel.c @@ -2200,8 +2200,6 @@ int pa__init(pa_module*m) { u->mcalign = pa_mcalign_new(pa_frame_size(&u->source->sample_spec)); #endif - pa_xfree(dn); - u->time_event = NULL; u->maxlength = (uint32_t) -1; @@ -2222,6 +2220,8 @@ int pa__init(pa_module*m) { pa_source_put(u->source); #endif + pa_xfree(dn); + if (server) pa_xfree(server); diff --git a/src/pulsecore/rtpoll.c b/src/pulsecore/rtpoll.c index 13c8677..98cf88f 100644 --- a/src/pulsecore/rtpoll.c +++ b/src/pulsecore/rtpoll.c @@ -298,7 +298,7 @@ int pa_rtpoll_run(pa_rtpoll *p) { p->timestamp = now; if (!p->quit && p->timer_enabled) pa_log("poll timeout: %d ms ",(int) ((timeout.tv_sec*1000) + (timeout.tv_usec / 1000))); - else if (q->quit) + else if (p->quit) pa_log("poll timeout is ZERO"); else pa_log("poll timeout is FOREVER"); diff --git a/src/pulsecore/sample-util.h b/src/pulsecore/sample-util.h index c817bc9..3d53ebe 100644 --- a/src/pulsecore/sample-util.h +++ b/src/pulsecore/sample-util.h @@ -55,7 +55,7 @@ void pa_deinterleave(const void *src, void *dst[], unsigned channels, size_t ss, void pa_sample_clamp(pa_sample_format_t format, void *dst, size_t dstr, const void *src, size_t sstr, unsigned n); static inline int32_t pa_mult_s16_volume(int16_t v, int32_t cv) { -#if __WORDSIZE == 64 || ((ULONG_MAX) > (UINT_MAX)) +#if HAVE_FAST_64BIT_OPERATIONS /* Multiply with 64 bit integers on 64 bit platforms */ return (v * (int64_t) cv) >> 16; #else diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index 539ae17..8ec63b5 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -1580,6 +1580,8 @@ int pa_sink_input_start_move(pa_sink_input *i) { if ((r = pa_hook_fire(&i->core->hooks[PA_CORE_HOOK_SINK_INPUT_MOVE_START], i)) < 0) return r; + pa_log_debug("Starting to move sink input %u from '%s'", (unsigned) i->index, i->sink->name); + /* Kill directly connected outputs */ while ((o = pa_idxset_first(i->direct_outputs, NULL))) { pa_assert(o != p); diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c index 9000972..c73c548 100644 --- a/src/pulsecore/source-output.c +++ b/src/pulsecore/source-output.c @@ -1230,6 +1230,8 @@ int pa_source_output_start_move(pa_source_output *o) { if ((r = pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_START], o)) < 0) return r; + pa_log_debug("Starting to move source output %u from '%s'", (unsigned) o->index, o->source->name); + origin = o->source; pa_idxset_remove_by_data(o->source->outputs, o, NULL); diff --git a/src/tests/mult-s16-test.c b/src/tests/mult-s16-test.c index d2a351c..845e61c 100644 --- a/src/tests/mult-s16-test.c +++ b/src/tests/mult-s16-test.c @@ -93,12 +93,10 @@ int main(int argc, char *argv[]) { if (!getenv("MAKE_CHECK")) pa_log_set_level(PA_LOG_DEBUG); -#if __WORDSIZE == 64 || ((ULONG_MAX) > (UINT_MAX)) - pa_log_debug("This seems to be 64-bit code."); -#elif __WORDSIZE == 32 - pa_log_debug("This seems to be 32-bit code."); +#if HAVE_FAST_64BIT_OPERATIONS + pa_log_debug("Detected CPU with fast 64-bit operations."); #else - pa_log_debug("Don't know if this is 32- or 64-bit code."); + pa_log_debug("Not detected CPU with fast 64-bit operations."); #endif s = suite_create("Mult-s16"); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-pulseaudio/pulseaudio.git _______________________________________________ pkg-pulseaudio-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-pulseaudio-devel

