Milestone 0.9.16

Completed 11 months ago (09/10/09)

100%

Closed tickets:
41
Active tickets:
0
/ Total tickets:
41
clients

2 / 2

core

4 / 4

daemon

19 / 19

libpulse

2 / 2

module-alsa-*

4 / 4

module-combine-*

3 / 3

module-device-restore

1 / 1

module-hal-detect

3 / 3

module-remap-sink

1 / 1

module-tunnel

2 / 2

For a high-level overview see my blog.

Alam Arias (2):
      update pulse-daemon.conf.5.xml.in about exit-idle-time
      update pulse-daemon.conf.5.xml.in about realtime-scheduling

Andy Shevchenko (3):
      raop: Fix memory leak
      core-util: Fix logic of pa_make_path_absolute()
      Fix checking for NULL after usage

Colin Guthrie (5):
      udev: Don't install the udev rules if we're not compiling udev support
      combine: Do not set (and update) description if the user passed one in during load.
      introspect: Fix a bug in sink/source info protocol handling related to ports.
      bootstrap: Ship git-version-gen with the tarball.
      introspect: Fix two memory issues in port handling code.

Daniel Mack (1):
      make bootstrap.sh aware of Darwin environment

Diego Elio Pettenò (32):
      Don't use == for comparison in tests. Fix build with non-bash shells.
      When MAP_ANONYMOUS is missing, fallback to MAP_ANON.
      Add missing include directory path for OSS modules.
      Add missing headers' include to build on FreeBSD 7.1.
      Use the _ONCE variation of AC_CHECKs where applicable.
      Make it more clear that PulseAudio needs libtool 2.2.
      Update attributes.m4 file from xine-lib.
      Check for and use flags to reject undefined symbols in libraries.
      Properly link module-zeroconf-publish against libnative-protocol.
      Use the new CC_CHECK_CFLAGS_APPEND macro instead of a manual for.
      Ignore IPv6 tests, if IPv6 was built in but the system doesn't have it.
      Use static constants to keep the generated sample blocks.
      Implement mix-test for s24le and s24be sample formats.
      Don't try to compile the rtkit sources when dbus is not enabled.
      Add a missing sys/stat.h include for FreeBSD to declare umask().
      Also alias MAP_ANONYMOUS to MAP_ANON in shm.c, for FreeBSD.
      Fix the moved rtclock.h header in the Solaris module.
      Remove the call for pa_rtpoll_install() in the Solaris module.
      Rename the wait parameter to wait_op, to avoid shadowing wait().
      Only declare saved_errno when it's going to be used (on Linux).
      Rename the flock variable to f_lock.
      Add missing headers includes for FreeBSD.
      Check for the library containing the backtrace() function.
      Remove exploitable LD_BIND_NOW hack (CVE-2009-1894).
      Check for support of -z nodelete LD flag, don't use it unconditionally.
      Request explicitly POSIX.1-2001 for clock_gettime.
      Also request Darwin extensions, as they are needed for stuff like NSIG.
      Further simplify on Daniel's patch for bootstrap.sh.
      Make the rtstutter tests mostly pointless without CLOCK_REALTIME.
      Again make sure that the wait() definition is not shadowed.
      Split OSS support in output and wrapper.
      Update the end-of-configuration summary for OSS output/wrapper split.

Erich Boleyn (1):
      reserve-device: allow building without D-Bus

Finn Thain (6):
      solaris: 0.9.15 solaris module build failure
      Solaris: bootstrap portability
      Solaris: build fixes (resent)
      Solaris: use smoother (resent)
      Solaris: fixed latency (resent)
      Solaris: debug my latest enbugging, take 2

João Paulo Rechi Vita (2):
      bluetooth: handle bluetooth source
      bluetooth: add discover of bluetooth sources

Juho Hämäläinen (1):
      database: simple hashmap based database implementation

Jyri Sarha (4):
      bluetooth-device: Add safe guard against BT streaming irregularities.
      core: optimize pa_sink_render_full()
      core: Take samples from silence cache rather than write zeros
      optimization: Optimized pa_sink_render_full.

