Changelog:
* 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)
Changelog:
PulseAudio 11.0 release notes
Changes at a glance
Support for newer AirPlay hardware
USB and bluetooth devices preferred over internal sound cards
The default sink and source configuration is remembered better
Bluetooth HSP headset role implemented
Bluetooth HFP audio gateway role implemented (requires oFono)
Bluetooth HSP audio gateway and HFP hands-free unit roles can be enabled simultaneously
Upmixing can now be disabled without bad side effects
Avoid having unavailable sinks or sources as the default
Option to avoid resampling more often
Option to automatically switch bluetooth profile to HSP more often
Better latency regulation in module-loopback
Changed module argument names in module-ladspa-sink and module-virtual-surround-sink
Fixed input device handling on Windows
Improved bluetooth MTU configuration (warning! this causes some hardware to not work any more, see the details below for how to fix it)
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
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.
Changelog:
PulseAudio 9.0
Changes at a glance:
* Automatic routing improvements
* Beamforming and various other new features in the WebRTC echo canceller
* Various improvements in module-role-cork and module-role-ducking
* LFE remixing disabled by default
* memfd-backed shared memory transport
* Support for sample rates up to 384 kHz
* webrtc-audio-processing dependency minimum version bumped to 0.2
* Changed the C standard from C99 to C11.
Detailed change log:
http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/9.0
Contributors
Ahmed S. Darwish
Alexander E. Patrakov
Arun Raghavan
Barun Kumar Singh
David Henningsson
Deepak Srivastava
Gabor Kelemen
Georg Chini
Jeremy Huddleston Sequoia
Jonathan Perkin
Juho Hämäläinen
Jungsup Lee
Kamil Rytarowski
Marcin Lewandowski
Milo Casagrande
Muhammet Kara
Nazar Mokrynskyi
Peter Meerwald
Piotr Drąg
Sachin Kumar Chauhan
Sangchul Lee
Tanu Kaskinen
YunQiang Su
* 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
Changelog:
Since we had a couple of annoying bugs in 7.0, we thought it'd be a
good idea to do a 7.1 to address those.
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
Changelog:
PulseAudio 7.0
Changes at a glance:
* LFE channel synthesis with low-pass filtering
* New libsoxr based resamplers
* Socket activation support for TCP
* The "srbchannel" IPC mechanism enabled by default
* More flexible jack detection support when using UCM
* Exiting due to SIGTERM isn't considered a failure
* Better support for Creative SoundBlaster Omni Surround 5.1
* Remove obsolete hal option for PLIST.
Changelog:
PulseAudio 6.0 Release Notes
Changes at a Glance
BlueZ 5 native HSP (headset) support
BlueZ 5 HFP (hands-free) profile support via oFono
systemd socket activation support
Better support for multichannel and 2.1 profiles
Remap optimisations
Many minor improvements, bug fixes, and i18n updates
Notes for Application Developers
New function in libpulse: pa_stream_write_ext_free(). The function allows more flexible use of free callbacks than the regular pa_stream_write() function. This is useful if an audio buffer is part of a bigger structure that needs to be freed or unreferenced when the audio buffer is no longer needed.
We now have Vala bindings for libpulse-simple.
on Linux. What were they thinking... If there is one platform that it's
rash to make assumptions about API consistency on, it's Linux...
Fixes build on Ubuntu 11.10.
* Remove dependency to sysutils/hal, hald backend is removed.
* Use deprecated OSS backend under NetBSD (alsa backend should be used?)
Changelog:
PulseAudio 5.0
Changes at a glance:
* BlueZ 5 support (A2DP only)
* Reimplementation of the tunnel modules
* Native log target support for systemd-journal
* Resampler refactoring
* --monitor-stream option for parecord and parec
* "latency_msec" argument for module-rtp-recv
* "inhibit_auto_suspend" argument for module-rtp-send
* "auto" argument for module-tunnel-sink and module-tunnel-source
* Removed module-bluetooth-proximity
* Jack detection for line out
* Laptop internal surround speaker volume support
* Improved float->s16 and s16->float sample conversion for ARM NEON
* "Available" flag for card profiles
* Removed module-dbus-protocol from the default configuration
* Lots of other enhancements, bug fixes, and documenation and i18n updates
Detailed change log:
http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/5.0
PulseAudio 4.0
Changes at a glance:
* Better handling of low latency requests
* Optimisations while mixing (generic, ARM NEON)
* Default resampler is now speex-float-1 (lower CPU usage)
* Major Bluetooth refactoring for better reliability and easier maintenance
* Fixes for graceful hand-off to/from JACK
* New module to apply ducking based on stream roles
* Echo canceller infrastructure fixes
* Bash and zsh completion for command line tools
* Solaris and OS X fixes
* Lots of other enhancements, bug fixes, and documenation and i18n updates
Detailed change log:
http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/4.0
PulseAudio 3.0 Release Notes
We're, back with another shiny PulseAudio release! While the 3.0 release was a little delayed, it brings a number of important improvements, and bug fixes. A summary of changes follows.
Notable Changes
ALSA Use Case Manager (UCM) support
Runtime editable LADSPA filter parameters
Out-of-the-box support for Bluetooth sources
ARM NEON optimisations
Configurable device latency offset
Adhere to the XDG Base Directory Specification
Various ALSA changes
Lots of infrastructure improvements
Packaging
Bluetooth support requires now "sbc", a library for the SBC codec. The codec used to be included within PulseAudio, but it has now been split off into a separate library. It's available at http://www.bluez.org.
Support for the "socket API" of BlueZ has been dropped in favour of the D-Bus based "media API". Due to this change, the minimum supported version of BlueZ is now 4.99. Also, make sure that you don't have "Disable=Media" in /etc/bluetooth/audio.conf. And due to a bug in BlueZ, it's probably necessary to have "Disable=Socket", otherwise there will be problems with the A2DP profile.
Support for HAL has been removed. This shouldn't affect anyone, but if it does, please configure PulseAudio to use udev instead. module-hal-detect still exists for maintaining configuration file compatibility, but all it does is to load module-udev-detect. module-hal-detect may get completely removed in 4.0.
* Tested on NetBSD/i386 5.1, /i386 6.0, and /amd64 6.99.13
* Also tested on OpenIndiana/i386 151a7, but my environment lacks audio
device, so I cannot check audio output
* Tested with multimedia/mplayer's -ao pulse option, works fine
* Add gm4 to USE_TOOLS for OpenIndiana build
Changelog:
Many changes. See http://www.freedesktop.org/wiki/Software/PulseAudio .
Also add a patch by drochner:
pthread_key_create returns 0 on success; return values on failure are
not defined.
Remaining patches without comments:
patch-ab: adding an ifdef notyet in src/daemon/main.c
patch-a{c,e}: --start -> -D (no idea why)
patch-af: allow some Linux-only code also on NetBSD
patch-ah (new):
Fix wrong placed #else clause against #if defined(__linux__) in cpu-arm.c.
patch-ba:
Check NetBSD's native atomic_ops in configure even in arm case.
configure checks $host_cpu first, not $host_os on checks for
native atomic operations.
(In upstream it seems fixed to see $host_os first but
it might still have problem around NetBSD version checks)