Hello community, here is the log from the commit of package pulseaudio for openSUSE:Factory checked in at 2017-09-21 12:27:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pulseaudio (Old) and /work/SRC/openSUSE:Factory/.pulseaudio.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pulseaudio" Thu Sep 21 12:27:57 2017 rev:146 rq:527284 version:11.1 Changes: -------- --- /work/SRC/openSUSE:Factory/pulseaudio/pulseaudio.changes 2017-09-08 20:40:36.406713626 +0200 +++ /work/SRC/openSUSE:Factory/.pulseaudio.new/pulseaudio.changes 2017-09-21 12:28:05.280312393 +0200 @@ -1,0 +2,14 @@ +Tue Sep 19 08:02:43 UTC 2017 - [email protected] + +- Update to 11.1 + * Fix a crash in filter modules related to flat volumes and volume + sharing + * Fix a crash when the bluetooth adapter reports weird MTU size + * Disable bluetooth MTU autodetection by default + * Add mixer handling back for hardware that doesn't have any alsa-lib + configuration + * Prioritize USB devices over built-in sound cards (11.0 was supposed + to have this feature, but the implementation turned out to be + incomplete) + +------------------------------------------------------------------- Old: ---- pulseaudio-11.0.tar.xz New: ---- pulseaudio-11.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pulseaudio.spec ++++++ --- /var/tmp/diff_new_pack.0iiGAg/_old 2017-09-21 12:28:07.236037285 +0200 +++ /var/tmp/diff_new_pack.0iiGAg/_new 2017-09-21 12:28:07.236037285 +0200 @@ -16,7 +16,7 @@ # -%define drvver 11.0 +%define drvver 11.1 %define soname 0 %define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d %define _fwdefdir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services @@ -27,7 +27,7 @@ %define _bluez5used 0%(echo "%{_bluezVersion}" | grep -q '^5' && echo 1) %define _bashcompletionsdir %{_datadir}/bash-completion/completions Name: pulseaudio -Version: 11.0 +Version: 11.1 Release: 0 Summary: A Networked Sound Server License: GPL-2.0+ AND LGPL-2.1+ ++++++ pulseaudio-11.0.tar.xz -> pulseaudio-11.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/.tarball-version new/pulseaudio-11.1/.tarball-version --- old/pulseaudio-11.0/.tarball-version 2017-09-05 11:16:44.000000000 +0200 +++ new/pulseaudio-11.1/.tarball-version 2017-09-18 16:45:38.000000000 +0200 @@ -1 +1 @@ -11.0 +11.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/.version new/pulseaudio-11.1/.version --- old/pulseaudio-11.0/.version 2017-09-05 11:16:44.000000000 +0200 +++ new/pulseaudio-11.1/.version 2017-09-18 16:45:38.000000000 +0200 @@ -1 +1 @@ -11.0 +11.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/NEWS new/pulseaudio-11.1/NEWS --- old/pulseaudio-11.0/NEWS 2017-09-05 11:10:00.000000000 +0200 +++ new/pulseaudio-11.1/NEWS 2017-09-18 16:39:50.000000000 +0200 @@ -1,3 +1,21 @@ +PulseAudio 11.1 + +A bug fix release. + + * Fix a crash in filter modules related to flat volumes and volume sharing + * Fix a crash when the bluetooth adapter reports weird MTU size + * Disable bluetooth MTU autodetection by default + * Add mixer handling back for hardware that doesn't have any alsa-lib + configuration + * Prioritize USB devices over built-in sound cards (11.0 was supposed to have + this feature, but the implementation turned out to be incomplete) + +Contributors + + Arun Raghavan + Tanu Kaskinen + + PulseAudio 11.0 Changes at a glance: @@ -17,6 +35,7 @@ module-virtual-surround-sink * Fixed input device handling in module-waveout * Improved bluetooth MTU configuration + * GNU Hurd support * Applications can request LADSPA or virtual surround filtering for their streams * Support for 32-bit applications on 64-bit systems in padsp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/configure new/pulseaudio-11.1/configure --- old/pulseaudio-11.0/configure 2017-09-05 11:14:08.000000000 +0200 +++ new/pulseaudio-11.1/configure 2017-09-18 16:42:42.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for pulseaudio 11.0. +# Generated by GNU Autoconf 2.69 for pulseaudio 11.1. # # Report bugs to <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='pulseaudio' PACKAGE_TARNAME='pulseaudio' -PACKAGE_VERSION='11.0' -PACKAGE_STRING='pulseaudio 11.0' +PACKAGE_VERSION='11.1' +PACKAGE_STRING='pulseaudio 11.1' PACKAGE_BUGREPORT='pulseaudio-discuss (at) lists (dot) freedesktop (dot) org' PACKAGE_URL='http://pulseaudio.org/' @@ -1753,7 +1753,7 @@ # 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 11.0 to adapt to many kinds of systems. +\`configure' configures pulseaudio 11.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1824,7 +1824,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pulseaudio 11.0:";; + short | recursive ) echo "Configuration of pulseaudio 11.1:";; esac cat <<\_ACEOF @@ -2129,7 +2129,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pulseaudio configure 11.0 +pulseaudio configure 11.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2902,7 +2902,7 @@ 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 11.0, which was +It was created by pulseaudio $as_me 11.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3858,7 +3858,7 @@ # Define the identity of the package. PACKAGE='pulseaudio' - VERSION='11.0' + VERSION='11.1' cat >>confdefs.h <<_ACEOF @@ -30044,7 +30044,7 @@ # 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 11.0, which was +This file was extended by pulseaudio $as_me 11.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -30111,7 +30111,7 @@ 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 11.0 +pulseaudio config.status 11.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/src/modules/alsa/alsa-mixer.c new/pulseaudio-11.1/src/modules/alsa/alsa-mixer.c --- old/pulseaudio-11.0/src/modules/alsa/alsa-mixer.c 2017-09-03 13:41:12.000000000 +0200 +++ new/pulseaudio-11.1/src/modules/alsa/alsa-mixer.c 2017-09-18 12:41:02.000000000 +0200 @@ -3989,6 +3989,7 @@ static const struct description_map well_known_descriptions[] = { { "analog-mono", N_("Analog Mono") }, { "analog-stereo", N_("Analog Stereo") }, + { "stereo-fallback", N_("Stereo") }, /* Note: Not translated to "Analog Stereo Input", because the source * name gets "Input" appended to it automatically, so adding "Input" * here would lead to the source name to become "Analog Stereo Input @@ -4016,7 +4017,6 @@ { "iec958-dts-surround-51", N_("Digital Surround 5.1 (IEC958/DTS)") }, { "hdmi-stereo", N_("Digital Stereo (HDMI)") }, { "hdmi-surround-51", N_("Digital Surround 5.1 (HDMI)") }, - { "unknown-stereo", N_("Stereo") }, }; pa_assert(m); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/src/modules/alsa/mixer/profile-sets/default.conf new/pulseaudio-11.1/src/modules/alsa/mixer/profile-sets/default.conf --- old/pulseaudio-11.0/src/modules/alsa/mixer/profile-sets/default.conf 2017-09-03 13:41:12.000000000 +0200 +++ new/pulseaudio-11.1/src/modules/alsa/mixer/profile-sets/default.conf 2017-09-18 12:41:02.000000000 +0200 @@ -115,6 +115,15 @@ paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic priority = 10 +# If everything else fails, try to use hw:0 as a stereo device. +[Mapping stereo-fallback] +device-strings = hw:%f +fallback = yes +channel-map = front-left,front-right +paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 +paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic +priority = 1 + [Mapping analog-surround-21] device-strings = surround21:%f channel-map = front-left,front-right,lfe @@ -460,12 +469,6 @@ direction = input paths-input = multichannel-input -[Mapping unknown-stereo] -device-strings = hw:%f -channel-map = front-left,front-right -fallback = yes -priority = 1 - ; An example for defining multiple-sink profiles #[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] #description = Foobar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/src/modules/bluetooth/backend-native.c new/pulseaudio-11.1/src/modules/bluetooth/backend-native.c --- old/pulseaudio-11.0/src/modules/bluetooth/backend-native.c 2017-09-03 13:41:12.000000000 +0200 +++ new/pulseaudio-11.1/src/modules/bluetooth/backend-native.c 2017-09-18 12:41:02.000000000 +0200 @@ -206,6 +206,7 @@ if (getsockopt(sock, SOL_SCO, SCO_OPTIONS, &sco_opt, &len) < 0) pa_log_warn("getsockopt(SCO_OPTIONS) failed, loading defaults"); else { + pa_log_debug("autodetected imtu = omtu = %u", sco_opt.mtu); if (imtu) *imtu = sco_opt.mtu; if (omtu) *omtu = sco_opt.mtu; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/src/modules/bluetooth/module-bluez5-device.c new/pulseaudio-11.1/src/modules/bluetooth/module-bluez5-device.c --- old/pulseaudio-11.0/src/modules/bluetooth/module-bluez5-device.c 2017-09-03 13:41:12.000000000 +0200 +++ new/pulseaudio-11.1/src/modules/bluetooth/module-bluez5-device.c 2017-09-18 12:41:02.000000000 +0200 @@ -787,6 +787,16 @@ if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT || u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY) { u->read_block_size = u->read_link_mtu; u->write_block_size = u->write_link_mtu; + + if (!pa_frame_aligned(u->read_block_size, &u->source->sample_spec)) { + pa_log_debug("Got invalid read MTU: %lu, rounding down", u->read_block_size); + u->read_block_size = pa_frame_align(u->read_block_size, &u->source->sample_spec); + } + + if (!pa_frame_aligned(u->write_block_size, &u->sink->sample_spec)) { + pa_log_debug("Got invalid write MTU: %lu, rounding down", u->write_block_size); + u->write_block_size = pa_frame_align(u->write_block_size, &u->sink->sample_spec); + } } else { u->read_block_size = (u->read_link_mtu - sizeof(struct rtp_header) - sizeof(struct rtp_payload)) @@ -2256,7 +2266,7 @@ goto fail_free_modargs; } - autodetect_mtu = true; + autodetect_mtu = false; if (pa_modargs_get_value_boolean(ma, "autodetect_mtu", &autodetect_mtu) < 0) { pa_log("Invalid boolean value for autodetect_mtu parameter"); goto fail_free_modargs; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/src/modules/bluetooth/module-bluez5-discover.c new/pulseaudio-11.1/src/modules/bluetooth/module-bluez5-discover.c --- old/pulseaudio-11.0/src/modules/bluetooth/module-bluez5-discover.c 2017-09-03 13:41:12.000000000 +0200 +++ new/pulseaudio-11.1/src/modules/bluetooth/module-bluez5-discover.c 2017-09-18 12:41:02.000000000 +0200 @@ -124,7 +124,7 @@ goto fail; } - autodetect_mtu = true; + autodetect_mtu = false; if (pa_modargs_get_value_boolean(ma, "autodetect_mtu", &autodetect_mtu) < 0) { pa_log("Invalid boolean value for autodetect_mtu parameter"); goto fail; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/src/pulse/version.h new/pulseaudio-11.1/src/pulse/version.h --- old/pulseaudio-11.0/src/pulse/version.h 2017-09-05 11:16:16.000000000 +0200 +++ new/pulseaudio-11.1/src/pulse/version.h 2017-09-18 16:44:42.000000000 +0200 @@ -33,7 +33,7 @@ /** 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() ("11.0.0") +#define pa_get_headers_version() ("11.1.0") /** Return the version of the library the current application is * linked to. */ @@ -53,7 +53,7 @@ #define PA_MAJOR 11 /** 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/src/pulsecore/sink.c new/pulseaudio-11.1/src/pulsecore/sink.c --- old/pulseaudio-11.0/src/pulsecore/sink.c 2017-09-03 13:41:12.000000000 +0200 +++ new/pulseaudio-11.1/src/pulsecore/sink.c 2017-09-18 12:41:02.000000000 +0200 @@ -1710,7 +1710,8 @@ PA_IDXSET_FOREACH(i, s->inputs, idx) { compute_reference_ratio(i); - if (i->origin_sink && (i->origin_sink->flags & PA_SINK_SHARE_VOLUME_WITH_MASTER)) + if (i->origin_sink && (i->origin_sink->flags & PA_SINK_SHARE_VOLUME_WITH_MASTER) + && PA_SINK_IS_LINKED(i->origin_sink->state)) compute_reference_ratios(i->origin_sink); } } @@ -1737,7 +1738,8 @@ pa_cvolume_reset(&i->real_ratio, i->real_ratio.channels); i->soft_volume = i->volume_factor; - compute_real_ratios(i->origin_sink); + if (PA_SINK_IS_LINKED(i->origin_sink->state)) + compute_real_ratios(i->origin_sink); continue; } @@ -1836,7 +1838,8 @@ pa_cvolume remapped; if (i->origin_sink && (i->origin_sink->flags & PA_SINK_SHARE_VOLUME_WITH_MASTER)) { - get_maximum_input_volume(i->origin_sink, max_volume, channel_map); + if (PA_SINK_IS_LINKED(i->origin_sink->state)) + get_maximum_input_volume(i->origin_sink, max_volume, channel_map); /* Ignore this input. The origin sink uses volume sharing, so this * input's volume will be set to be equal to the root sink's real @@ -1892,7 +1895,8 @@ compute_reference_ratio(i); } - update_real_volume(i->origin_sink, new_volume, channel_map); + if (PA_SINK_IS_LINKED(i->origin_sink->state)) + update_real_volume(i->origin_sink, new_volume, channel_map); } } } @@ -1947,11 +1951,12 @@ pa_cvolume new_volume; if (i->origin_sink && (i->origin_sink->flags & PA_SINK_SHARE_VOLUME_WITH_MASTER)) { - propagate_reference_volume(i->origin_sink); + if (PA_SINK_IS_LINKED(i->origin_sink->state)) + propagate_reference_volume(i->origin_sink); /* Since the origin sink uses volume sharing, this input's volume * needs to be updated to match the root sink's real volume, but - * that will be done later in update_shared_real_volume(). */ + * that will be done later in update_real_volume(). */ continue; } @@ -2005,7 +2010,8 @@ return false; PA_IDXSET_FOREACH(i, s->inputs, idx) { - if (i->origin_sink && (i->origin_sink->flags & PA_SINK_SHARE_VOLUME_WITH_MASTER)) + if (i->origin_sink && (i->origin_sink->flags & PA_SINK_SHARE_VOLUME_WITH_MASTER) + && PA_SINK_IS_LINKED(i->origin_sink->state)) update_reference_volume(i->origin_sink, v, channel_map, false); } @@ -2176,7 +2182,8 @@ pa_sw_cvolume_multiply(&new_volume, &new_volume, &i->reference_ratio); pa_sink_input_set_volume_direct(i, &new_volume); - if (i->origin_sink && (i->origin_sink->flags & PA_SINK_SHARE_VOLUME_WITH_MASTER)) + if (i->origin_sink && (i->origin_sink->flags & PA_SINK_SHARE_VOLUME_WITH_MASTER) + && PA_SINK_IS_LINKED(i->origin_sink->state)) propagate_real_volume(i->origin_sink, old_real_volume); } } @@ -3527,8 +3534,6 @@ priority += 500; else if (pa_streq(s, "portable")) priority += 450; - else if (pa_streq(s, "internal")) - priority += 400; } if ((s = pa_proplist_gets(p, PA_PROP_DEVICE_BUS))) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pulseaudio-11.0/src/pulsecore/source.c new/pulseaudio-11.1/src/pulsecore/source.c --- old/pulseaudio-11.0/src/pulsecore/source.c 2017-09-03 13:41:12.000000000 +0200 +++ new/pulseaudio-11.1/src/pulsecore/source.c 2017-09-18 12:41:02.000000000 +0200 @@ -1284,7 +1284,8 @@ PA_IDXSET_FOREACH(o, s->outputs, idx) { compute_reference_ratio(o); - if (o->destination_source && (o->destination_source->flags & PA_SOURCE_SHARE_VOLUME_WITH_MASTER)) + if (o->destination_source && (o->destination_source->flags & PA_SOURCE_SHARE_VOLUME_WITH_MASTER) + && PA_SOURCE_IS_LINKED(o->destination_source->state)) compute_reference_ratios(o->destination_source); } } @@ -1311,7 +1312,8 @@ pa_cvolume_reset(&o->real_ratio, o->real_ratio.channels); o->soft_volume = o->volume_factor; - compute_real_ratios(o->destination_source); + if (PA_SOURCE_IS_LINKED(o->destination_source->state)) + compute_real_ratios(o->destination_source); continue; } @@ -1410,7 +1412,8 @@ pa_cvolume remapped; if (o->destination_source && (o->destination_source->flags & PA_SOURCE_SHARE_VOLUME_WITH_MASTER)) { - get_maximum_output_volume(o->destination_source, max_volume, channel_map); + if (PA_SOURCE_IS_LINKED(o->destination_source->state)) + get_maximum_output_volume(o->destination_source, max_volume, channel_map); /* Ignore this output. The origin source uses volume sharing, so this * output's volume will be set to be equal to the root source's real @@ -1466,7 +1469,8 @@ compute_reference_ratio(o); } - update_real_volume(o->destination_source, new_volume, channel_map); + if (PA_SOURCE_IS_LINKED(o->destination_source->state)) + update_real_volume(o->destination_source, new_volume, channel_map); } } } @@ -1521,11 +1525,12 @@ pa_cvolume new_volume; if (o->destination_source && (o->destination_source->flags & PA_SOURCE_SHARE_VOLUME_WITH_MASTER)) { - propagate_reference_volume(o->destination_source); + if (PA_SOURCE_IS_LINKED(o->destination_source->state)) + propagate_reference_volume(o->destination_source); /* Since the origin source uses volume sharing, this output's volume * needs to be updated to match the root source's real volume, but - * that will be done later in update_shared_real_volume(). */ + * that will be done later in update_real_volume(). */ continue; } @@ -1579,7 +1584,8 @@ return false; PA_IDXSET_FOREACH(o, s->outputs, idx) { - if (o->destination_source && (o->destination_source->flags & PA_SOURCE_SHARE_VOLUME_WITH_MASTER)) + if (o->destination_source && (o->destination_source->flags & PA_SOURCE_SHARE_VOLUME_WITH_MASTER) + && PA_SOURCE_IS_LINKED(o->destination_source->state)) update_reference_volume(o->destination_source, v, channel_map, false); } @@ -1759,7 +1765,8 @@ pa_sw_cvolume_multiply(&new_volume, &new_volume, &o->reference_ratio); pa_source_output_set_volume_direct(o, &new_volume); - if (o->destination_source && (o->destination_source->flags & PA_SOURCE_SHARE_VOLUME_WITH_MASTER)) + if (o->destination_source && (o->destination_source->flags & PA_SOURCE_SHARE_VOLUME_WITH_MASTER) + && PA_SOURCE_IS_LINKED(o->destination_source->state)) propagate_real_volume(o->destination_source, old_real_volume); } }
