This is an automated email from the git hooks/post-receive script. fsateler pushed a commit to branch master in repository pulseaudio.
commit 38f07923e52a6f5fc3814296de7467adf422284d Author: Felipe Sateler <fsate...@debian.org> Date: Sun Nov 1 13:28:32 2015 -0300 Imported Upstream version 7.1 --- .tarball-version | 2 +- .version | 2 +- Makefile.in | 2 +- NEWS | 18 ++++++++++++++++++ configure | 22 +++++++++++----------- configure.ac | 2 +- man/pulseaudio.1 | 2 +- man/pulseaudio.1.xml.in | 4 +++- src/daemon/main.c | 8 ++++++++ src/daemon/systemd/user/pulseaudio.service.in | 2 ++ src/modules/alsa/alsa-mixer.c | 6 +++--- src/modules/alsa/alsa-ucm.c | 1 - src/modules/alsa/mixer/paths/analog-input.conf | 6 ++++++ .../alsa/mixer/paths/analog-output-lineout.conf | 8 ++++++++ .../mixer/paths/analog-output-speaker-always.conf | 4 ++++ .../alsa/mixer/paths/analog-output-speaker.conf | 4 ++++ src/modules/module-null-sink.c | 6 ++++-- src/pulse/version.h | 4 ++-- src/pulsecore/pstream.c | 11 ++++++++++- src/pulsecore/shm.c | 10 +++++++--- 20 files changed, 95 insertions(+), 29 deletions(-) diff --git a/.tarball-version b/.tarball-version index 4fedf1d..0f0fefa 100644 --- a/.tarball-version +++ b/.tarball-version @@ -1 +1 @@ -7.0 +7.1 diff --git a/.version b/.version index 4fedf1d..0f0fefa 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -7.0 +7.1 diff --git a/Makefile.in b/Makefile.in index d5aaf4e..09a3705 100644 --- a/Makefile.in +++ b/Makefile.in @@ -239,7 +239,7 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build-aux/missing \ $(top_srcdir)/src/pulse/version.h.in ABOUT-NLS NEWS README \ build-aux/compile build-aux/config.guess \ - build-aux/config.rpath build-aux/config.sub \ + build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ build-aux/install-sh build-aux/ltmain.sh build-aux/missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) diff --git a/NEWS b/NEWS index c1f2755..d9180a6 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,21 @@ +PulseAudio 7.1 + +Changes at a glance: + + * Fix a crasher when using srbchannel + * Fix a build system typo that caused symlinks to turn up in / + * Make Xonar cards work better + * Other minor bug fixes and improvements + +Contributors: + + David Henningsson (4): + Felipe Sateler (2): + Georg Chini (1): + Takashi Iwai (1): + Tanu Kaskinen (3): + + PulseAudio 7.0 Changes at a glance: diff --git a/configure b/configure index b31097d..ff9bb7a 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.0. +# Generated by GNU Autoconf 2.69 for pulseaudio 7.1. # # 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.0' -PACKAGE_STRING='pulseaudio 7.0' +PACKAGE_VERSION='7.1' +PACKAGE_STRING='pulseaudio 7.1' PACKAGE_BUGREPORT='pulseaudio-discuss (at) lists (dot) freedesktop (dot) org' PACKAGE_URL='http://pulseaudio.org/' @@ -1741,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.0 to adapt to many kinds of systems. +\`configure' configures pulseaudio 7.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1811,7 +1811,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pulseaudio 7.0:";; + short | recursive ) echo "Configuration of pulseaudio 7.1:";; esac cat <<\_ACEOF @@ -2113,7 +2113,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pulseaudio configure 7.0 +pulseaudio configure 7.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2703,7 +2703,7 @@ 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.0, which was +It was created by pulseaudio $as_me 7.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3655,7 +3655,7 @@ fi # Define the identity of the package. PACKAGE='pulseaudio' - VERSION='7.0' + VERSION='7.1' cat >>confdefs.h <<_ACEOF @@ -27924,7 +27924,7 @@ else bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion) fi -if test "x$bashcompletionsdir" = ""; then +if test "x$bashcompletionsdir" = "x"; then bashcompletiondir="${datadir}/bash-completion/completions" fi @@ -28790,7 +28790,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.0, which was +This file was extended by pulseaudio $as_me 7.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -28857,7 +28857,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.0 +pulseaudio config.status 7.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index fa8ea1c..f777223 100644 --- a/configure.ac +++ b/configure.ac @@ -1439,7 +1439,7 @@ AC_SUBST(udevrulesdir) AC_ARG_WITH([bash-completion-dir], AS_HELP_STRING([--with-bash-completion-dir=DIR], [Directory for bash completion files]), [bashcompletiondir=$withval], [bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)]) -if test "x$bashcompletionsdir" = ""; then +if test "x$bashcompletionsdir" = "x"; then bashcompletiondir="${datadir}/bash-completion/completions" fi diff --git a/man/pulseaudio.1 b/man/pulseaudio.1 index 5f3e027..60eb94e 100644 --- a/man/pulseaudio.1 +++ b/man/pulseaudio.1 @@ -57,7 +57,7 @@ Return 0 as return code when the PulseAudio daemon is already running for the ca Run as system-wide instance instead of per-user. Please note that this disables certain features of PulseAudio and is generally not recommended unless the system knows no local users (e.g. is a thin client). This feature needs special configuration and a dedicated UNIX user set up. It is highly recommended to combine this with \fB--disallow-module-loading\f1 (see below). .TP \fB-D | --daemonize\f1\fI[=BOOL]\f1 -Daemonize after startup, i.e. detach from the terminal. +Daemonize after startup, i.e. detach from the terminal. Note that when running as a systemd service you should use \fB--daemonize=no\f1 for systemd notification to work. .TP \fB--fail\f1\fI[=BOOL]\f1 Fail startup when any of the commands specified in the startup script \fIdefault.pa\f1 (see below) fails. diff --git a/man/pulseaudio.1.xml.in b/man/pulseaudio.1.xml.in index e6291d8..650b417 100644 --- a/man/pulseaudio.1.xml.in +++ b/man/pulseaudio.1.xml.in @@ -130,7 +130,9 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. <p><opt>-D | --daemonize</opt><arg>[=BOOL]</arg></p> <optdesc><p>Daemonize after startup, i.e. detach from the - terminal.</p></optdesc> + terminal. Note that when running as a systemd service you should + use <opt>--daemonize=no</opt> for systemd notification to work. + </p></optdesc> </option> <option> diff --git a/src/daemon/main.c b/src/daemon/main.c index 8137121..7734f52 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -1131,12 +1131,20 @@ int main(int argc, char *argv[]) { pa_log_info("Daemon startup complete."); +#ifdef HAVE_SYSTEMD_DAEMON + sd_notify(0, "READY=1"); +#endif + retval = 0; if (pa_mainloop_run(mainloop, &retval) < 0) goto finish; pa_log_info("Daemon shutdown initiated."); +#ifdef HAVE_SYSTEMD_DAEMON + sd_notify(0, "STOPPING=1"); +#endif + finish: #ifdef HAVE_DBUS if (server_bus) diff --git a/src/daemon/systemd/user/pulseaudio.service.in b/src/daemon/systemd/user/pulseaudio.service.in index e08ff1e..df42fc3 100644 --- a/src/daemon/systemd/user/pulseaudio.service.in +++ b/src/daemon/systemd/user/pulseaudio.service.in @@ -2,6 +2,8 @@ Description=Sound Service [Service] +# Note that notify will only work if --daemonize=no +Type=notify ExecStart=@PA_BINARY@ --daemonize=no Restart=on-failure diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c index 425c5e6..7580e8a 100644 --- a/src/modules/alsa/alsa-mixer.c +++ b/src/modules/alsa/alsa-mixer.c @@ -1743,10 +1743,10 @@ static int element_probe(pa_alsa_element *e, snd_mixer_t *m) { if (e->n_channels <= 0) { pa_log_warn("Volume element %s with no channels?", e->alsa_name); - return -1; + e->volume_use = PA_ALSA_VOLUME_IGNORE; } - if (e->n_channels > 2) { + else if (e->n_channels > 2) { /* FIXME: In some places code like this is used: * * e->masks[alsa_channel_ids[p]][e->n_channels-1] @@ -1759,7 +1759,7 @@ static int element_probe(pa_alsa_element *e, snd_mixer_t *m) { * don't support elements with more than two * channels... */ pa_log_warn("Volume element %s has %u channels. That's too much! I can't handle that!", e->alsa_name, e->n_channels); - return -1; + e->volume_use = PA_ALSA_VOLUME_IGNORE; } if (!e->override_map) { diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c index ff5693d..42f3242 100644 --- a/src/modules/alsa/alsa-ucm.c +++ b/src/modules/alsa/alsa-ucm.c @@ -778,7 +778,6 @@ static void ucm_add_port_combination( pa_hashmap_put(ports, port->name, port); pa_log_debug("Add port %s: %s", port->name, port->description); - port->profiles = pa_hashmap_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func); } port->priority = priority; diff --git a/src/modules/alsa/mixer/paths/analog-input.conf b/src/modules/alsa/mixer/paths/analog-input.conf index 27ca74c..c9db677 100644 --- a/src/modules/alsa/mixer/paths/analog-input.conf +++ b/src/modules/alsa/mixer/paths/analog-input.conf @@ -30,6 +30,9 @@ override-map.2 = all-left,all-right [Element Mic] required-absent = any +[Element Mic Boost] +required-absent = any + [Element Dock Mic] required-absent = any @@ -78,6 +81,9 @@ required-absent = any [Element Line] required-absent = any +[Element Line Boost] +required-absent = any + [Element Aux] required-absent = any diff --git a/src/modules/alsa/mixer/paths/analog-output-lineout.conf b/src/modules/alsa/mixer/paths/analog-output-lineout.conf index 454810d..4add78d 100644 --- a/src/modules/alsa/mixer/paths/analog-output-lineout.conf +++ b/src/modules/alsa/mixer/paths/analog-output-lineout.conf @@ -87,6 +87,14 @@ state.plugged = unknown state.unplugged = unknown required-any = any +[Jack Dock Line Out] +required-any = any + +[Jack Dock Line Out Phantom] +state.plugged = unknown +state.unplugged = unknown +required-any = any + [Element Hardware Master] switch = mute volume = merge diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf index 599cfc8..71f356d 100644 --- a/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf +++ b/src/modules/alsa/mixer/paths/analog-output-speaker-always.conf @@ -49,6 +49,10 @@ state.unplugged = unknown state.plugged = no state.unplugged = unknown +[Jack Dock Line Out] +state.plugged = no +state.unplugged = unknown + [Element Hardware Master] switch = mute volume = merge diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf index ab02ad0..9f4dac4 100644 --- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf +++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf @@ -52,6 +52,10 @@ state.unplugged = unknown state.plugged = no state.unplugged = unknown +[Jack Dock Line Out] +state.plugged = no +state.unplugged = unknown + [Jack Speaker Phantom] required-any = any state.plugged = unknown diff --git a/src/modules/module-null-sink.c b/src/modules/module-null-sink.c index 0270ba2..5b98ba5 100644 --- a/src/modules/module-null-sink.c +++ b/src/modules/module-null-sink.c @@ -93,8 +93,10 @@ static int sink_process_msg( switch (code) { case PA_SINK_MESSAGE_SET_STATE: - if (PA_PTR_TO_UINT(data) == PA_SINK_RUNNING) - u->timestamp = pa_rtclock_now(); + if (pa_sink_get_state(u->sink) == PA_SINK_SUSPENDED || pa_sink_get_state(u->sink) == PA_SINK_INIT) { + if (PA_PTR_TO_UINT(data) == PA_SINK_RUNNING || PA_PTR_TO_UINT(data) == PA_SINK_IDLE) + u->timestamp = pa_rtclock_now(); + } break; diff --git a/src/pulse/version.h b/src/pulse/version.h index 18e8a1f..c815bd0 100644 --- a/src/pulse/version.h +++ b/src/pulse/version.h @@ -33,7 +33,7 @@ PA_C_DECL_BEGIN /** Return the version of the header files. Keep in mind that this is a macro and not a function, so it is impossible to get the pointer of it. */ -#define pa_get_headers_version() ("7.0.0") +#define pa_get_headers_version() ("7.1.0") /** Return the version of the library the current application is * linked to. */ @@ -53,7 +53,7 @@ const char* pa_get_library_version(void); #define PA_MAJOR 7 /** The minor version of PA. \since 0.9.15 */ -#define PA_MINOR 0 +#define PA_MINOR 1 /** The micro version of PA (will always be 0 from v1.0 onwards). \since 0.9.15 */ #define PA_MICRO 0 diff --git a/src/pulsecore/pstream.c b/src/pulsecore/pstream.c index 8c14fbb..98a8382 100644 --- a/src/pulsecore/pstream.c +++ b/src/pulsecore/pstream.c @@ -216,14 +216,23 @@ fail: } static bool srb_callback(pa_srbchannel *srb, void *userdata) { + bool b; pa_pstream *p = userdata; pa_assert(p); pa_assert(PA_REFCNT_VALUE(p) > 0); pa_assert(p->srb == srb); + pa_pstream_ref(p); + do_pstream_read_write(p); - return p->srb != NULL; + + /* If either pstream or the srb is going away, return false. + We need to check this before p is destroyed. */ + b = (PA_REFCNT_VALUE(p) > 1) && (p->srb == srb); + pa_pstream_unref(p); + + return b; } static void io_callback(pa_iochannel*io, void *userdata) { diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c index eefd7ba..d613168 100644 --- a/src/pulsecore/shm.c +++ b/src/pulsecore/shm.c @@ -288,7 +288,7 @@ void pa_shm_punch(pa_shm *m, size_t offset, size_t size) { #ifdef HAVE_SHM_OPEN -int pa_shm_attach(pa_shm *m, unsigned id, bool writable) { +static int shm_attach(pa_shm *m, unsigned id, bool writable, bool for_cleanup) { char fn[32]; int fd = -1; int prot; @@ -299,7 +299,7 @@ int pa_shm_attach(pa_shm *m, unsigned id, bool writable) { segment_name(fn, sizeof(fn), m->id = id); if ((fd = shm_open(fn, writable ? O_RDWR : O_RDONLY, 0)) < 0) { - if (errno != EACCES && errno != ENOENT) + if ((errno != EACCES && errno != ENOENT) || !for_cleanup) pa_log("shm_open() failed: %s", pa_cstrerror(errno)); goto fail; } @@ -338,6 +338,10 @@ fail: return -1; } +int pa_shm_attach(pa_shm *m, unsigned id, bool writable) { + return shm_attach(m, id, writable, false); +} + #else /* HAVE_SHM_OPEN */ int pa_shm_attach(pa_shm *m, unsigned id, bool writable) { @@ -375,7 +379,7 @@ int pa_shm_cleanup(void) { if (pa_atou(de->d_name + SHM_ID_LEN, &id) < 0) continue; - if (pa_shm_attach(&seg, id, false) < 0) + if (shm_attach(&seg, id, false, true) < 0) continue; if (seg.size < SHM_MARKER_SIZE) { -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-pulseaudio/pulseaudio.git _______________________________________________ pkg-pulseaudio-devel mailing list pkg-pulseaudio-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-pulseaudio-devel