Lennart Poettering (497):
      rescue-streams: when one stream move fails try to continue with the remaining ones
      core-util: handle EINTR already inside of pa_read/pa_write
      object: keep refcount at 1 while destructing objects
      util: if NULL is passed to pa_path_get_filename() just hand it through
      log: print file name only when we have it
      log: use pa_logl() instead of pa_log_level()
      alsa: properly convert return values of snd_strerror() to utf8
      alsa: remove debug code
      object: fix ref counting of objects on destruction
      object: revert to old unref() behaviour
      llist: add PA_LLIST_FOREACH
      mutex: when we fail to fill in mutex into static mutex ptr free it again
      mutex: add initializer for static mutexes
      semaphore: introduce static semaphores
      memtrap: add new logic to trap and handle SIGBUS
      memtrap: when we fail to handle sigbus say so
      memtrap: make installation of SIGBUS handler explicit to ease integration into libraries
      memtrap: hook up core to memtrap system
      memtrap: fix parameter type
      memtrap: add a bit of documentation for memtrap
      i18n: add missing file to LINGUAS ... again
      i18n: run make update-po
      memtrap,aupdate: split atomic update from memtrap into seperate aupdate framework
      start-pulseaudio-x11: don't start a local sound server if a remote sound server is configured
      build-system: run make update-shave
      build-system: hide .version from git
      build-system: move x11 and jack modules into subdirectories
      idxset: add enumeration macro PA_IDXSET_FOREACH
      strbuf: add new call pa_strbuf_putc()
      shm: page align shm size when mmap()ing it
      shm: minor modernizations
      macro: add new macro pa_align_ptr()
      macro: make pa_page_align roung up instead of down
      memtrap: implicitly page align memory areas
      core-util: introduce pa_get_host_name_malloc() and pa_get_user_name_malloc()
      protocol-native,proplist-util: port to pa_get_{user|host}_name_malloc()
      alsa: allow configuration of fallback device strings in profiles
      protocol-http: substantial modernizations
      simple-protocol: don't hit an assert when we call connection_unlink() early
      ioline: add callback that can be called when the ioline object is fully drained
      ioline: add new calls pa_ioline_detach_iochannel() and pa_ioline_is_drained()
      protocol-http: allow listening into sinks/sources via HTTP
      http: split out mime type handling calls
      rygel: add module that interfaces with Rygel UPnP
      rygel: make server name configurable
      parseaddr: add new call pa_is_ip_address()
      strlist: add new calls pa_strlist_{next|data}()
      http: export information about currently active server strings
      rygel: instead of always handing out wildcard address find out the actual address we are listening on
      rygel: get rid of forgotten debug trap
      headers: minor cleanups
      zeroconf: computer native protocol port automatically
      zeroconf: copy more sink/source properties into DNS-SD TXT data
      zeroconf: use pa_get_{user|host}_name_malloc() where applicable
      alsa: don't hit an assert when invalid module arguments are passed
      sample: correctly pass s24-32 formats
      zeroconf: properly unref native protocol object
      endian: fix LE/BE order for 24 bit accessor functions
      sample-util: properly allocate silence block for s24-32 formats
      sample-util: fix iteration loop when adjusting volume of s24 samples
      alsa: initialize buffer size before number of periods to improve compat with some backends
      resampler-test: use global PA_FLOAT32_SWAP implementation
      resampler-test: add tests for 24bit sample formats
      sconv: fix a few minor conversion issues
      macro: add macros for initializing memory
      core: introduce pa_{sink,source}_set_fixed_latency()
      core: make sure we fix up flags/monitor flags already in pa_sink_new() instead of pa_sink_put()
      core: cache requested latency only when we are running, not while we are still constructing
      core: liberalize 99a6a4 a bit
      channelmap: add pa_channel_map_has_position()
      mime: drop additional whitespace from mime types
      upnp: fix URL of MediaServer spec
      upnp: update to newest spec, generate 'Updated' signal
      upnp: properly issue method not found exception when we don't now it
      upnp: use new rygel @HOSTNAME@ wildcard for server name
      upnp: rework property handling
      git: activate default commit hook
      http: fix segfault on connection termination
      alsa: include mixer name in sink/source properties
      core: automatically add icons for headsets/headphones/speakers for devices
      volume: introduce pa_cvolume_{get|set}_position()
      database: add abstracted database API
      database: add gdbm backend
      database: add tdb backend
      macro: include string.h because we need it for memset
      database: port restore modules to new database API
      alsa: be a bit more verbose when a hwparam call fails
      upnp: implement item-count/container-count properties
      rescue: make we don't end up in an endless loop when we can't move a sink input
      upnp: convert all property names to CamelCase to follow D-Bus spec
      shm: rework alignment when punching memory
      upnp: update to newest spec
      upnp: s/url/URL/ in GetAll() D-Bus call
      volume: change pa_volume_t mapping to cubic
      tests: show dB in volume-ui.py
      core-util: fall back to sysconf(_SC_OPEN_MAX) to find maximum file descriptor
      channelmap: document how apple's/microsoft's channel names map to ours
      upnp: s/org.Rygel./org.gnome.UPnP/ following the newest version of the spec
      sample: introduce pa_sample_format_is_{le,be,ne,re}()
      sample: introduce pa_proplist_setp()
      channelmap: introduce pa_channel_map_mask() and pa_channel_position_mask_t
      proplist: add two new generic properties, media.copyright and media.software
      map-file: add missing channel map/cvolume position functions
      volume: implement pa_cvolume_{scale|max|avg}_mask()
      cli: allow easy repeating of commands with '/'
      core-util: introduce pa_disable_sigpipe()
      sndfile: big rework of libsndfile interfacing code
      alsa: fix wording, we are speaking of card profiles, not output profiles
      oss: don't deadlock when we try to resume an OSS device that lacks a mixer
      libpulse: introduce PA_CHECK_VERSION macro
      modargs: introduce pa_modargs_get_proplist()
      simple: set ADJUST_LATENCY by default
      null: introduce sink_properties= argument
      modules: add {sink|source|card}_properties argument to all modules
      modules: introduce PA_MODULE_DEPRECATED() macro for marking modules deprecated
      utils: use pa_path_get_filename() where applicable
      tdb: include signal.h before tdb.h for compat reasons
      reserve: update reserve.[ch] from upstream git
      reserve: wrap device reservation monitor reference implementation
      core: add a suspend cause flags field
      alsa: monitor device reservation status and resume automatically when device becomes unused
      augment: try to deduce the media role from the menu category
      rtp: remove gcc warning
      udev: add module-udev-detect for discovering and configuring devices
      hal,udev: deprecate HAL support in favour of udev
      hashmap: introduce PA_HASHMAP_FOREACH macro
      core: suppress suspending/resume when we are already in the right state
      core: monitor sources need to inherit the suspend cause from their sinks
      udev: try to unsuspend devices whenever they are closed by other processes
      build-sys: bump libsndfile dependency
      udev: properly initialize userdata to 0
      daemon: optionally call mlockall() on startup
      conf: remove obsolete module-idle-time directive from default config file/man page
      man: document log related daemon.conf options
      man: document 24bit sample types in man page
      man: document that tsched doesn't use fragment settings
      rtstutter: increase log level by default
      core: make sure soft mute status stays in sync with hw mute status
      core: replace tabs by spaces
      i18n: update po data
      prop: introduce new PA_PROP_DEVICE_INTENDED_ROLES property
      udev: reshuffle the properties we read from udev a bit
      sample: fix build on BE archs
      alsa: fix bad memory access for devices that lack a mixer
      daemon: write a warning blurb to syslog when folks use --system mode
      idxset: implement pa_idxset_copy()
      hashmap: implement api to iterate a hashmap backwards
      hashmap: implement pa_hashmap_last()
      volume: implement functions for multiplicating a cvolume with a scalar
      channelmap: implement pa_channel_position_from_string()
      version: fix prefix in PA_CHECK_VERSION macro
      channelmap: make sure a mask is generated is 64 bit int
      malloc: implement pa_xrenew()
      channelmap: define a couple of standard channel masks
      volume,channelmap: reimplement a couple of calls based on channel masks
      conf-parse: implement .include directive
      core-util: implement pa_xstrfreev()
      core-util: implement pa_split_spaces_strv()
      core-util: implement pa_maybe_prefix_path()
      rtp: fix s/recieve/receive/ typo
      card: some modernizations
      card: make sure to always hand failure code back in some calls
      card: get rid of description field which is unused
      gdbm: set default block size to 1K
      pstream: fix s/recieve/receive/ typos
      pdispatch: fix s/recieve/receive/ typos
      alsa: rework mixer logic
      alsa: allow placing device id in alsa device strings at arbitrary positions
      bluetooth: return sensible error code in set_profile()
      native: implement command to change sink/source port
      libpulse: implement client side for sink/source port selection commands
      pactl: implement pactl set-{sink|source}-port
      raop: move all raop files to subdir
      native-protocol: allow enumerating ports
      pactl: show list of supported ports
      i18n: update i18n
      stream-restore: e don't need to save stream data that came from the database
      card-restore: we don't need to save card data that came from the database
      device-restore: save last used port in database
      card,stream-restore: minor cleanups
      core: be a bit more verbose when registering a sink/source fails
      device-restore: properly check save_muted flag when storing muted state
      alsa: when creating alsa sinks/sources include mapping name in device name to allow profiles mit multiple sinks or multiple sources
      alsa: fix duplicate mapping detection
      alsa: properly count mappings of manually defined profiles
      alsa: add profile set for Native Instruments Audio 8 DJ sound card
      alsa,core: include mapping name in description strings
      alsa: merge mic boost into volume slider
      alsa: unify alsa log handling and snd_config_update_free_global() handling in one place
      alsa: add profile set for Native Instruments 4 DJ
      alsa: document default profile set a bit better
      alsa: move mixer config files to subdir in /usr/share
      alsa: move udev rules file behind the other sound related rules
      alsa: add copyright blobs and comments to all mixer paths/profile sets
      alsa: document alsa mixer path/profile sets a bit more
      alsa: synthesize volume values more sensibly for channels that are not controllable in hw
      core: ask RealtimeKit for RT scheduling
      core: use rtkit to acquire high-priority scheduling
      daemon: strip all special suid/caps log from our startup code, we'll now rely on RealtimeKit for all high-priority/RT scheduling policy issues
      mergo
      daemon: enable real-time by default
      core: get rid of rt sig/timer handling since modern Linux' ppooll() is finally fixed for granularity
      restore: change 'save' flag behaviour to reflect whether an entry shall and/or is in the on-disk databases
      modules: add module-intended-roles that automatically puts streams marked with a role on devices that are intended for that role
      module-stream-restore: recheck stream database on hotplug/unplug and potentially move streams
      rescue: make sure module-rescue-streams is used only as last fallback
      daemon: enable module-intended-roles by default
      build-sys: dropo shave support, depend on automake's new silent build support instead
      rtclock: fix build after merge
      rtclock: enable rtclock for our own mainloop implementations
      rtclock: document that we fallback to wallclock time if monotonic time is not supported
      timeval: don't create the wrong illusion that nsecs should be stored in pa_usec_t
      rtclock: fix type of PA_TIMEVAL_RTCLOCK
      build-sys: bump udev revision to pull in new rules files
      builds-sys: work around automake 1.11 borkage
      build-sys: use pax tar format to allow longer file names
      intended-roles: fix symdef header inclusion
      rtclock: make use of constants when converting between nsec and usec
      intended-roles: properly initialize split state
      modules: pass properly initialized userdata pointers to various hooks
      intended-roles: drop quite a few unnecessary includes
      build-sys: drop compat with old git versions so that tarballs for -test1 style evrsions are properly created
      build-sys: teacch git versioning script to not kill - in version strings
      build-sys: properly drop '-' from major/minor/micro strings
      build-sys: don't make pulseaudio binary suid on install anymore
      sndfile: fix build on BE archs
      reserve: fix build without D-Bus
      bluetooth: handle absence of bluez D-Bus service properly
      bluetooth: don't busy loop when device is not writable but we want to write
      native: don't hit assert when user uploads zero-sized sample
      libpulse: minor cleanups
      build-sys: add missing dependency to libcli
      alsa: fix a few comments
      reserve: update from upstream git repo
      memblock: rearrange locking order
      memtrap: properly lock access to memtrap changer
      stream-restore: mark volume changes from instant apply as saved ones
      daemon: before exec'ing ourselves, make sure nobody plays games with /proc/self/exe
      client: allow zero-copy writing to the stream
      memtrap: clarify that we are not interested in the return value of write()
      alsa: deal properly with IO functions asking us to write 0 bytes
      daemon: reset personality, to make the autospawn env cleaup complete
      udev: don't fail if /dev/snd is not available right-away
      po: run make update-po
      alsa: control 'Speaker' element as well
      build-sys: add a couple of stub Makefiles
      daemon: replace colons by dash in per-machine directory names for compat with weird filesystems
      alsa: don't reset volume/mute when selecting path
      client: include zerocopy write calls in map file
      pacat: use zero-copy write calls when playing audio file
      alsa: handle correctly if alsa returns us 0 or EAGAIN on snd_pcm_mmap_begin if we didn't call snd_pcm_avail immediately before
      udev: explain what happened when inotify_add_watch() returned ENOSPC, rhbz #513571
      memblock: try to hit an assert earlier when ref counting doesn't work
      autospawn: refuse autospawning if process disabled waitpid()
      alsa: throw timing data away after device resume
      client: make volume struct const
      client: limit block size for zero-copy operations to mempool block size
      interpol-test: allow configuration of latency
      client: if a child we created was already reaped, assume that it was successful
      client: minor modernizations
      i18n: run make-update-po
      build-sys: bump binary version
      threaded-mainloop: loop around pa_cond_wait() invocation in pa_threaded_mainloop_signal()
      tunnel: don't assert on misaligned reads, closes #597 and rhbz #496310
      alsa: revert to first set number of periods, then set buffer size
      client: fix documentation for threaded mainloop
      client: documented that pa_stream_drain() may only have a single operation active at a time
      hal: add option to initialize all subdevices of an OSS device
      pipe: replace PIPE_BUF macro pa pa_pipe_buf call
      core-util: rework pa_strlcpy() to not rely on strncpy()
      core-util: replace remaining fixed size destination string functions by _malloc() versions
      autospawn: if creating the lock file fails, pass error code cleanly back to main process
      build-sys: take preset CFLAGS into account
      client: extend documentation on pa_operation_cancel() a bit
      alsa: properly treat ESTRPIPE as system suspend
      simple: use PA_xxx_IS_GOOD for state checks
      simple: use pa_xnew0 instead of manual reset to 0
      simple: always loop around pa_threaded_mainloop_wait() to handle spurious wakeups properly
      simple: call pa_context_disconnect() just to be sure
      simple: split data/length validity checks into two
      simple: check for == RUNNING instead of != DONE when waiting for operations
      smoother: readd #ifdef protection
      simple: bump libpulse-simple library revision
      run make update-po
      core: save volume/mute changes coming from the hardware automatically
      ladspa/remap: make sure we process all requested rewinds unconditionally
      build-sys: drop libcap checks, since we don't use caps anymore
      mix-test: fix test for s24-32 samples
      Revert "build-sys: drop libcap checks, since we don't use caps anymore"
      hal: add stub module that loads module-udev-detect instead of module-hal-detect
      udev: drop definition of LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE
      hal: replace subdevs= parameter by subdevices= parameter
      volume-restore: forward module load return value of stream-restore back to caller
      alsa: adjust priority bonus of mappings that match the configured default channel map
      alsa: enable ext. amplifier by default
      daemon: install D-Bus system policy file for PA system instances
      conf: add pa_config_parse_not_bool() for parsing inverse boolean configuration options
      conf: invert all negative boolean configuration option
      daemon: unconditionally clean up priviliges
      core-util: move personality resetting into core-util
      daemon: reset scheduling priority on startup, too
      context: document why we only do minimal cleanups before the autospawn exec()
      memblock: rate limit 'Pool full' message
      pacmd: port pacmd from select() to poll() so that we notice writer side hangups
      start-child: clean up child environment a bit better
      core: add assert macros for verifying calling context
      core: add functions to query max_rewind/max_request values from streams
      pacmd: handle multi word commands in argv[] properly
      shm: bump shm size limit to 1GB
      memblockq: add pa_memblockq_get_maxrewind() API
      asyncmsgq: add pa_asyncmsgq_flush() call
      thread-mq: never drop queued messages for the main loop
      resampler: round up when estimating input/output sizes
      daemon: reset gids too, not just uids
      protocol-native: log explicitly each time a client triggers a volume change
      volume: guarantee dB/linear conversion is reversible
      module-stream-restore: don't fiddle with sinks/sources/streams that are not fully set up yet
      core: introduce pa_{sink_input|source_output}_fail_move()
      native: handle moving() callback with NULL destination properly
      core: split of FAIL_ON_SUSPEND into KILL_ON_SUSPEND and NO_CREATE_ON_SUSPEND
      rescure-stream: handle failed moves as well as dying sinks/sources
      log: place more rate limit invocations
      core: move rtpoll to thread_info sub structure
      core: make fixed latency dynamically changeable
      core: call pa_sink_get_latency_within_thread() instead of going directly via process_msg()
      core: don't update latency range if not changed
      core: document difference between IO and main thread view on requested latency
      native-protocol: downgrade volume change log messages
      hook-list: make use of PA_LLIST_FOREACH
      remap: unify argument order with other modules
      ladspa: move LADSPA_Data size check to compile time
      module-remap: allow moving of sink, forward fixed latency
      module-ladspa: allow moving of sink, forward fixed latency
      ladspa: name sink after human readable plugin name, not the id string
      combine: drop adjust_timestamp variable because it is unused
      combine: big rework
      combine: warn when the latency of a stream gets too high
      core: introduce pa_{sink|source}_update_flags()
      ladspa/remap: sync latency flags from master sink when moving between sinks
      asyncmsgq: introduce pa_asyncmsgq_dispatching()
      thread-mq: do final q flush only when we aren't dispatching anyway
      bluetooth: drop PA_BT_AUDIO_STATE_LAST since it is unused and we normally call that _MAX anyway
      bluetooth: recognize only those BT devices that implement both the Audio and either AudioSink or Headset interfaces
      bluetooth: ask first for Headset and AudioSink properties, followed by Audio
      bluetooth: move installation of mq's earlier to avoid context asserts to be triggered
      modules: add various checks to avoid selecting objects that are not linked or in another unclear state
      core: add to FIXMEs
      aupdate: implicitly call _write_swap() if it wasn't called explicitly
      volume: add pa_cvolume_merge() call
      reserver: update from upstream git
      channelmap: adjust RFC3551 channel maps to follow spec more closely
      channelmap: document where the WAVEX channelmap is documented
      channelmap: minor doxygen fix
      libpulse: some minor optimizations when checking equality
      volume: document when arguments of certain functions may overlap
      bluetooth: make NameOwnerChanged filter matches more focussed
      bluetooth: fix match syntax
      macro: add PA_ROUND_UP/PA_ROUND_DOWN macros
      macro: simplify page/word alignment macros a bit
      volume: introduce pa_cvolume_min() and pa_cvolume_min_mask()
      volume: simplify volume multiplifactions, do them in integer only
      volume: round properly when showing human readable volume percentages
      dbus: never return DBUS_HANDLER_RESULT_HANDLED in filter callbacks, since other callbacks might stell want to have the messages
      voltest: extend test to verify correctness of _multiply() and _divide()
      macro: extend comments a bit
      source: rework volume handling
      udev: allow passing of ignore_dB= parameter to alsa modules
      volume: use PA_VOLUME_MAX instead of (pa_volume_t) -1
      volume: introduce pa_cvolume_{inc|dec}()
      match: document how broken the module-match logic is
      sink: volume handling rework, new flat volume logic
      mmkbd: replace manual code by pa_cvolume_{inc|dec}()
      lirc: replace manual code by pa_cvolume_{inc|dec}()
      i18n: add ko to LINGUAS
      i18n: run make update-po
      core: check return value of getgrnam_r() instead of errno
      sink-input: add callbacks that are called whenever the mute/volume changes
      ladspa: forward volume changes from ladspa sink to stream and hence via flat volume logic to master sink
      adjust various data/library paths automatically if we are run from a build tree
      combine: quieten gcc a bit
      alsa: leave headphone jack enabled in normal mixer paths
      udev: when a device appears that we cannot access right-away try again later on inotify
      object: speed up type verification by not relying on strcmp()
      gconf: use correct path for gconf-helper tool when running from build tree
      udev: always verify access before loading modules
      udev: don't access string after free()
      udev: watch for both ACL changes and processes closing devices
      udev: tell inotify to actually inform us about ACL changes
      i18n: run make update-po
      daemon: don't free script_commands twice
      add usergroup-test to .gitignore
      ladspa/remap: handle failing stream moves properly
      core: relex validity checks when destructing half-set up source outputs/sink inputs
      udev: process all inotify events queued up, not just the first one in the queue
      udev: check busy status of alsa cards before loading alsa modules and hence initiating profile probing
      port a few things over to use xmalloc and friends instead of low-level libc malloc/free directly
      alsa: increase interval between smoother updates exponentially for alsa sources, following the scheme for sinks
      alsa: automatically decrease watermark after a time of stability
      i18n: run make update-po
      build-sys: add missing header files to tarball
      detect: recommend module-udev-detect instead of module-hal-detect
      remap: fix build for non-x86 builds
      macro: add PA_CLIP_SUB() for saturated subtraction
      loopback: add loopback module for direct connections of sinks and sources
      combine: store adjust time in usec
      loopback: make sure a monitor can't be looped back to its sink
      loopback: update description and icons when moving loopback streams
      loopback: quieten gcc on 32bit
      llist: add PA_LLIST_FOREACH_SAFE macro for iteration that allows deleting
      pdispatch: add missing commands to command table
      pdispatch: various modernizations
      protocol-native: compare uint64_t variable with (uint64_t) -1 instead of (size_t) -1 for compat with 32bit archs
      protocol-native: print more volume change debug messages to easy tracking down of feedback loops
      sink-input: extend comments on rewinding logic a bit
      proplist: allow setting of zero-length data properties
      bluetooth: remove left-over debug line
      build-sys: make proximity helper properly suid
      core: move 'flags' field into 'pa_sink_input_new_data' structure so that hooks can access it
      suspend-on-idle: don't resume devices for corked streams
      sconv: quieten gcc a bit
      core: add priority field to pa_sink/pa_source
      namereg: add new pa_namereg_is_valid_name_or_wildcard() call
      protocol-native: replace use of pa_namereg_is_valid_name() by pa_namereg_is_valid_name_or_wildcard() where applicable to allow use of @@ wildcards
      namereg: select default sink by priority
      core: initialize sink/source priorities automatically based on their proplists
      native: make sure clients cannot trigger an assert by sending us invalid volume info
      core: always allow volume setting with single-channel pa_cvolume
      cli: apply single-channel volume changes equally to all channels
      cli: make sure 'dump' uses pa_cvolume_max() to deduce a single-channel volume from a multi-channel volume
      pactl: implement pactl commands for changing volumes/mute stati
      pactl: drop unnecessary newlines from pa_log() invocations
      daemon: don't override path env vars if they are already set
      alsa: distuingish real underruns from left_to_play=0
      alsa: by default increase watermarks only on real underruns, don't try to be smart
      ladspa,remap: make description of sink follow moves
      core: add missing sink_unref()
      core: handle suspended state in pa_sink_render_full() similar to the other render functions
      core: fill up memblock with pa_sink_render_into_full() in pa_sink_render_full() instead of doing our own loop
      core-util: add api for setting env vars and record them so that we can undo them n fork
      daemon: clean up environment when forking off children
      sink: simplify pa_sink_render_full() by replacing it by a pa_sink_render() plus a couple of pa_sink_render_full()
      build-sys: drop LIBOIL_{FLAGS|LIBS} from Makefile.am since we don't use the library anymore
      core-util: call dbus_connection_set_exit_on_disconnect() on shared busses to make sure dbus_shutdown() isn't fatal
      core-util: don't leak memory in pa_unset_env_recorded()
      daemon: drop polkit code from git repo we weren't using anymore
      remap_sse: reindent macro so that diff to MMX is nicer
      remap_sse: fix inner loop increment on SSE
      daemon: make use of SIMD optional via config variable to ease debugging
      core: drop unnecessary variable initialization
      remap: build sse code only on x86
      i18n: fix LINGUAS
      i18n: run make update-po
      alsa: add more input sources to path set
      null: make name of null sink translatable
      always-sink: rename null sink created to 'dummy sink' and make it translatable
      daemon: disable CPU load limiter by default
      libpulse: introduce PA_BYTES_SNPRINT_MAX and make use of it wherever applicable
      introspect: rearrange order of functions a bit
      volume: fix definition of PA_VOLUME_MAX and introduce PA_VOLUME_INVALID and use it wherever applicable
      volume: add a couple of validity checks for pa_volume_t arguments
      volume: drop some redundant but expensive validity checks
      volume: when passing NULL as channel map to pa_cvolume_scale_mask() handle this the same way as pa_cvolume_scale()
      volume: if pa_cvolume_set_{balance|fade}() is called with invalid fade/balance value log, but don't assert
      vala: add vala .vapi file for the PulseAudio APIs, but don't include them in the tarball for now
      vala: s/PropList/Proplist/g since the C version does not use an underscore there
      vector: don't try to build vector stuff on altivec
      vala: reindent
      libpulse: allow invocation of pa_context_play_sample_with_proplist() with NULL proplist
      i18n: move \r out of translatable string
      llvm-clang-analyzer: drop a few unnecessary assignments and other trivial fixes
      alsa-sink: init after_avail earlier (llvm-clang-analyzer)
      blueooth: actually honour 'room' variable (llvm-clang-analyzer)
      hal: check properly for failure of libhal_find_device_by_capability() (llvm-clang-analyzer)
      rtsp: document that rtsp_exec() needs fixing (llvm-clang-analyzer)
      utf8: minor simplification
      cli-command: modernizations
      cli-command: don't necessarily ovveride failure code of files (llvm-clang-analyzer)
      conf-parser: properly initialize variable we free() later (llvm-clang-analyzer)
      core-util: properly fill in exception array for pa_reset_sigs() (llvm-clang-analyzer)
      protocol-native: log explicitly when someone asks us to quit
      stripnul: initialize 'found' bool properly (llvm-clang-analyzer)
      pacat: don't convert stream name twice (llvm-clang-analyzer)
      padsp: properly return return values (llvm-clang-analyzer)
      ratelimit: allow non-static ratelimit structs
      udev: ratelimit device initializations
      sample-util: add pa_convert_size() call for converting sizes between two sample specs
      simd: be more precise which SIMD optimizations we activate
      alsa: rework buffer/period configuration
      alsa: pass SND_PCM_NONBLOCK when opening device during unsuspend, the same way we do it for initial opening
      alsa: when probing for profiles configure buffer/period sizes since some broken drivers apparently need that
      alsa: disable tsched for software devices before we configure the buffer metrics so that we don't accidently set a buffer size that is suitable for tsched where we don't use tsched
      add ml to LINGUAS
      i18n: get rid of ko.po/ru.po since they contain exactly 0 translated strings
      i18n: run make update-po
      i18n: run make update-po
      native: send PA_COMMAND_PLAYBACK_BUFFER_ATTR_CHANGED messages only to clients that understand it
      libpulse: don't support pa_context_get_card_info_list() on servers that cannot handle it

