Logo

Home About Community Download Documentation Planet


Release Notes

The first thing you need to know is that 1.0 is just a number. We do not attach specific significance to the 1.0 moniker. It's really just a way to clean up version numbers - it's an eternal debate as to what constitutes "1.0 quality" and in the end we could easily go on forever with the previous numbering scheme. But with such a long time in development and the general state of PulseAudio adoption in the major distros and integration into the major Desktop Environments, we felt that this was as good a time as any to try and clean up the version numbers and call it 1.0! In time, we may even drop the minor number and just have one version number, but we'll see how things go first before making that decision. Certainly most releases will be based on the major number (so expect to see v2.0 next!) with the minor number reserved for bugfix updates should there be demand for us to do so keeping in mind that such bugfix updates will have to be supported mostly by the community.

PulseAudio 1.0 has been a long time in the making. The git branch is actually from based several releases back (around the 0.9.19 release) but for various reasons the subsequent releases have been made from the stable tree as git master was home to too many experimental features. This wasn't ideal from a management perspective and has caused more than a little confusion (not to mention it makes the git changelogs look weird), so we're going to try not to let this happen again.

But with some diligent work, and diligent use of git cherry, git master contains all the fixes that were pushed into the releases that have been made along the way, and adds some significant features too.

Key Features of 1.0

  • D-Bus based control protocol (beta)
  • Source Output Volumes
  • Passthrough Support
  • Windows support restored
  • Improved sample rate adaptation in module-rtp-receive
  • Volume Change Sync for flat volumes
  • Enhanced Port Volume controls
  • New, future proof format for metadata files
  • New equalizer and acoustic echo cancellation modules
  • If Jack is running, PulseAudio will connect to it automatically by default (previously this required editing a configuration file)

Features in more detail

  • D-Bus based control protocol (beta)
    • Everything except audio streaming (and source output volumes) can now be done also via D-Bus. We are not completely certain about the API (due in part to internal code structure and upcoming planned changes), so we make no API stability guarantees. If you can live with the API changing in the next PulseAudio release, feel free to experiment with the D-Bus interface. Any feedback is very welcome - good ideas for improving the API will likely be implemented. Here's the documentation (might be down for a bit due to heavy load).
  • Source Output Volumes
    • Previously you could alter the volume of sinks (playback devices), sources (capture devices), sink-inputs (playback streams) but not of the source-outputs (capture streams). Now it is possible to adjust the volume or mute the stream of each recording application separately, just like it always has been for playback. This brings symmetry to the API which is certainly a bonus for e.g. VoIP apps which typically integrate volume controls. It was originally left unimplemented due to the fact that the case for multiple capture streams is very rare and you certainly didn't want to include software volumes into your only capture stream if at all possible. However, with the introduction of "flat volumes", any volume set on a capture stream will be "flattened" through to the underlying hardware volume if at all possible, thus avoiding problems with integrating additional artefacts or clipping the data with a standard software volume adjustment.
  • Passthrough Support
    • PulseAudio now supports passthrough audio natively. This means that applications can now send compressed audio directly to hardware that supports it (for now, high-end A/V receivers, but this can include embedded SoCs with decoder blocks and Bluetooth headsets that support formats other than SBC). For more details, see Passthrough (might be down for a bit due to heavy load).
  • Echo Cancellation
    • A new module (module-echo-cancel) for acoustic echo cancellation (AEC) has been added. If you are using Empathy 3.2, echo cancellation should work out of the box. For other clients which set the "phone" media role, you can just load module-echo-cancel manually or in your configuration to take advantage of this. More details on Arun's blog post.
  • Windows Support Restored
    • The old Windows port dated back to PulseAudio 0.9.6. Since then a lot of features had been added which broke the building of PA on Windows. Thanks primarily to the work of Maarten Bosmans, the 1.0 release restores Windows support for PulseAudio. Additionally, the WaveOut driver received some minor improvements.
  • Improved sample rate adaptation in module-rtp-receive
    • A new algorithm is used to determine the resampling rate, in order to more reliably match the rate to the clock of the RTP-stream sender. This will eliminate some bugs related to the sound becoming distorted due to a wildly varying sample rate.

Removed Stuff

  • pabrowse and libpulse-browse
    • pabrowse and libpulse-browse have been removed after a long time of deprecation. The functionality is now directly provided by avahi-browse and libavahi. This also means that padevchooser will no longer build. This is fully intended as that tool itself has also been deprecated for many years and operates in a manner that generally breaks your setup for several corner cases.

Management Changes

As most people following the Linux community any depth will know, Lennart is now primarily engaged in the development of systemd. While he has not abandoned PulseAudio, his development focus has certainly changed for now and as such, Colin Guthrie will manage future releases and generally head up the community. Colin really assumed this role some time ago, herding the cats on the mailing lists and IRC channels, building bridges to various interested parties and trying to review patches and develop new code himself, so this transition is rather smooth. Colin has yet to develop skin quite as thick as Lennart, so please be kind.

Infrastructure Changes

Along with Lennart's management departure, most of the PulseAudio infrastructure has also moved. We would like to extend our thanks to the good folks over at freedesktop.org for hosting our git repositories, mailing lists and bug tracking. In due course we will also migrate our wiki content from Trac to the FDO wiki, but we want to plan this out carefully as the current wiki isn't as organised as it could be.

What's Next?

Several developments are now lined up for the future. Upcoming features will likely include:

  • UCM: Use Case Manager Support
    • Support for UCM will be included in the near future. The people behind UCM (namely Liam Girdwood @ TI and Mark Brown @ Wolfson with support from many others) have already developed some PA patches that go some way to implementing the necessary logic, and we hope the get these patches cleaned up and included quickly.
  • Headphone/Mic Jack Detection
    • David Henningsson from Canonical has been working on the various different bits required to ensure that PA responds properly when a set of (3.5mm) headphones are inserted - i.e. switching over to using them and ensuring the correct underlying ALSA kcontrols are used for volume adjustments. The same is true when an external mic is inserted - i.e. taking over from the internal mic. While the kernel interfaces are perhaps subject to change, we will be integrating the core changes needed to support this infrastructure as soon as the 1.0 release is out of the door.
  • Module Loading Improvements
    • Colin Guthrie has plans to deprecate module-gconf (which is just a module loader) in favour of a slightly more intelligent and contextually aware module loader. This loader module would be able to load modules based on "trigger" conditions such as a certain sink, source or a combination of sinks and sources existing. This will allow for the configuration of loopback, combine or effect modules that are only activated when certain devices are present.
  • Routing Infrastructure
    • As has been known for a long time, the current infrastructure for dealing with stream routing is insufficient. Colin Guthrie hopes to expand on his earlier work with module-device-manager (which is used under KDE and implements a priority-list based routing policy) to integrate support for a much more flexible routing system into the PA core, although still retaining the ability for fine-grained policy to be specified (such as using headsets on voip calls and using never-seen-before devices as the default).
  • Adoption of WebRTC code for Echo Cancellation
    • Arun Raghavan's work on the echo cancellation code will be augmented using various systems developed by Google and released as the WebRTC system.
  • More use of Orc for CPU-intensive tasks
    • The OIL Runtime Compiler allows SIMD code to be written in a CPU-agnostic way, which is later, at runtime, compiled into code optimized for the specific CPU. Currently PulseAudio uses Orc at a couple of places. Future releases will make more use of Orc, resulting in less CPU-time used by PulseAudio.

