Subject: CVS commit: pkgsrc/audio/pulseaudio
From: Ryo ONODERA
Date: 2017-01-21 20:32:11
Message id: 20170121193211.D27D7FBA6@cvs.NetBSD.org

Log Message:
Update to 10.0

Changelog:
# PulseAudio 10.0 release notes
## Changes at a glance

  * Automatically switch Bluetooth profile when using VoIP
    applications
  * New module for prioritizing passthrough streams
    (module-allow-passthrough)
  * Fixed hotplugging support for USB surround sound cards
  * Separate volumes for Bluetooth A2DP and HSP profiles
  * memfd-based shared memory mechanism enabled by default
  * Removed module-xenpv-sink
  * Dropped dependency to json-c
  * When using systemd to start PulseAudio, pulseaudio.socket is
    always started first
  * Compatibility with OpenSSL 1.1.0
  * Clarified qpaeq license

## Notes for end users
### Automatically switch Bluetooth profile when using VoIP applications

Bluetooth headsets typically support both the A2DP profile, which is
suitable for music, and the HSP profile, which is suitable for
telephony use cases. module-bluetooth-policy will now automatically
switch the profile of a Bluetooth headset from A2DP to HSP/HFP when an
application creates a recording stream with property media.role=phone
(telephony applications should set that property for their
streams). When the stream goes away, the profile gets restored back to
A2DP. This way the user doesn't have to manually switch the profiles
when starting and stopping a call. This behaviour can be disabled by
giving argument auto_switch=false to module-bluetooth-policy.

### New module for prioritizing passthrough streams (module-allow-passthrough)

Passthrough streams are streams whose content must go completely unaltered from \ 
the application to the sound card, and they are mainly used for playing back \ 
compressed audio through an S/PDIF connection. When a passthrough stream is \ 
playing to a device, no other streams can play at the same time to the same \ 
device, and if there's already something playing when a passthrough stream is \ 
created, the passthrough stream creation will normally fail. Now we have a new \ 
module, called module-allow-passthrough, which will give higher priority to \ 
passthrough streams, so that if there are other streams playing when a \ 
passthrough stream is created, those other streams will be moved out of the way \ 
to a dummy device.

### Fixed hotplugging support for USB surround sound cards

A long-standing bug that prevented PulseAudio from using any
hotplugged USB surround sound cards has been fixed.

### Separate volumes for Bluetooth A2DP and HSP profiles

The Bluetooth sink and source names are now different depending on
whether the active profile is A2DP or HSP. This allows PulseAudio to
store different volumes for A2DP and HSP. Due to different mechanisms
for implementing volume control between the profiles, trying to use
the same volume value in PulseAudio doesn't actually result in the
same perceived volume, so it's better not to try to use the same
volume.

As an unfortunate transition effect, volumes saved earlier with an
older PulseAudio version won't have effect in the new PulseAudio
version, so all Bluetooth devices will have their volume reset to the
default value when running the new PulseAudio version for the first
time.

This only affects BlueZ 5 users. The same change was done already
earlier for PulseAudio's BlueZ 4 code.

### memfd-based shared memory mechanism enabled by default

The memfd-based shared memory mechanism that was implemented in 9.0 is
now enabled by default. This shouldn't cause any user-visible changes
in behaviour, except if you're using the Firejail sandboxing software,
which doesn't work with PulseAudio's old shared memory mechanism.

If desired, the feature can still be disabled by setting "enable-memfd
= no" either in daemon.conf (for disabling it at the server side) or
in client.conf (for disabling it at the client side).

### Removed module-xenpv-sink

module-xenpv-sink was removed, because it's probably not used by
anyone. If you use it, please let us know.

## Notes for packagers
### Dropped dependency to json-c

libpulse previously used json-c internally, which forced applications
to link to json-c too. That caused crashing in some GLib applications,
because json-c and json-glib both use the same name for some
functions. To solve this, we implemented the necessary JSON
functionality directly in libpulse, so we don't depend on json-c any
more.

### When using systemd to start PulseAudio, pulseaudio.socket is always started first

The pulseaudio.service unit now depends on pulseaudio.socket, meaning
that before systemd starts PulseAudio, it will always first set up the
socket. This is done to avoid confusing behaviour in certain corner
cases (see the comments in pulseaudio.service for a more detailed
explanation).

### Compatibility with OpenSSL 1.1.0

OpenSSL, which is used by module-raop-sink, broke backwards
compatibility in the 1.1.0 release. PulseAudio now supports both 1.1.0
and older versions.

### Clarified qpaeq license

Most of PulseAudio is licensed under LGPL, but the "qpaeq" equalizer
GUI is licensed under AGPL. That hasn't previously been mentioned
anywhere else than in the qpaeq source code itself. Therefore,
distributions that tag their packages with license information have
likely used incorrect information. The license of qpaeq hasn't
changed, but the use of AGPL is now correctly noted in the top-level
LICENSE file.

Files:
RevisionActionfile
1.117modifypkgsrc/audio/pulseaudio/Makefile
1.24modifypkgsrc/audio/pulseaudio/PLIST
1.60modifypkgsrc/audio/pulseaudio/distinfo
1.8modifypkgsrc/audio/pulseaudio/patches/patch-configure.ac