Lubomir Rintel (1):
      Recover stream when it's suspended upon rewind

Luiz Augusto von Dentz (1):
      Handle DisconnectRequested in bluetooth module.

Luke Yelavich (1):
      POTFILES - Remove references to more non-existant files in the source tree

Maarten Bosmans (1):
      combine: determine sample parameters of combined sink from underlying sinks

Marc-André Lureau (15):
      pulse/context: when NOFAIL, don't try_next_connection() if c->client
      bluetoth-device: be less strict on CONNECTED state to switch profile
      build: generate git tarball using git describe
      build: there is no such thing as SHAVE_OUTPUT anymore
      suspend-on-idle: add per-device timeout property
      context: don't fail if session bus is not there
      perl -p -i -e 's/pa_rtclock_usec/pa_rtclock_now/g' `find . -name '*.[ch]'`
      pulse: move pa_rtclock_now in pulsecommon
      Base mainloop on pa_rtclock_now()
      rtclock: fix issues found by Lennart
      bluetooth: warn on EAGAIN after POLLOUT
      bluetooth: don't connect on unconnected profile
      bluetooth: don't call pa_sink_render with 0 bytes request
      bluetooth: fix typo with service_{read,write}_type
      pulse: even in case of record stream, let's initialize req_bytes to 0