Git Shortlog

Antonio Ospite (2):
      alsa-mixer: Add support for the Microsoft Kinect Sensor device
      doc: Add info about running pulseaudio from the build dir

Antti-Ville Jansson (1):
      core: Drop empty gaps in the memblockq when playing data from it.

Arun Raghavan (149):
      build: Fix make distcheck
      cpu: Add CPU information to pa_core
      echo-cancel: Add SSE optimisation to the adrian module
      echo-cancel: orc-ify some bits for optimisation
      build: Copy orc dist files to the correct directory
      volume: Use a macro to check if a volume is valid
      volume: Clamp volume to PA_VOLUME_MAX
      cli: Validate volume before setting
      pactl: Validate volume before setting
      volume: Decrease PA_VOLUME_MAX to be < 2^31
      volume: Fix incorrect usage of PA_VOLUME_IS_VALID
      alsa: Sprinkle some PA_UNLIKELYs around error checks
      build-sys: Fix a warning during distcheck
      build: Move orc.mak out of build/
      build: Simplify Orc-related make rules
      echo-cancel: Make Orc file names less silly
      Revert "core: volume ramping fix"
      Revert "ramping: minor cleanups"
      Revert "Add volume ramping feature - sink modification"
      Revert "Add volume ramping feature - sink-input modification"
      Revert "Add volume ramping feature - envelop fix"
      Revert "Add new subsystem for applying envelopes (such as volume ramps) to audio signals"
      Remove remaining ramping/envelope references
      introspect: Client-side implementation for has_volume/read_only_volume
      volume: Make tests use only valid volumes
      volume: Fix sample array size for tests
      volume: Add Orc-based optimised volume scaling
      daemon: Fix missing include - cpu-orc.h
      build: Bump Orc dependency to 0.4.11
      cork-on-phone: Handle sink-inputs with NULL sinks
      bluetooth: Pull a2dp-codecs.h from BlueZ
      stream-restore: Check for readability before reading volume
      volume: Get more data from volume tests
      filter-apply: Make housekeeping optional
      filter-heuristics: Only apply AEC if we're not already on a phone sink
      filters: Handle stream moves properly
      filters: Handle filters on sources as well
      echo-cancel: Play nice with module-filter-*
      filter-heuristics: Match roles correctly
      filter-apply: Mark modules as being autoloaded
      sink: Trivial typo fix
      sample: Use PA_SAMPLE_INVALID instead of numeric value
      core: Add a pa_format_info structure
      format: Add some properties and internal API
      sink: Extend API for compressed formats support
      core: Add extended stream API to support compressed formats
      format: Add convenience API to check if a format is PCM or not
      sink: Remove PASSTHROUGH flag
      tests: Add a trivial test for the extended API
      sink-input: Minor cleanups
      sink-input: Return NOTSUPPORTED if format negotiation fails
      sink-input: Don't assert on bad formats
      format: Avoid some code duplication
      sink: Fix leak in pa_sink_check_formats()
      sink-input: Kill passthrough streams if moving to an unsupported sink
      core: Fix some FIXMEs for the extended API
      alsa-mixer: Remove passthrough profiles
      sink: Trivial typo fix in comment
      core: Suspend monitor when a sink enters passthrough mode
      alsa: Reconfigure sink sample rate for passthrough inputs
      format: Const-ify some parameters
      format: Add some convenience functions for printing
      stream: Add API to get a stream's pa_format_info
      introspect: Get formats for sinks
      introspect: Get format of sink input
      format: Add a type for DTS
      core: Factor out passthrough checks into their own functions
      filter-apply: Mark modules as being autoloaded
      echo-cancel: Handle alignment requirement manually
      echo-cancel: Remove unnecessary noalign attribute
      sink-input: Don't print an error if a passthrough connection fails
      sink-input: Don't restore volume for passthrough streams
      sink-input: Add a format-lost event
      format: Export pa_format_info_is_compatible in API
      format: Add correct sample spec conversion for E-AC3
      sink-input: Provide more information to client when format is lost
      format: Extend properties to handle lists/ranges
      format: Add some convenience API for setting properties
      doxygen: generate documentation for format.h
      module-tunnel: Update for recent protocol changes
      echo-cancel: Don't overpad variable
      echo-cancel: Remove extraneous debug message
      format: Fix channel map handling
      echo-cancel: Add speex preprocessing
      echo-cancel: Fix a crash is speex cleanup
      tests: Update extended API test
      echo-cancel: Fix preprocessor initialisation
      echo-cancel: More preprocessing fixes
      protocol-native: Use original requested latency on stream moves
      protocol-native: Don't leak formats
      stream: Fix a couple of format_info leaks
      stream: Simplify passing of formats in extended API
      source-output: Trivial code move
      pactl: Add a set-source-output-volume command
      echo-cancel: Set sane defaults for module initialisation
      protocol-native: Fix backward compatibility break
      protocol-native: Fix invalid assert
      padsp: Handle eol in info callbacks correctly
      protocol-native: Trivial fix for a compiler warning
      doc: Document subscription events better
      log: Add missing pulsecore/thread.h include
      sink: Add a set_formats() API
      alsa: Implement get/set_formats()
      device-restore: Make bools not be bit fields
      device-restore: Set sink format when possible
      format: Make pa_format_info_snprint() more parseable
      format: Add string to pa_format_info conversion function
      pactl: Add a set-sink-formats command
      sink: Fix lazy commenting
      device-restore: Log invalid sink index while setting formats
      Remind people not to break module-tunnel
      proplist: Make filter properties line up prettily
      filter-heuristics: Don't force AEC on all phone streams
      conf: Load module-filter-* by default
      build-sys: Bump JACK dependency to 0.117.0
      sink: Add a SET_FORMATS flag
      alsa: Set SET_FORMATS flag when appropriate
      format: Remove stupid copy-paste-o
      source: Remove the PA_SOURCE_PASSTHROUGH flag
      alsa: Don't always suspend/unsuspend on sink-input removal
      formats: Use correct API to check for passthrough streams
      alsa: Open iec958 device with NONAUDIO bit set in passthrough mode
      formats: Fix bad passsthrough check
      alsa: Fix bad function name
      daemon: Fix compiler warning about missing function prototype
      passthrough: We must not plug in a resampler on stream move
      sink-input: Ensure no volumes are applied for passthrough streams
      source-output: Ensure no volumes are applied for passthrough streams
      Revert "device-restore: Make bools not be bit fields"
      sample-util: Fix off-by-one in error check
      sink: Add PA_SINK_SET_FORMATS macro
      build-sys: Fix some LDFLAGS vs. LDADD usage
      echo-cancel: Add multiple include protection for header
      echo-cancel: Use pa_streq instead of strcmp
      echo-cancel: Move speex preprocessing out of the main module
      passthrough: Fix what volume we set sinks/sources to
      passthrough: Fix setting volume to unamplified again
      echo-cancel: Make save_aec modarg a bool instead of an int
      echo-cancel: Don't allow streams to attach while unloading
      echo-cancel: Get rid of annoying compiler warnings
      equalizer: Comment out unused function
      vala: Add has_type_id=false to all enums, structs and classes
      stream: Relax assert for extended API
      def: Hide server-side sink/source flags
      volume: Handle varying channel count for shared volumes
      virtual: Make volume sharing on by default
      equalizer: Use volume sharing by default
      echo-cancel: Use volume sharing by default
      sink,source: Handle missing in the shared volume case

