[pulseaudio-discuss] [ANNOUNCE] PulseAudio 3.0
Arun Raghavan
arun.raghavan at collabora.co.uk
Mon Dec 17 23:37:33 PST 2012
Hi folks,
I'm pleased to announce that PulseAudio 3.0 is now out!
For those of you following the release candidates, there has been only
one minor commit since 2.99.3. A full set of release notes is up at
(props to Tanu for populating most of it):
http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/3.0
The tl;dr version for the lazy is: easier setup when your device is a
Bluetooth source, some ARM NEON optimisations, configurable latency
offsets, ALSA UCM support for embedded folks, and a _lot_ of other fixes
and infrastructure changes.
Packagers, please do look at the packaging section on the wiki for some
changes that you should be aware of.
Tarballs are at:
http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz
MD5: cc6e7cafff9249c5066263ee578662de
SHA1: 875ee8c39bb8413007004ffd31f6b35d6508a194
Our thanks go out to all contributors, old and new, for being awesome
and contributing to PulseAudio. Special mentions for our 3 GSoC students
whose work is also included in this release. We hope to continue seeing
their names in the shortlog in future releases.
A new version of Pavucontrol will follow soon, exposing some of the new
features that have been added in recent times.
Cheers,
Arun
----
Andika Triwidada (1):
i18n: Add Indonesian translation.
Arti Trivedi Bora (4):
modules: Use pa_streq instead of strcmp.
pulsecore: Use pa_streq instead of strcmp.
tests: use pa_streq instead of strcmp
daemon: use pa_streq instead of strcmp
Arun Raghavan (68):
sink-input,source-output: Avoid unneccessary rate updates
role-cork: Fix a minor leak
core-util: Add a pa_split_in_place() string utility function
core-util: Make pa_make_secure_dir() act like mkdir -p
auth: Create cookie directory if it doesn't exist
pactl: Print sink-input/source-output corked status
glib: Stop using g_source_get_current_time()
core-util: Fix permissions handling while creating directories
Revert "role-cork: Fix a minor leak"
role-cork: Fix incorrect check at deinitialisation time
Revert "Revert "role-cork: Fix a minor leak""
role-cork: Fix another minor leak
alsa: Allow channel count probe on open by mapping
alsa: Add a proplist to mappings
alsa: Add separate sinks/sources for UCM modifiers if needed
i18n: Remove module-hal-detect reference in POTFILES
echo-cancel: Print what AEC engine is being used
build: Avoid libstdc++ dep for module-echo-cancel if possible
i18n: module-coreaudio-device now has some translatable strings
build: Fix distcheck failure on libwebrtc-util
tests: Factor out Orc test code into cpu-test
tests: Make cpu-test less verbose
build: Merge bluez pkg-config checks into one
Revert "build: Merge bluez pkg-config checks into one"
stream: Allow record streams to start muted
core: Separate ARM CPU detection from initialisation
tests: Factor out ARM svolume test into cpu-test
tests: Minor cpu-test reorganisation
core: Document ARM-optimised svolume code a bit
core: Fix a litte-endian bug in ARM svolume code
tests: Add a copyright header to cpu-test
tests: Factor out core sconv test code in cpu-test
tests: Reorganise cpu-test to reuse code
tests: Add a basic sanity test to sconv cpu-test
tests: Run sconv tests with multiple alignments
build-sys: Add volume code to libpulsecommon
sconv: Fix NEON sconv rounding code
tests: Allow off-by-one error in sconv test
tests: Increase sconv cpu-test timeout
tests: Print average outer-loop iteration time in cpu-test
tests: Minor cpu-test fixes for non-NEON builds
core: Fix warning on non-win32 builds
tests: Run svolume test for various sample alignments
tests: Make cpu-test less verbose
tests: Run svolume on different channel counts
tests: Fix a cpu-test debug message
build-sys: Drop -Wvla from compiler flags
tests: Minor alignment adjustment fix for cpu-test
svolume: Fix ARM alignment issues
Revert "core: adjust playing_for and underrun_for at rewind"
build-sys: Bump soname
i18n: Fix POTFILES for poll changes
build-sys: Document libpulsecommon vs. libpulse duplication
alsa: Drop verbosity on UCM message
Revert "tests: modify alsa-time-test to use 'check' framework"
introspect: Minor documentation fix
man: Correction for how sample rate switching is disabled
sink, source: Prevent unnecessary rate update attempts
modules: Micro-optimisation for rewind_requested paths
build-sys: Bump BlueZ dependency to 4.99
build-sys: Bump soname
build-sys: Drop ChangeLog generation
source-output: Fix volume fixup for rate update
sink-input, source-output: Check rate update success for passthrough
core: Remove bad free() call
alsa: Try to support non-standard rates in alsa-sink/source
build-sys: Bump soname
build-sys: Bump soname
Chan-yeol Park (1):
bluetooth: Remove ipc.[ch] files in the bluetooth module
Colin Walters (1):
git-version-gen: Honor GIT_DESCRIBE_FOR_BUILD environment variable
David Henningsson (22):
once: Fix race causing pa_once to sometimes run twice
alsa-mixer: Add special profiles for some laptops missing speaker and/or internal mic
alsa-mixer: Add Phantom Jack support
alsa-mixer: Always turn "Inverted Internal Mic" off
alsa-mixer: Add "Front Headphone" jack
alsa-mixer: Document "state.plugged" and "state.unplugged"
alsa-mixer: Add "Front Headphone Jack" (fixup)
alsa-mixer: Add "Headphone Mic" support for 3-pin ASUS netbooks
resampler: Fix volume on downmix to mono
alsa-mixer: Add "iec958-stereo-input" to well known path names
flist: Increase default list size to 256
alsa-mixer: Cache failure to open inputs/output mappings
alsa-mixer: Remove analog-output-lfe-on-mono
cli: Output asterisk when default sink/source is found
alsa-sink/source: Warn for scheduling delays
alsa-mixer: Don't let "Mic Jack Mode" alone create a "Line In" path
alsa-mixer: Add a few more machines to internal mic whitelist
alsa-mixer: Add "CLFE" and "Bass Speaker" names
alsa-mixer: Prefer "Digital Input Source:Digital Mic 1"
alsa udev quirks: Add some more Dell devices to speaker whitelist
alsa-mixer: Add Dell Inspiron One 2020 to mic whitelist
alsa-mixer: Add device.icon-name property for some common ports
Deng Zhengrong (48):
cli: Add set-log-target command for pacmd
daemon: use pa_streq instead of plain strcmp
x11: fix the wrong parameter sequence in pax11publish
build: Add gcov coverage support
pacmd: add help info for 'set-log-target'
xen: add the HAVE_CONFIG_H macro guard
add a new log target that enables to create new log file if it exists
bluetooth: add a parenthesis around pa_streq()
man: document option `set-log-target`
core: add more verbose error info
build-sys: add `check` test framework
tests: modify mix-test to use new 'check' test framework
tests: add cpu test
tests: modify mainloop-test to use new 'check' framework
tests: modify utf8-test to use new 'check' test framework
tests: modify strlist-test to use new 'check' framework
build: add a target to ease the creation of coverage files
tests: enable to test standalone pulseaudio daemon
tests: modify volume_test to use new 'check' framework
tests: modify usergroup-test to use 'check' test framework
tests: modify format-test to use 'check' framework
tests: modify get-binary-name-test to use 'check' framework
tests: modify thread-test to use 'check' framework
tests: modify thread-mainloop-test to use 'check' framework
tests: modify alsa-time-test to use 'check' framework
tests: modify asyncmsgq-test to new 'check' framework
tests: modify asyncq-test to use 'check' framework
tests: modify channelmap-tets to use 'check' framework
tests: modify cpulimit-test to use 'check' framework
tests: modify queue-test to use 'check' framework
tests: modify connect-stress to use 'check' framework
tests: modify memblock-test to use 'check' framework
tests: modify proplist-test to use 'check' framework
tests: modify memblockq-test to use 'check' framework
tests: modify hook-list-test to use 'check' framework
tests: modify extended-test to use 'check' framework
tests: modify sync-playback to use 'check' framework
tests: modify smoother-test to use 'check' framework
tests: modify interpol-test to use 'check' framework
tests: modify sigbus-test to use 'check' framework
tests: modify sig2str-test to use 'check' framework
tests: modify rtpoll-test to use 'check' framework
tests: modify lock-autospawn-test to use 'check' framework
tests: modify once-test to use 'check' framework
tests: modify ipacl-test to use 'check' framework
tests: fix the wrong library path in check-daemon
tests: make 'check' optional
build: fix Mac OS X configure process
Eero Nurkkala (2):
alsa-sink: add missing header 'signal.h'
alsa-source: add missing header 'signal.h'
Feng Wei (3):
alsa: Integrate UCM basic functions
alsa: Add UCM jack detection
alsa: Catch role matched streams to enable/disable modifier
Flavio Ceolin (4):
sink-input: Remove redundant check in pa_sink_input_request_rewind().
modargs: New function: pa_modargs_get_value_double().
pulse: Fix for volume documentation
utils: Adding a function to get volume from string
Frédéric Dalleau (6):
loopback: Enable routing on loopback streams
bluetooth: module-bluetooth-policy initial commit
pacmd: Display inputs and outputs PASSTHROUGH flag
loopback: Cork sink-input if source is suspended
loopback: Cork source-output if sink is suspended
resampler: Fix crash if 'auto' resampler chooses ffmpeg with variable rate
Frédéric Danis (2):
bluetooth: Fix crash on disconnection
bluetooth: Fix bluetooth.nrec property not updated
Harsh Prateek Bora (2):
modules: Use PA_IDXSET_FOREACH wherever applicable.
pulsecore: Use PA_IDXSET_FOREACH wherever applicable.
Ismo Puustinen (2):
ladspa: D-Bus interface for setting algorithm parameters on-the-fly.
ladspa: Added a python script for testing.
Jan Alexander Steffens (heftig) (1):
alsa-mixer: Actually install analog-input-headphone-mic.conf
Jarkko Nikula (2):
alsa: move pa_alsa_setting_select close to pa_alsa_path_select
alsa: Merge pa_alsa_setting_select with pa_alsa_path_select
Jarkko Suontausta (1):
bluetooth: Release transport when the pa_rtpoll_run loop finishes.
Juho Hämäläinen (1):
stream-restore: Add missing method handler argument.
Lennart Poettering (14):
util: XDG_SESSION_COOKIE is unsuitable as session ID
proplist: document new meaning of the session ID
util: /etc/machine-id should be tried first, the D-Bus only as fallback for legacy systems
util: use the return value of gethosid() as fallback, not the address of the function
build-sys: readd stub makefiles to subdirectories to make building with emacs easier
build-sys: remove HAL support, it's obsolete since years
rtkit: update drop-in files
context: get rid of really old runtime dir logic, i.e. break compat with >4y-old PA
util: hook up pa_get_runtime_dir() with XDG_RUNTIME_DIR
core-util: move configuration home directory from ~/,pulse to ~/.config/pulse to follow XDG basedir spec
man: update man pages to only refer to the new place for the configuration files
core-util: when searching for configuration files, honour XDG basedir spec
auth: move cookie file to ~/.config/pulse/cookie
gnome: start PA early in the gnome session
Luiz Augusto von Dentz (2):
bluetooth: Remove built-in/static SBC codec
bluetooth: Don't force any profile on discovery module
Marc-Antoine Perennou (1):
udev: Don't use deprecated udev_get_*_path() functions
Martin-Éric Racine (1):
manpage, finnish translation: fix spelling errors
Matthijs Kooijman (1):
equalizer: Don't cleanup u->sink in sink_input_kill_cb yet
Mihai Moldovan (1):
core-util: use the generic PATH_MAX variant of pa_realpath on Mac OS X
Mikel Astiz (67):
bluetooth: Don't use the old socket IPC mechanism with BlueZ
bluetooth: Refactor property parsing code
bluetooth: Remove library for IPC to BlueZ
bluetooth: Minor style fixes
bluetooth: Consider different input and output MTU
bluetooth: Avoid duplicating profile argument twice
bluetooth: Replace deprecated ListAdapters()
bluetooth: Replace deprecated ListDevices()
bluetooth: Remove minor unnecessary check
bluetooth: Minor style fix
bluetooth: Fix missing state checks for a2dp_source
bluetooth: Fix bluetooth.protocol property
bluetooth: Trivial style fix
bluetooth: Generalize module-bluetooth-policy
bluetooth: Support HFGW in module-bluetooth-policy
loopback: Disable adjust timer when suspended
bluetooth: Remove return value of bt_transport_config()
bluetooth: Remove return value of setup_stream()
bluetooth: Refactor parsing of signal PropertyChanged
bluetooth: Refactor code to helper function
bluetooth: Fix wrongly set "phone" role for HFGW
bluetooth: Fix using garbage memory
bluetooth: Fix check if transport exists before acquire
sink, source: Support creating suspended sinks and sources
bluetooth: Provide dummy set_port callbacks
bluetooth: Config MTU transport after acquire
bluetooth: Support port availability flag
bluetooth: Set profile even if transport not acquired
bluetooth: Do not acquire transport during profile change
bluetooth: Acquire transport when becomes available
bluetooth: Release transport when not available
bluetooth: Do not switch to HFGW automatically
bluetooth: Let suspend-on-idle request audio in headset
bluetooth: Add port availability transition policies
bluetooth: Ignore Device.DisconnectRequested
bluetooth: Trivial function rename
bluetooth: Fix potential assertion failure
bluetooth: Don't find device if set profile is off
bluetooth: Release transport in stop_thread()
bluetooth: Unlink sink-sources in stop_thread()
bluetooth: Remove stream moving code
bluetooth: Use assertions when setting off profile
bluetooth: Check return value of init_profile()
bluetooth: Check return value of start_thread()
bluetooth: Remove const qualifier for transports
bluetooth: Add hook to tell transport was removed
bluetooth: Set to off if transport removed
bluetooth: Set to off instead of failing module load
bluetooth: Hold transport pointer while profile set
bluetooth: Remove const qualifier for device
bluetooth: Add hook to tell device was removed
bluetooth: Self unload module-bluetooth-device
bluetooth: Hold device pointer while module loaded
bluetooth: Refactor code to create card profiles
bluetooth: Refactor code to create profile ports
card: Support adding profiles dynamically
card: Support adding ports dynamically
bluetooth: Add hook to announce late UUIDs
bluetooth: Rename former device_is_audio()
bluetooth: Run the discovery hook only when necessary
bluetooth: Merge headset ports into one
bluetooth: Disable profile auto-switch policy for headsets
conf: Load bluetooth-policy module by default
bluetooth: Trivially refactor to call setup_stream() directly
bluetooth: Do not setup stream before thread starts
bluetooth: Request headset audio during profile switch
bluetooth: Fix unacquired transports during sink resume
Niels Ole Salscheider (3):
virtual-surround: Add silence to hrir if necessary.
virtual-surround: Limit the number of hrir samples.
virtual-surround: check if resampled memblock is not equal to input
Paul Menzel (1):
Fix spelling of separated: s, sepera, separa, g
Peter Meerwald (13):
pipe: whitespace and log output cleanup
pipe: check return value of mkfifo()
memblock: Fix typos.
build: Fix static linking
core: Set volumes const in pa_do_volume_func_t
modules: Add null/dummy echo canceller
daemon: Fix redundant redeclaration warning
svolume_arm: Fix a const warning.
echo-cancel: Fix false warning in webrtc AEC.
rtp: Fix warning using pa_assert_not_reached()
core: Add ARM NEON optimized sample conversion code
tests: Fix test description in cpu-test
tests: Implement test code for ARM NEON sconv s16_to_float
Pierre-Louis Bossart (1):
alsa: get avail, delay, timestamps in a single kernel call
Sjoerd Simons (2):
build-sys: webrtc-utils needs to be installed before module-echo-cancel
build-sys: Correct bluez support error if sbc is missing
Sjors Gielen (1):
osx: Add a single "On" profile to coreaudio devices. Fixes crash on OS X.
Tanu Kaskinen (51):
device-port: Create the profiles hashmap at initialization.
device-port: Remove an out-of-date comment.
native: Don't save device, volume or mute of new streams.
sink, source: Fix setting the latency offset when the sink/source is unlinked.
Fix a copy-paste error in PROTOCOL.
pulse: Use more intuitive indexing with port infos in introspect.c.
proplist: Change proplist_name_valid() to be public function pa_proplist_key_valid().
tagstruct: Allow NULL proplist with pa_tagstruct_get_proplist().
conf-parser: Pass parser state in a struct instead of function parameters.
conf-parser: Pass parser state in a struct also for parse callbacks.
conf-parser: Add support for parsing property lists.
alsa-mixer: Add support for defining port property lists in the path configuration files.
native: Send the actual port proplists with card info.
pactl: Print card port properties with the "list" command.
card: Don't crash if someone gives NULL name to pa_card_set_profile().
sink, source: Always create a hashmap for ports.
card: Ensure that there's always at least one profile.
Assume that the profiles hashmap of ports is always non-NULL.
Assume that the ports hashmap of cards is always non-NULL.
card-restore: Handle reading NULL profile name from the database.
alsa-mixer: Implement a new path option: "mute-during-activation".
build-sys: Link utf8-test to libpulsecommon.
Add comments referring to bug #53709.
memblock: Add pa_memblock_acquire_chunk().
object: Get rid of "warning: cast increases required alignment of target type"
sink-input: Fix comment: s/push/peek/
sink-input: Add a comment in pa_sink_input_request_rewind().
sink: Remove an incorrect FIXME comment.
bluetooth: Remove commented out code.
.gitignore: Add cpu-test.
rtp: Fix rtp_port reading.
card: Store a pa_card pointer in pa_card_profile.
build: Add a2dp-codecs.h to libbluetooth-util sources.
memblockq: Fix the order of setting minreq and prebuf.
resampler: Make sure that there are no overflows when multiplying potentially big numbers.
loopback: Use the real sample spec once it's known.
loopback: Don't fix the source output format/rate/channels.
virtual-surround-sink: Fix setting max_request and max_rewind.
combine: Keep the timer active in the null mode only when running.
match: Use the SINK_INPUT_FIXATE hook instead of NEW.
build: Add .gitignore files to EXTRA_DIST.
device-restore: When restoring volume, print the restored volume to the log.
build: Add PROTOCOL to EXTRA_DIST.
pulse: Fix hole handling in pa_stream_peek().
mainloop: Change wakeup_requested type from pa_bool_t to pa_atomic_t.
mainloop: Don't care about the mainloop state variable when waking up the mainloop.
sink: Process rewind requests also when suspended.
bluetooth: Add a pa_bluetooth_discovery pointer to pa_bluetooth_device.
bluetooth: Ignore Device.Connected
bluetooth: Add helper pa_bluetooth_device_any_audio_connected()
bluetooth: Unload device module when no audio profiles connected
Thomas Martitz (7):
pacat: Enable binary mode on Windows.
core: Transparently handle non-blocking sockets on Windows
pacat: Replace read(), write() with pa_* equivalent.
core: Slightly more helpful pa_cstrerror for unknown errors
gccmacro: Disable printf-like format checking on mingw32 compilers.
core: Proper poll() emulation to fix pacat and friends on Windows
core-util: Don't error out on existing runtime directory.
Uoti Urpala (2):
sink-input: Fix underrun_for calculation when resampling.
core: adjust playing_for and underrun_for at rewind
Wieland Hoffmann (1):
man pulse-daemon.conf: Correct typoes
poljar (8):
pacmd: Added --help and --version descriptions to the man page.
native: Use foreach to iterate trough modules.
pactl: Add unloading modules by name.
pacmd: Add unloading modules by name.
bluetooth: Add ports to the bluetooth sink/source
device-port: Add a latency variable to the port struct
sink, source: Add a latency offset which is inherited from the port
pacmd: Add functions to handle the latency offset
poljar (Damir Jelic) (2):
introspect: Add functions to handle the latency offset.
pactl: Add set-latency-offset command.
poljar (Damir Jelić) (5):
device-port: Change the latency offset type to a signed int.
conf-parser: Initialize the state to zero immediately.
device-port: Send a subscription event when the offset changes.
man: Add latency offset documentation to the cli syntax.
card-restore: Add the ability to save and restore the latency offset.
More information about the pulseaudio-discuss
mailing list