Maxim Levitsky (1):
      Correctly deal with events in the past in calc_next_timeout

Scott Reeves (1):
      daemon: fix leak of script_commands

Ted Percival (2):
      core: Add thread-safe group info functions with dynamic buffers
      core: Remove wrong doc on how to free returned data

Wim Taymans (51):
      protocol-native: use the right samplerate
      sample-utils: split out functions from case
      sample-utils: coding style cleanup
      sample-util: move some functions around
      sample-util: move volume code to separate file
      samples-util: add padding to volume array
      volume: add first mmx optimized function
      volume_mmx: fix mmx code a bit
      volume_sse: add sse optimisations
      svolume: improve SSE and MMX code
      cpu-x86: add cpu detection code and helpers
      main: hook up cpu detection code
      cpu-x86: guard header with ifdef
      svolume: add some comments
      volume: make the benchmark more meaningfull
      volume: improved comments
      volume: remove ref functions
      Get rid of liboil
      resampler: cache integer channel_map
      svolume: remove unneeded compare
      svolume: add ARM optimized volume scaling
      svolume: add CPU guards around code
      resample: refactor the channel remapping a little
      resample: fix counters
      resampler: fix identity check
      sample: manually inline table lookups
      svolume: fix compilation in 32bits
      x86: keep the cpu flags local
      arm: implement ARM cpu detection
      svolume: add comment
      resampler: avoid some multiplies when we can
      whitespace fixes
      svolume: cleanups
      alsa-sink: reduce the amount of smoother updates
      sconv: allow for setting custom functions
      resamples; refactor the channel remapping bits
      remap: move remapping code in separate file
      remap: allow specialisations to install NULL
      remap: init the do_remap function to NULL
      remap: add MMX mono to stereo
      remap: make the MMX code pretier
      sconv: fix indentation
      remap: add sse optimized mono to stereo
      sample-util: avoid stack overrun
      remap: cleanup assembler a little
      macro: add macro to align variables
      convert: add sse/sse2 s16 to float32ne conversions
      remap: fix counters for mmx and sse remap
      sconv_sse: fix leftover counter
      x86: only install some functions when SSE2
      x86: also call see init for SSE2