Bart Cerneels (2):
      echo-cancel: Speex preprocessor has to run *after* the AEC.
      echo-cancel: Fix echo suppression, add some knobs

Bryan Gleeson (1):
      raop: Change socket buffer size handling to avoid playback underruns

Cai Yuanqing (2):
      coreaudio: Make coreaudio-detect safer by adding asserts before dereferencing
      loopback: Add new arguments to disable stream move

Cheng-Chia Tseng (4):
      l10n: Updates to Chinese (Taiwan) (zh_TW) translation
      l10n: Updates to Chinese (Taiwan) (zh_TW) translation
      l10n: Updates to Chinese (Taiwan) (zh_TW) translation
      l10n: Updates to Chinese (Taiwan) (zh_TW) translation

Colin Guthrie (100):
      stream-restore: Preventative initialistion to NULL
      pacat: Don't use any buffer attr if we don't set any latency/process time params
      cli: Allow .include on directories as well as files.
      introspect: Include whether a stream is corked in the info callback.
      log: Totally trivial spelling 'correction' (for en-US)
      dbus: Fix log message after volume changes.
      version: Drop the micro version number
      doxygen: Fix version numbers for new features
      build-sys: Add some smarts to version extraction from git tags.
      volume: Trivial cosmetics (remove a space)
      Revert "core: make use of dbus_message_iter_append_fixed_array"
      core: Add a new hook PA_CORE_HOOK_CARD_PROFILE_CHANGED
      x11: Make pax11publish -r remove PULSE_SESSION_ID
      alsa-mixer: Fix a git-am cockup in b0f72311
      cork-on-phone: Only cork (and subsequently uncork) streams that are not already corked.
      build-sys: No need to create folder for echo-cancel module.
      bluetooth: Fix build errors relating to SBC
      build-sys: Whitespace changes
      build-sys: Fix bluetooth update-sbc now that it's in a subfolder.
      build-sys: Make update-sbc, update-reserve and update-rtkit work in OOT builds
      bluetooth: Run 'make update-sbc'
      tunnel: Fix tunnel streams with recent servers
      echo-cancel: Fix warning/typo
      daemon: Fix regression with --start introduced with the double fork in 8e94f653
      po: Remove files no longer in the tree (and which didn't have any translations anyway).
      daemon: Fix some more error paths in the double forking.
      daemon: Fix regression introduced in f1d1447e.
      dbus: Do not refcnt the core.
      bluetooth: Fix a double-free-esque error introduced in 8f3ef04b
      doc: Fix typo
      equalizer: Use sink_master as the module argument rather than just master.
      filter-apply: New module to automatically load filter sinks (and move streams) based on sink-input property hints.
      filter-heuristics: New module that applies some basic heuristics regarding filters.
      filter: Move the proplist defines into the central place and document them.
      test: Make the connect-stress less likely to bail out due to >32 streams.
      combine: Rename module-combine to module-combine-sink.
      tests: Fix resampler-test.
      i18n: Fix POTFILES
      bluetooth: Fix early return styling and add missing return value
      sink-input: Fix memory leak of proplist when sending format-changed events
      protocol-native: Fix memory leaks introduced in protocol 21 (passthrough support)
      pulsecore: Add a couple pa_asserts() on pa_tagstruct* calls.
      combine: Fix a crash on shutdown if the module is loaded outside of our control.
      build-sys: module-equalizer-sink needs dbus.
      alsa-sink: Some trivial tidyups
      introspect: Clear out memory properly on error.
      def: Add some flags for source outputs.
      capture: Add the passthrough format negotiation to capture streams.
      introspect: Get formats for sources
      capture: Implement per-stream volume control for capture streams.
      introspect: Get format of source output
      alsa: Remove unneeded include
      streams: Tidy up includes
      alsa-mixer: When setting hw volume, always round up with playback and down with capture.
      capture: Remove support for synchronised capture streams.
      esound,streams: Fix some crashes.
      database: Convert our use of database files to save in tagstruct format.
      device-restore: Add a new protocol extension for device-restore.
      database: Support legacy format database entries.
      alsa-mixer: Add an mixer profile exception for a BT Agile handset
      alsa-mixer: Add UAC1.0 Sennheiser Dongle to the usb-headset profile.
      alsa-mixer: Whoops, forgot to git-add this in a previous.
      build-sys: equalizer-sink needs DBus aswell as FFTW
      devices: Use wrapper functions to set the *_volume and *_mute callbacks.
      devices: Set certain sink/source flags automatically.
      alsa: Reinitialise the mixer on port change.
      alsa-mixer: Do not 'unify' mixer paths.
      alsa-mixer: Detect and then drop pointless paths in the path set.
      alsa: No need to go via sink/source to get the core.
      alsa-mixer: Remove workaround for USB head/handsets
      reserve: Fix compile warning when compiling without dbus
      source-output: Fix resampling.
      stream-restore: Save/restore source output volume/mute
      device-restore: Various fixes for the protocol extension.
      pactl: Make stat backwards compatible with previous versions.
      alsa-mixer: Fix rounding direction on mixer initialisation
      alsa: Ensure that volumes are written to the h/w at startup.
      ext-device-restore: Include format.h
      sink-input: Drop redundant assert (PA_SINK_INPUT_IS_LINKED() checked already)
      core: Unload the modules and cached samples before unref'ing the core.
      def: Add a new enum to allow differntiation between sinks and sources.
      dbus: Use pa_device_type_t rather than an internal equivalent
      device-restore: Change the API to include type information (sink vs. source)
      device-restore: Split device restore database into two parts.
      device-restore: Restore volumes on port change.
      device-restore: Simplify the migration of data to per-port keys.
      stream-restore: Add in some variable sets that were missing from 9ffa93.
      stream-restore: Add proper data validity checks to the legacy database entry read.
      formats: The format code should be in libpulse, not libpulsecommon
      formats: Export more functions needed for a clean build.
      device-restore: Fix use-after-free error.
      raop: Use the port supplied by avahi when connecting to RAOP devices.
      bluetooth: Bump DBus version to 1.3.0 and drop conditional code.
      alsa: Tidy up argument descriptions
      modargs: Ensure modargs can be accessed in their raw form.
      raop: Properly deal with the name coming from the device.
      build-sys: Oops forgot to add the Kinect profile to the build system.
      volume: Rename 'sync volume' to 'deferred volume'.
      doc: Update README with fresh links.
      build-sys: Switch to the tar-ustar format (as per a lot of GNOME stuff for 3.2) and distribute .xz files.

Daniel Mack (34):
      make bootstrap.sh aware of Darwin environment
      Revert "make bootstrap.sh aware of Darwin environment"
      buil-sys: fix build w/o DBus
      Wrap clock_gettime and friends
      Mac OS X: add semaphore implementation
      configure.ac: enable check for CoreAudio
      core-rtclock.c: tweak OS_IS_DARWIN constraints
      poll() is totally broken on Mac OS X
      hack around another OS X bug: recv() with MSG_PEEK does not work
      CoreAudio: add device detection module
      CoreAudio: add audio device module
      osx: add native zeroconf implementation via Bonjour
      fix a number of warnings
      fix a number of warnings
      osx: don't build the once-test binary on OS X
      modules/coreaudio: replace deprecated functions
      module-bonjour-publish: don't include avahi headers
      alsa: Add two more ALSA audio card profiles
      module-coreaudio-detect: fix variable assignment in pa__done()
      osx: re-order module locations
      osx: add -headerpad_max_install_names to LDFLAGS
      configure.ac: add --mac-universal directive for OS X
      osx: add routines for real-time thread scheduling
      tests: add a connection stress test
      pa_poll(): Simplify detection of invalid fds in select() emulation mode
      module-coreaudio-detect: Add 'ioproc_frames' parameter
      util: Implement pa_get_binary_name() for Mac OS X
      pulsecore:: Define _POSIX_C_SOURCE locally for rtclock on OSX
      thread-posix: Use pthread_(get|set)name_np() if available
      module-coreaudio-device: Dispatch sink/source state messages from main loop
      module-coreaudio-device: Set the thread name to device name
      module-coreaudio-device: Fix two build warnings
      build-sys: Make -isysroot and -mmacosx-version-min configurable
      osx: pass -headerpad_max_install_names to the linker, too

Daniel Schaal (1):
      man: add manpage for start-pulseaudio-kde and start-pulseaudio-x11

Daniel T Chen (2):
      build-sys: Add missing profile and alsa-mixer/paths to src/Makefile.am
      alsa: Handle 'Digital Mic' as an 'Input Source'

David Henningsson (25):
      alsa-mixer: Add a few well-known descriptions
      alsa-mixer: add required-any and required-* for enum options
      alsa-mixer: always round towards 0 dB
      alsa-mixer: Add new paths for Internal Mic, Front Mic, Rear Mic and Dock Mic
      alsa-mixer: Fixup "Mic"/"Line"/"analog-input" paths to work with the new paths
      alsa-mixer: Make sure capture source and input source use right path
      alsa-mixer: Add support for "Line Boost" element
      alsa-mixer: Add workaround for some USB headsets
      protocol-native: Allow clients to know at what index underrun occurred
      Fix crash in path subset elimination
      Document PA_COMMAND_UNDERFLOW protocol change
      alsa-mixer: Mute IEC958 optical raw for several Audigy models
      alsa-mixer: Add "Line HP Swap" element
      JACK: Load module-jackdbus-detect in default.pa
      Remove offensive part of error message
      switch-on-connect: Don't switch to a monitor source
      Fix spelling sucess -> success
      Set better priorities on input paths
      module-switch-on-connect: Don't switch unlinked sink input and source outputs
      alsa-mixer: Set "Front" control to 0 dB on headphone path
      raop: Don't crash if fd is not open when trying to close it
      sink,source: Avoid crash by not updating volume on shutdown
      conf: Make sure module-dbus-protocol is loaded after module-default-device-restore
      dbus: Don't crash if the module does not load
      Fix crash in threaded message queues

Diego Elio Pettenò (12):
      Fix out-of-tree builds when dbus module is enabled.
      Add check for FFTW, and add option to disable it at build-time.
      Move the platform-specific defines after the compiler has been found.
      Fix build on Solaris: pass the third parameter to pa_cloexec_open.
      Don't declare the variable l if FIONREAD is not defined.
      Include sys/filio.h if present; this makes use of FIONREAD on Solaris.
      Check for stow using AC_CHECK_PROG rather than type -p.
      Simplify handling of NetBSD atomic ops discovery.
      Since now we have FreeBSD atomic operations, don't require libatomic_ops.
      Rename all the signal parameters and variables to something more explicit.
      Avoid using devname as a variable name.
      Simplify Makefile.am handling of ALSA-related files.

Dimitris Glezos (1):
      l10n: Updates to Greek (el) translation

Edward Rudd (3):
      coreaudio: Fix call to pa_thread_new
      solaris: update call of pa_thread_new to new prototype
      sconv_sse: Exclude SSE optimizations for Mac OS X

Fritz Elfert (1):
      Disable check for pthreads on win32

Gustavo F. Padovan (1):
      sbc: Fix redundant null check on calling free()

Harri Mähönen (1):
      stream-restore: add version to new entry.

Henning Heinold (2):
      src/Makefile.am: add missing space to fix build using uClibc
      build-sys: look for function 'backtrace' also in library 'ubacktrace'

Jason Newton (48):
      module-equalizer-sink added     src/Makefile.am: added module-equalizer-sink
      module-equalizer-sink:         added temporary debugging output to track filter output         removed dead code         only a small amount of crackling remains
      module-equalizer-sink: added more assertions to aid in debugging
      module-equalizer-sink: attempt different buffering strategy
      module-equalizer-sink: trying new buffering strategies
      module-equalizer-sink: simplified sink_input pop callback and introduced new variables that simplify different strategies.
      module-equalizer-sink:         first commit of a working state (cpu speed dependant)         added noop processing for filter debugability
      module-equalizer-sink:         removed liboil         added sse2 optimized dsp logic implementation         cleaned up a bit
      module-equalizer-sink:         added dbus support         removed cruft from inherited from ladspa module and improved clarity         switched dsp processing to reference implementation until project is more mature         tsched=0 seems to help with the micro-dropouts/crackling! oh my!         reformatting/spaces
      module-equalizer-sink:         added support for suspend/resume of filter coefficients         unregister the correct dbus interface.         made equalizer state file sink index dependent         expanded dbus properties         whitespace
      module-equalizer-sink:         dbus properties and manager so that multiple sinks can be loaded and mixers can be equalizer-sink aware         functionality to seed new filters quickly (rteq guis)         profile support         extra checking in client->server dbus messages
      module-equalizer-sink:         add lennard's fix for piggy-back sinks in pop_cb         fixed some tsched issues
      module-equalizer-sink: reverted buffering logic back to how the ladspa sink did it
      module-equalizer-sink:         dbus:             eliminated some redundant code in dbus handlers/getall             switched filter back to being a property             signals for changed profiles, added/removed sinks, filter updates and sink reconfigurations         fixed timing routines
      module-equalizer-sink:         proper fix for pa_xmalloc(0) given that 0 is illegal         fix coefficients in case there's no resume state         loadprofile now signals filterchanged
      module-equalizer-sink:         fix for peek returning a null memblock         pa_log -> pa_log_debug for fft size         updated module description         fixed a comment in dbus error for incorrect x positions
      module-equalizer-sink:         reworked processing so we don't have input->output delay of R samples
      module-equalizer-sink:         merging in upstream changes         whitespace fix and fix for first iteration un-windowing
      module-equalizer-sink         exchanged improper usage of memblockq_peek'd memchunk for silence block         dropped unneeded function prototypes         changed mround to be slightly more elegant         __restrict__ -> restrict for c99         removed unneeded pa_aupdate_swap calls         first_iteration -> pa_bool_t         cleaned up some usage of pa_malloc0 where pa_new0 was more appropriate         cruft removal, whitespace fixes and reordering of variables
      module-equalizer-sink.c         i->sink -> i in pa_get_sink_max_request*
      module-equalizer-sink.c: swapped order of attach_within_thread and set_max_request within sink_input_attach_cb
      module-equalizer-sink: fixed timeval initialization
      module-equalizer-sink: drop old macros for new library based ones
      module-equalizer-sink: added support for preamp
      module-equalizer-sink: fixed a bug w/ new zero-latency input scheme (that was an interesting/cool bug!)
      module-equalizer-sink: per-channel filtering support + profiles, easier default configuration
      module-equalizer-sink: added server side persistance of profile names
      module-equalizer-sink: fix improper usage of pa_modargs_get_value_boolean for u->set_default
      module-equalizer-sink: resync with ladspa parent sink
      module-equalizer-sink: resyncing with head and fix invalid writes         * pa_log->debug for default equalizer notification         * partially fixed infinite rewind bug         * set max_request to window_size first iteration         * swap order inside ROUND_UP calls         * resync pa_sink_input_new changes         * change pa_sample_clamp parameters to be correct to fix invalid writes         * reenable proper reset logic + proper request size
      module-equalizer-sink: *added client initiated sync support for filter state *added note of possible unstable behavior with next-power-of-2 sample rate calculation
      module-equalizer-sink: disable active profile name restoration as something in pack/unpack is funky and I don't have time for a     proper fix
      module-equalizer-sink: fixed equalizer state save/restore
      module-equalizer-sink:         *fixed SSE2 optimized dsp logic (default if available)         *cleaned up whitespace formatting (again)
      module-equalizer-sink: drop source executable permissions configure.ac: add enable/disable + summary line for fftw
      module-equalizer-sink: fixed equalizer state save/restore
      module-equalizer-sink:         *fixed SSE2 optimized dsp logic (default if available)         *cleaned up whitespace formatting (again)
      module-equalizer-sink: drop source executable permissions configure.ac: add enable/disable + summary line for fftw
      drop redundant alloc call
      module-equalizer-sink: try to limit buffering to mempool's max_block_size and disable debug output
      module-equalizer-sink:         add premultipliar to sse2 dsp_logic implementation
      module-equalizer-sink: (re)added output memblockq commented out timing debug statements
      module-equalizer-sink: switch back to reference dsp implementation - cpu usage doesn't really change and there may be     a bug in the vectorized version
      module-equalizer-sink: add latency of output_q and input_q to get latency calculation
      added qpaeq script for GUI equalizer control to src/util
      remove .py extension from qpaeq
      Makefile.am: added qpaeq to installed scripts
      src/utils/qpaeq: added more friendly error messages to common errors

Jens Georg (2):
      rygel: Properly close {sv} iters for GetAll
      rygel: Fix introspection XML for MediaItem2

Joe Marcus Clarke (2):
      freebsd: fix atomic ops implementations
      freebsd: implement pa_get_binary_name

Jonny Lamb (2):
      introspect: fix source output and sink input docs mix-up
      introspect: fix typo in default sink/source docs

João Paulo Rechi Vita (2):
      bluetooth: improve dbus logging
      bluetooth: add HFP Gateway support

Juho Hämäläinen (3):
      alsa-sink: take base volume into account when applying hw volume
      bluetooth-device: fix rounding errors caused by few bt volume steps
      alsa-mixer: select nearest alsa volume step in sync-volume mode

Jyri Sarha (15):
      core: Add infrastructure for synchronizing HW and SW volume changes
      alsa: Take syncronized HW volume infra into use for alsa-sink
      udev-detect: Add sync_volume parameter
      daemon-conf: Add sync volume parameters to daemon-conf
      man: sync_volume parameters to manual page
      core: New LIFO style flist implementation v2.2
      core: Lower "flist is full" log message level to debug and ratelimit it
      core: Add name to flist struct for more informative log messages
      core: Change sematics of pa_flist_new_with_name() (v1.1)
      core: Use volume_change_safety_margin when rewinding sync-volume events
      core: Use pa_sink_get_latency_within_thread() in sync-volume code
      alsa-sink: Fix double use of string
      alsa-sink: Don't assume we were able to enable hw-volume or sync-volume (v1.1)
      protocol-native: Stop auto timing updates if connected to suspended sink or source
      suspend-on-idle: Trigger mempool vacuuming

Kim Lester (2):
      configure.ac: add DARWIN_OS variable
      src/Makefile.am: add specific OS_IS_DARWIN files

Kim Therkelsen (2):
      Support for multichannel DSP processing in module-ladspa-sink
      core: Added new hooks: PA_CORE_HOOK_SOURCE_PORT_CHANGED and PA_CORE_HOOK_SINK_PORT_CHANGED

Kurt Taylor (1):
      PulseAudio: added IT block to fix thumb conditional instruction build error messages

Lennart Poettering (41):
      memblock: decrease tile size to 64k again
      libpulse: introduce pa_context_get_tile_size() call
      clients: drop definition of BUFSIZE which is unused
      pactl: include information about client context in pactl stat output
      pactl: format cookie a little bit nicer
      libpulse: introduce PA_STREAM_RELATIVE_VOLUME
      smoother: add comments about optimization recommendations from Jason Newton
      simd: update test cases
      core-util: introduce FD_CLOEXEC wrappers for open/socket/pipe/accept
      use cloexec wrappers wherever applicable
      core-util: make sure to enable FD_CLOEXEC unconditionally to cope with kernels that silently accept but ignore O_CLOEXEC
      core-util: introduce pa_fopen_cloexec()
      tdb: use O_CLOEXEC if available
      use pa_fopen_cloexec() where applicable
      socket-util: allocate at least sizeof(sockaddr_storage) space
      socket-util: drop redundant casts
      git: ignore kde related files
      daemon: make sure pa has its own session and process group, but is not its leader so that we cannot acquire a tty ever
      ramping: minor cleanups
      pulse: ask for timing updates both *before* and *after* triggering a stream state change so that in the STARTED/UNDERFLOW callbacks we accurate transport latency information
      tests: add pa_once_xxx() test
      client: introduce auto-connect-localhost= option in client.conf
      client: introduce auto-connect-display= following the scheme of auto-connect-localhost=
      native: fallback to another port if the default port is taken
      native: when run in system mode, do not look for fallback port
      start: we don't need to check for $PULSE_SERVER anymore
      shm: explicitly mark shm seg for MAP_NORESERVE to request overcommiting no matter what
      pactl: implement pactl subscribe
      Revert "pacat: Don't use any buffer attr if we don't set any latency/process time params"
      build-sys: fix check for pthread_setaffinity_np()
      i18n: update LINGUAS
      i18n: run make update-po
      conf-parser: make use of pa_strip() wherever applicable
      iochannel: remove fd from poll() when we don't care from events
      various modernizations
      equalizer: various smaller cleanups for m-e-s
      virtual: minor simplifications for the virtual sink
      virtual: document how to implement fixed block size filters
      virtual: when fixed block sizes are used the memblockq must have a silence block
      tests: fix once test
      memblockq: decode unset chunks as NULL chunks again

Leonid Kurbatov (13):
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation
      l10n: Updates to Russian (ru) translation

Leszek Koltunski (1):
      X11: attach X11 properties to Screen, not Display

Lu Guanqun (7):
      alsa-mixer: Fix the assumption that volume is always positive
      log: add thread name
      sample-util: use built-in function
      i18n: po file fixes
      memblock: fix memory leak when pa_shm_create_rw fails
      memblock: use built-in function
      pacat: make pacat respond to cork/uncork events

Luiz Augusto von Dentz (14):
      bluetooth: Add support for Media API
      bluetooth: make use of dbus-util helper functions
      core: make use of dbus_message_iter_append_fixed_array
      bluetooth: fix case of profile UUIDs to match what BlueZ uses
      bluetooth: fix build for libdbus < 1.3
      bluetooth: detect when bitpool has changed on sbc codec
      bluetooth: handle Acquire API change
      bluetooth: reduce bitpool if audio start skipping
      bluetooth: fix a2dp_process_push
      bluetooth: add proper handling for bluetooth.nrec property
      build: move sbc related files to its own directory
      bluetooth: Fix not updating sample spec when using Media API
      bluetooth: Fix using pointer-pointer when appending an array as variant
      bluetooth: Only close SCO if status has changed

Maarten Bosmans (119):
      module-rtp-recv: Request proper rewind after underrun
      build: Use MODULE_LIBADD in Makefile.am
      build: Generate module symdefs in src/modules directory
      build: Don't include empty Makefile.am in subdirs
      build: Remove unnecessary flags in AM_CFLAGS
      Use setenv instead of putenv
      Clean up <poll.h> includes
      Use <pulsecore/socket.h> instead of <sys/socket.h>
      Adapt win32 specific code to current API
      Apply #ifdefs around functionality not available on win32
      Use PCRE if POSIX regex.h is not available
      Fix dependencies and include necessary headers
      Add AM_LDFLAGS more consistently to all commands
      Repair some typos
      Implement some functions for win32
      win32: flush stderr after log output
      win32: Implement rtclock based on QueryPerformanceCounter
      win32: Implement pa_random
      module-waveout: Adapted to updated API
      Give module-waveout a configure switch
      Use pa_* instead of generic functions to improve portability
      tests/rtstutter: Use pa_rtclock
      Use pa_read, pa_write and pa_poll instead of system functions
      Include <time.h> where necessary
      Get rid of some unused-function compiler warnings
      Various fixes for build warnings
      configure: Drop some warnings
      Fix up according to Coding Style
      Fixup #include directives according to Coding Style
      build: Use silent rules for generating files
      module-waveout: Add device_name parameter
      build-sys: Flip default to no git pull on make dist
      Fix up some double spaces
      Make pulse compile with clang
      Update PA_MODULE_USAGE to be in line with actual implementation
      Find modules and config files relative to the installed libraries.
      build: copy instead of link pacat to other utils on win32
      build: Protect some more variables by ifdefs
      Use pulsecore/arpa-inet.h to make arpa/inet.h functionality available
      Fix pa_rtclock_from_wallclock
      module-waveout: Query device for supported samplerate
      module-waveout: Move thread creation
      module-waveout: Fix record/playback args
      Get rid of some warnings: -Wunused-result
      Get rid of some warnings: -Wunsafe-loop-optimizations
      Get rid of some warnings
      win32: Simplify dl_search_path code
      Move compile-time checks around pa_run_from_build_tree to core-util
      pactl: Accept more volume specification formats
      pactl: Add subcommands to the list command
      pactl: Separate stat and info actions
      pactl: Add short output format for list action
      build-system: Simplify AC_ARG_ENABLE usage
      build-system: Use AS_IF macro for configure output
      build-system: Move AC_DEFINE to separate line with AS_IF
      build-system: Move dependency error messages to outer scope
      build-system: Replace some more conditionals with AS_IF
      build-system: Rearrange database selection
      build-system: Small fixes
      Make connect-stress test compile for win32
      win32: define WIN32_LEAN_AND_MEAN
      build-sys: Remove unnecessary AC_SUBST calls
      build-sys: Consolidate host_os handling
      build-sys: Reset CFLAGS after DBUS check
      build-sys: Define PA_CFLAGS at right time
      build-sys: Clean up configure.ac
      build-sys: Move some stuff around in configure.ac
      build-sys: Move acx_lirc.m4 contents to configure.ac
      build-sys: Use AX_TLS macro from autoconf archive
      build-sys: Use AX_CHECK_DEFINE macro from autoconf archive
      build-sys: Use AX_PTHREAD macro from autoconf archive
      Remove unnecessary #includes
      Remove obsolete description property from modules
      Add sys/time.h include to rtclock.c
      build-sys: Cleanup Makefile.am
      win32: Make once-test work
      win32: Make some unused-variable warnings go away
      Update todo
      Remove libpulse-browse and pabrowse
      build-sys: Update orc.m4 to latest upstream version
      build-sys: Use ax_check_flag macros from autoconf archive
      build-sys: Use AX_DEFINE_DIR macro instead of setting AM_CFLAGS
      build-sys: Move some more defines from CFLAGS to config.h
      parecord: Automatically detect file format from extension
      build-sys: Move some more defines to configure.ac
      build-sys: Use configure AC_OUTPUT to process config files
      build-sys: Process configuration files with m4
      build-sys: Add more build-time conditionals to config files
      build-sys: Fix handling of Bluez, Hal dependency on D-Bus
      module-waveout: Correctly handle mono volume controls on waveout device
      build-sys: Check for necessary programs in bootstrap.sh
      Fix default.pa on non udev systems
      pactl: Update manpage
      pactl: Short --help output a bit by consolidating sink/source commands
      pactl: Split help string up in shorter pieces for easier translation
      Include config.h consistently in source files and not in headers
      Add some missing format.h includes
      Move i18n.[ch] to src/pulsecore
      Plug some memory leaks and an invalid read
      module-tunnel: Fix for new protocol versions
      Plug some memory leaks
      Initialise variables
      Avoid read from freed memory
      Initialise write_volume
      default.pa: Update rtp null sink line
      pactl: Add set-source-output-mute command
      Spelling fixes in public headers
      More spelling fixes
      gitignore: Add Orc autogenerated files
      echo-cancel: Use stream index in debug message
      Remove extra ; s where they are not allowed in strict C99
      sndfile-util: Check return value of sf_command for errors
      module-equalizer-sink: Use %z for printf of size_t variables
      module-equalizer-sink: Use = in initialising variables
      bluetooth/sbc: Use __asm__ keyword
      module-equalizer-sink: Use correct limit in loop
      Squash the last gcc warnings
      Make gcc --std=c99 happy
      module-suspend-on-idle: Move vacuum code to core

Maarten Lankhorst (1):
      bluetooth: Fix a2dp processing

Mads Kiilerich (1):
      headers: Some trivial fixes for some documentation typos

Marc-André Lureau (9):
      bluetooth: use sco_sink/source to start with right state
      bluetooth: fix set_volume_cb on sco over pcm
      bluetooth: restore original sco_{sink, src}->set_volume when unloading
      bluetooth: drop data every 500ms on oor condition
      interpol-test: remove unused include getopt.h
      tests: improve resampler test
      match: Don't double free in case of missing table file
      match: Match rule earlier, in SINK_INPUT_NEW
      module-null-source: New null-source module

Michael Terry (1):
      switch-on-connect: Add a new module to allow for hotplugged devices to be used by default.

Pascal Terjan (2):
      l10n: Updates to French (fr) translation
      l10n: Updates to French (fr) translation

Paul Menzel (9):
      Typo. s/a/are/
      man pages: correct formatting/markup of options
      client.conf.in: Typo. s/a/are/
      man: Clarify wording in volume sync documentation.
      man: Reference correct `--use-pid-file` and fix typo (`s/Of/If/`).
      build-sys: Correct typos in configure
      tunnel: Remove bogus `{`
      bluetooth: run `make update-sbc` to pull in build fix for thumb mode
      .gitignore: add `.tarball-version`

Pierre-Louis Bossart (9):
      rtpoll: better support for DEBUG_TIMING logs
      virutal-sink: boilerplate virtual sink to add PCM processing
      virtual-source: boilerplate virtual source for PCM processing on inputs
      virtual-sink,source: enable virtual-source and virtual-sink
      alsa: fix mixer profiles, add passthrough config
      alsa: add missing iec958 files from previous commit
      AC3 passthrough support
      alsa: disable period wakeups in tsched mode if possible
      sink-input: Don't resample passthrough inputs

Ralph Giles (1):
      Fix two comment typos.

Siarhei Siamashka (13):
      sbc: ensure 16-byte buffer position alignment for 4 subbands encoding
      sbc: added saturated clipping of decoder output to 16-bit
      sbc: new 'sbc_calc_scalefactors_j' function added to sbc primitives
      sbc: MMX optimization for scale factors calculation
      sbc: ARM NEON optimization for scale factors calculation
      sbc: fix signedness of parameters
      sbc: ARM NEON optimized joint stereo processing in SBC encoder
      sbc: ARM NEON optimizations for input permutation in SBC encoder
      sbc: slightly faster 'sbc_calc_scalefactors_neon'
      sbc: faster 'sbc_calculate_bits' function
      sbc: added "cc" to the clobber list of mmx inline assembly
      sbc: ARMv6 optimized version of analysis filter for SBC encoder
      sbc: add iwmmxt optimization for sbc for pxa series cpu

Sjoerd Simons (1):
      build-sys: Link libpulse directly to libdbus-1 if needed

Tanu Kaskinen (154):
      Create module-dbus-protocol with "Hello, world!" functionality.
      daemon: Implement the DBus server lookup service.
      dbus-protocol: Connection handling for local connections.
      dbus-common: Implement infrastructure for registering D-Bus objects on all     client connections and for receiving method calls from clients.
      dbus-protocol: Implement TCP server startup.
      module-dbus-protocol: Allow anyone to connect the daemon in system mode.
      module-cli: Fix compilation by adding libpulsecommon to module_cli_la_LIBADD.
      server-lookup: Update the D-Bus identifiers to be versioned.
      dbus: Implement the Name property of the core object.
      Finish the Core dbus interface.
      Add the forgotten src/modules/dbus directory to git.
      Bug fixing and minor cleanups.
      dbus/iface-core.c: Make sure D-Bus objects are created only once.
      dbus-protocol: Implement extension registration.
      dbusiface-core: Send signals whenever extensions are registered and unregistered.
      dbusiface-core: Don't die if we get a default sink/source change event before the new default device is actually created.
      dbus-protocol: Add debugging output (temporary change).
      dbus-util: Fix broken proplist reading logic.
      stream-restore: Expose module to D-Bus.
      dbusiface-core: Make the interface string a public constant.
      dbus-protocol, dbusiface-core: Take a reference when storing the core pointer.
      dbus-protocol: Make debug logging saner.
      dbus-protocol: Remove erroneous protocol object unref.
      dbusiface-memstats: Implement the Memstats D-Bus interface.
      proplist: New function: pa_proplist_equal()
      dbus: Three entangled changes:
      dbus: Take advantage of the PA_HASHMAP_FOREACH macro.
      dbusiface-core: Generate more informative error messages.
      dbusiface-core: Add functions for getting various object paths.
      dbus-util: Add helpers for proplist handling.
      dbus-util: Trivial comment punctuation fix.
      dbus-protocol: Split some overly long lines.
      dbus-protocol: Take advantage of the helpers in dbus-util.
      dbusiface-card: Implement the Card D-Bus interface.
      dbusiface-card-profile: Implement the CardProfile D-Bus interface.
      dbus-protocol: Add a note for _send_signal that by default the signal isn't     actually sent.
      dbus-protocol: Fix signal sending for the case when the client doesn't listen     for all signals.
      dbusiface-card: Split some overly long lines.
      dbusiface-card-profile: Assert the core argument isn't NULL.
      dbusiface-card: Use the ++ operator like it's meant to be used.
      dbusiface-card: Assert that the profiles list is empty if there's no active     profile.
      dbusiface-card: Fix the OwnerModule property type in handle_get_all().
      dbusiface-core: New function: pa_dbusiface_core_get_card_path().
      dbus-protocol: Use pa_hashmap_remove() instead of _get().
      dbusiface-device: Implement the Device and DevicePort D-Bus interfaces.
      dbusiface-core: Two new functions: pa_dbusiface_core_get_playback/record_stream_path().
      dbusiface-client: Implement the properties of the Client D-Bus interface.
      dbusiface-client: Fix the interface name.
      dbusiface-client: Fix indentation.
      dbusiface-device: Free the copied proplist.
      dbusiface-stream: Implement about a half of the Stream D-Bus interface.
      namereg: Revert default device handling back to the upstream version.
      dbusiface-core: New function: pa_dbusiface_core_get_client_path().
      dbusiface-core: Two new functions: pa_dbusiface_core_get_sink/source().
      dbusiface-device: Split some overly long lines.
      dbusiface-device: Use a single if-else section instead of ternary operator overuse.
      dbusiface-device: Fix argument reading in handle_suspend().
      dbusiface-device: Save one level of identation by returning early.
      dbusiface-stream: Finish the Stream D-Bus interface.
      dbusiface-core: Split some overly long lines.
      dbusiface-core: Use the PA_IDXSET_FOREACH macro.
      dbusiface-core: Assert that _add/remove_interface calls succeed.
      dbusiface-sample: Implement the Sample D-Bus interface.
      dbusifaca-device: Adapt to the changed pa_sink_get/set_volume() interface.
      proplist: Return early from pa_proplist_equal() if the pointers are equal.
      proplist: A couple of documentation fixes.
      modargs: New function: pa_modargs_iterate().
      dbus-protocol: Print a debug line whenever interfaces are unregistered.
      dbusiface-module: Implement the Module D-Bus interface.
      dbus: Save one level of identation by returning early.
      dbus: Make sure that subscription callbacks don't try to access removed objects.
      dbusiface-stream: Only send stream event signals from the right D-Bus objects.
      dbus: Finish the Client D-Bus interface.
      dbus: Do message argument type checking early, centrally.
      dbusiface-core: Add signals FallbackSinkUnset and FallbackSourceUnset.
      dbus: Change IsMuted property names to Mute.
      dbus-protocol: Implement argument type checking for normal methods.
      dbusiface-client: Fix the destructor (stop leaking stuff).
      dbus: Handle the cases when a non-existing interface is detected in an incoming message.
      dbus: Add a missing break statement in handle_message_cb().
      stream-restore: Fix a few assertion misuses with the D-Bus code.
      stream-restore: Add a missing pa_xnew0() call in handle_add_entry().
      stream-restore: At startup, create dbus entries only for valid database entries.
      idxset: Fix _get_by_data() comment.
      sink-input: Replace a tab indentation with spaces.
      daemon: Don't autospawn if a server address is explicitly configured.
      alsa-mixer: Use pa_xfree() instead of pa_xstrdup() for freeing a string.
      alsa-mixer: Replace erroneous PA_ALSA_VOLUME_IGNORE with PA_ALSA_ENUMERATION_IGNORE.
      alsa: Fix log output to inform about positive base volumes correctly.
      cli: Increase the command maximum length from 1024 to 2048.
      dbus: Make it possible to allow remote connections from outside localhost.
      dbus: Initialize properly the type field of new server structs.
      dbus: Fix segfault when receiving a property access call that isn't permitted.
      stream-restore: Fix segfaulting. The dbus entry callbacks expect a dbus_entry pointer instead of a userdata pointer.
      dbus: Use a struct as the hashmap items for listening_signals.
      dbus: Fix slightly messed up assertions.
      stream-restore: When changing restore entries with D-Bus, apply the changes immediately.
      dbus: Stop polling every 10 seconds to check whether all clients are still alive.
      dbusiface-core: Track sinks and sources using synchronous hooks instead of asynchronous subscription events.
      loopback: Make stream names and roles configurable.
      core: New function: pa_module_update_proplist().
      module-alsa-card: New argument: namereg_fail.
      module-udev-detect: When loading module-alsa-card, use namereg_fail=false.
      alsa-sink/source: Use the "namereg_fail" module argument.
      alsa: Print dB values in addition to percentages in debug messages.
      core: Link virtual sinks and sources to their streams.
      dbusiface-stream: Send the Device property in the GetAll handler.
      Allow read-only or non-existing sink input volume.
      alsa-mixer: Fix path set building when using the element-output or element-input mapping options in profile set configuration.
      alsa-card: Add a new modarg "profile_set" for giving the card a custom profile set configuration file.
      Implement the "volume sharing" feature.
      virtual-sink: Add a modarg for enabling volume sharing.
      virtual-sink: Add a modarg for forcing flat volume.
      virtual-sink/source: Use a more descriptive stream name.
      virtual-sink/source: Remove an unused variable.
      virtual-sink: Fix a crash when moving the sink to a new master right after setup.
      sink: Don't send unnecessary PA_SINK_MESSAGE_SET_SHARED_VOLUME messages.
      sink: Add casts to some printf arguments to get rid of compiler warnings.
      Add src/*-symdef.h to .gitignore.
      alsa-mixer: Add DecibelFix section to the profile set config file format.
      alsa-mixer: Use decibel fixes when getting and setting decibel volumes.
      pacat: Fix memory leak when draining the context.
      alsa-mixer: Add a default case for a switch, so that the compiler won't complain about unhandled cases.
      alsa-card: Print the profile set configuration when loading the card.
      dbusiface-stream: Fix crash when there's no resampling used.
      dbus: Always accept mono volumes when setting device or stream volume.
      alsa-mixer: Implement support for setting element specific upper limits for volume.
      alsa-mixer: When figuring out the max_dB of a path, use only channels that are used by the path elements.
      alsa-mixer: Implement constant volume.
      alsa-mixer: Refactoring: merge element_mute_volume(), element_zero_volume() and element_apply_constant_volume() into a single function.
      bluetooth: Don't log an error if an endpoint type is disabled.
      bluetooth: Get rid of warnings about unused stuff when building against a D-Bus version that doesn't have fd-passing support.
      .gitignore: Add ChangeLog to the ignore list.
      alsa-mixer: Get rid of a compiler warning.
      sink-input: Add volume_writable to pa_sink_input.
      alsa-mixer: Make probing elements with more than two volume channels fail.
      alsa-mixer: Make sure that SND_MIXER_SCHN_UNKNOWN isn't used when indexing e->masks.
      alsa-mixer: Check that the kernel driver returns consistent limits with both snd_mixer_selem_get_*_dB_range() and _ask_*_vol_dB().
      bluetooth: Drop all "#ifdef NOKIA" directives.
      bluetooth: Fix HSP volume handling.
      alsa: Fix log output to inform about positive base volumes correctly.
      sink-input: Check flat volume with pa_sink_flat_volume_enabled().
      protocol-dbus: Fix some memory management bugs.
      stream-restore: Enable database dumping if DEBUG_VOLUME is defined.
      match: Support for both merging and replacing proplist updates.
      dbus: Fix connection idxset freeing when unloading the module.
      dbus: Fix the order of freeing stuff when unloading module-dbus-protocol.
      loopback: Add a modarg for disabling remixing.
      gitignore: Add connect-stress, extended-test and format-test.
      bluetooth-discover: Remove remaining ifdef NOKIAs.
      virtual: Fix volume callback setting.
      daemon-conf: Don't make log files executable.
      svolume: Make log messages more precise.
      loopback: New modargs: sink_input_properties and source_output_properties.

Vincent Becker (3):
      Correct wav file creation for 24/32 and 24 bits sample formats HSD=3669357
      log: Add a new log target to a file descriptor
      log: Correct bad function implementation

Vladimir Kokarev (2):
      volume: add pa_cvolume_inc_clamp function
      lirc,mmkvd: added module parameters volume_limit, volume_step

Wang Xingchao (3):
      alsa: Update process_usec before going to sleep
      alsa: resets POLLOUT event
      sink-input: Avoid fake rewind in corked state

Wu Fengguang (1):
      alsa-sink: fix mmap_write() work_done

amitakhya (1):
      Sending translation for Assamese

anipeter (1):
      Sending translation for Malayalam

chocolateboy (1):
      Fix typo in log message: s/may no be/may not be/

elad (1):
      Sending translation for po/he.po

hedda (1):
      Sending translation for German

huan zheng (1):
      core: volume ramping fix

ifelix (1):
      Sending translation for Tamil

jassy (1):
      Sending translation for Punjabi

khasida (3):
      Sending translation for Japanese
      Sending translation for Japanese
      Sending translation for Japanese

kkrothap (1):
      Sending translation for Telugu

leahliu (1):
      Sending translation for Chinese (Simplified)

mgiri (1):
      Sending translation for Oriya

mrtom (1):
      Sending translation for French

rajesh (1):
      Sending translation for Hindi

runab (1):
      Sending translation for Bengali (India)

sandeeps (1):
      Sending translation for Marathi

shanky (1):
      Sending translation for Kannada

snowlet (1):
      Sending translation for po/zh_TW.po

swkothar (1):
      Sending translation for Gujarati

ypoyarko (1):
      Sending translation for Russian

zbt (3):
      Add volume ramping feature - envelop fix
      Add volume ramping feature - sink-input modification
      Add volume ramping feature - sink modification

zerng07 (1):
      l10n: Updates to Chinese (Taiwan) (zh_TW) translation