Xabier Rodriguez Calvar (3):
      Modification of the glib-mainloop doc to ensure that nobody frees the api as it is owned by the loop.
      Modification of the mainloop doc to ensure that nobody frees the api as it is owned by the loop.
      Modification of the thread-mainloop doc to ensure that nobody frees the api as it is owned by the loop.

aalam (1):
      Sending translation for Punjabi

anipeter (1):
      Sending translation for po/ml.po

barney (1):
      Sending translation for German

beckerde (4):
      Sending translation for Spanish
      Sending translation for Spanish
      Sending translation for Spanish
      Sending translation for Spanish

dennistobar (1):
      Sending translation for Spanish

eukim (1):
      Sending translation for po/ko.po

fab (3):
      Sending translation for German
      Sending translation for po/de_CH.po
      Sending translation for po/LINGUAS

giallu (1):
      Sending translation for Italian

ifelix (2):
      Sending translation for Tamil
      Sending translation for Tamil

igor (4):
      Sending translation for Brazilian Portuguese
      Sending translation for Brazilian Portuguese
      Sending translation for Brazilian Portuguese
      Sending translation for Brazilian Portuguese

jassy (3):
      Sending translation for Punjabi
      Sending translation for Punjabi
      Sending translation for Punjabi

kkrothap (1):
      Sending translation for Telugu

kmilos (2):
      Sending translation for Serbian
      Sending translation for Serbian (Latin)

logan (3):
      Sending translation for Spanish
      Sending translation for Spanish
      Sending translation for Spanish

marionline (1):
      Sending translation for Italian

mgiri (2):
      Sending translation for Oriya
      Sending translation for Oriya

mvdz (3):
      Sending translation for po/uk.po
      Sending translation for Ukrainian
      Sending translation for Ukrainian

perplex (1):
      Sending translation for Italian

pmkovar (5):
      Sending translation for Czech
      Sending translation for Czech
      Sending translation for Czech
rajesh (2):
      Sending translation for po/hi.po
      Sending translation for Hindi

raven (9):
      Sending translation for Polish
      Sending translation for Polish
      Sending translation for Polish
      Sending translation for Polish
      Sending translation for Polish
      Sending translation for Polish
      Sending translation for Polish
      Sending translation for po/LINGUAS
      Sending translation for Polish

ruigo (9):
      Sending translation for po/pt.po
      Sending translation for po/LINGUAS
      Sending translation for Portuguese
      Sending translation for Portuguese
      Sending translation for Portuguese
      Sending translation for Portuguese
      Sending translation for Portuguese
      Sending translation for Portuguese
      Sending translation for Portuguese

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

sandeeps (2):
      Sending translation for Marathi
      Sending translation for Marathi

shanky (2):
      Sending translation for Kannada
      Sending translation for Kannada

soko (2):
      Sending translation for Serbian
      Sending translation for Serbian (Latin)

swkothar (1):
      Sending translation for Gujarati

troubi51 (2):
      Sending translation for French
      Sending translation for French

vpv (3):
      Sending translation for Finnish
      Sending translation for Finnish
      Sending translation for Finnish

warrink (4):
      Sending translation for Dutch
      Sending translation for Dutch
      Sending translation for Dutch
      Sending translation for Dutch

xconde (3):
      Sending translation for Catalan
      Sending translation for Catalan
      Sending translation for Catalan

ypoyarko (1):
      Sending translation for po/ru.po
Note: See TracRoadmap for help on using the roadmap.