Milestone 0.9.15

Completed 16 months ago (04/14/09)

100%

Closed tickets:
41
Active tickets:
0
/ Total tickets:
41
build-system

2 / 2

core

3 / 3

daemon

23 / 23

module-alsa-*

2 / 2

module-combine-*

1 / 1

module-esound-*

2 / 2

module-hal-detect

1 / 1

module-jack-*

1 / 1

module-oss-*

1 / 1

module-rtp-*

2 / 2

module-tunnel

1 / 1

module-volume-restore

1 / 1

padsp

1 / 1

For a higher level overview read this:

http://0pointer.de/blog/projects/oh-nine-fifteen.html

Also note that Bluetooth support is now be complete in the 0.9.15 release.

A S Alam (2):
      Add Punjabi Translation for Module
      Adding Punjabi Language

Colin Guthrie (74):
      Add a small lib to interpret and produce headers as used in http style requests.
      Add a RTSP client impelmentation.
      Add a simple base64 library that will be used by the sink
      Start the raop sink. It's based on pipe sink and isn't anywhere near finished. It does however compile.
      Use pa_sprintf_malloc to do simple concatenation rather than using the higher overhead of pa_strbuf
      Use _free rather than _destroy so as not to mix naming conventions.
      Convert to using pa_socket_client rather than using blocking IO.
      Convert the return values to fit with the rest of pulse 0 == success, < 0 == failure
      Fix svn properties and some minor indentation
      Trivial change to allocate memory using pulse methods.
      Move closer to an asynchronous structure (still some parsing code to be converted).
      Add a skeleton raop client which builds on the rtsp client.
      Some minor tidyup to remove code now in raop client. Still nowhere near functional.
      Add a function for packing bits into a byte buffer. This will be needed when encoding the audio data in ALAC format.
      Add a pa_iochannel callback for when the RAOP connection connects.
      Use a more stateful response parser.
      Wrap the io_callback to ensure that all data is written before asking for more.
      Rename rtsp.{c,h} to rtsp_client.{c,h}.
      Combine pa_raop_client_new and pa_raop_client_connect (no point in having them separate)
      Properly duplicate the hostname passed in on connect.
      Add more libraries to librtp now that it's doing a lot more.
      A very rough first version of the sink.
      Do not assert on NULL values of s. This means the connection was closed. This change somehow kills the mainloop with an assert, so I need to sort that out.
      Move the ownership of the encoded data memchunk into the raop_client.
      Add a new callback structure to propigate when the RTSP connection dies
      Listen to the on_close callback. This still causes asserts in the mainloop, so this is not a complete solution
      Various changes suggested by Lennart.
      Change suggested by Lennart. Do not return a memchunk, instead pass in the pointer.
      Fix up IPv6 address format to enclose it in []
      Some misc fixes. consts, base64 optimisation (not that it will be with us long anyway), and c comments
      unref the raw data memblock before requesting more data.
      Don't try to free stack variables.
      Do not prefix internal function rtsp_exec.
      Do tidy up on disconnection.
      Move the encoding loop around a bit such that it does not grab the data and keep it for the next loop iteration.
      Set the send buffer size to prevent rendering silence in amongst our good data (this should be more sophisticated but that can wait for a glitch-free port)
      Set forgotten keyword property
      Keep track of the memblock pointer internally and do not rely on subsequent calls to pass it back in for unref'ing
      A few related changes:
      Fix up a couple of values related to encoding overhead.
      Minor update to copywrite (I still plan to replace this completely but in the mean time....)
      Add seq and rtptime params to record/flush with a view to using these for timing and device suspension
      Remove unneeded headers accidentially added in r2500.
      Change the API of the RTSP client a bit.
      Add some new public API functions to connect and flush.
      Still send silence when we are not doing anything else, but also flush the buffers correctly upon recovery from suspension.
      Minor correction of help text
      Automatic discovery of airtunes devices via Bonjour/Avahi.
      Add Lennart back in to Copyright as I copied these files from his originals and was a bit overzealous in changing things ;)
      Use the new pa_namereg_make_valid_name() function.
      Implement a set volume function to expose this capability to higher layers
      Implement hardware volume control. This allows near instant change of volume when controlling the hardware but the stream volume still suffers from a sizable delay.
      Make module-raop-sink/discover work with 0.9.11 API
      Remove $Id$ lines left over from SVN
      Modularise the RAOP stuff that requires OpenSSL and make it optional at compile time
      Follow master change r34dd4a and fix shutdown when --disallow-module-loading=1 is passed
      Fix a potential C++/C99 ism, add a log message on error condition
      Fix two typos that broke tunnels
      Fix a potentially non-returning function in base64 code.
      Fix the message processing for PA_SINK_MESSAGE_GET_LATENCY by returning rather than breaking and falling through.
      Clean up volume/mute settings a bit. As the APEX device only has one channel of volume (e.g. it's always matched) we emulate any variation in channel volumes in software. Remove the unnecessary callback defininitions.
      Trivial typo in a comment
      A couple of dependancy ordering fixes.
      Remove references to trademarked terms.
      Add the module dir to the libpulse pkgconfig file (needed for paprefs)
      Fix a very strange 'file not found' error in module-alsa-card.
      bluetooth: Fix under linked module-bluetooth-device
      Don't assume that device reservation is enabled.
      raop: Allow for nice sink descriptions to be set (interpolated from avahi)
      raop: Log teardown explicitly
      raop: Handle the reponse header memory allocation more sensibly.
      Use pa_assert_se() when the containing code has side effects.
      Use LGPL 2.1 on all files previously using LGPL 2
      raop: Add call to pa_sink_set_max_request()

Diego Elio Pettenò (16):
      Bump autoconf requirement to 2.62 (latest released version).
      Remove gettext macros from configure.ac, intltool is used.
      Create an m4 directory for common macros and use it.
      Update code to use libtool 2.2. Use convenience recursive libltdl.
      Create only the directory the current target should be created into.
      Add proper -I directives for out-of-tree builds.
      Allow to opt-out from building tests.
      Include the alsa/ subdirectory for modules in the search path.
      Remove support for internal distributing and bundling of libltdl.
      Fix logic thinko.
      Move the safety check about pkg-config in bootstrap.sh.
      Improve the ltdl discovery code by checking for libtool 2.x functions.
      Use #ifdef to avoid warning about undefined macro.
      Disable portability warnings from automake.
      Make sure to set 'no' on the variable cached.
      Properly check for versioning flags.

Domingo Becker (1):
      updated spanish translation

Erich Boleyn (1):
      RTP segfault/uninitialized resampler

Fabian Affolter (4):
      Some strings done in German translation
      Some strings done in German translation
      Updated German translation
      Updated German translation

Finn Thain (3):
      revive solaris module
      revive solaris module
      make dbus optional during build

Francesco Tombolini (2):
      Italian language by ubuntu team
      Updated linguas file for it lang

Henrique Junior (1):
      Updated brazilian portuguese translation

Herli Joaquim de Menezes (3):
      Strings do PulseAudio traduzidas para o português do Brasil.
      Transmitted-via: Transifex (translate.fedoraproject.org)
      Transmitted-via: Transifex (translate.fedoraproject.org)

Iain Hibbert (1):
      Optionally disable IPv6

Igor Pires Soares (1):
      pt_BR added to LINGUAS

Jared D. McNeill (7):
      NetBSD needs to include sys/uio.h for some socket functions
      NetBSD doesn't know RLIMIT_AS
      NetBSD specific atomic operation implementation
      It is more portable to assume that SO_RCVBUF/SO_SNDBUF takes and int instead of a size_t
      NetBSD doesn't know ENOLINK
      NetBSD doesn't know getgrnam_r()/getpwnam_r()
      NetBSD sometimes doesn't know SNDCTL_DSP_GETODELAY

Kelemen Gábor (2):
      Make pulseaudio.desktop and org.pulseaudio.policy translatable.
      Make .desktop and .policy file in src/daemon translatable

Kyle Cronan (1):
      Specifying ALSA mixer control

Lennart Poettering (658):
      Initialize exit_idle_time to -1 instead of 0  when in system mode.
      Initialize exit_idle_time to -1 instead of 0  when in system mode.
      instead of resetting virtual_volume unconditionally on initialization, do so only when no volume was set before
      when the volume is changed make sure we send out a subscription event
      modernize a few checks
      use pa_channel_map_init_extend() instead of pa_channel_map_init_auto() as channel map for sink inputs/source outputs in case no map is specified
      if the channel map was modified due to PA_SINK_INPUT_FIX_CHANNELS, remap the specified volume properly
      additional validity checks
      after calling PA_CORE_HOOK_SINK_SET_VOLUME hook, check again whether the volume changed
      if a stream comes with now sensible properties attached, use common fallback db entry.
      add a comment that pa_sink_input_set_volume and module-flat-volume.c are related
      remove $Id$
      ignore sinks that do not carry decibel information
      some minor reformatting
      check the maximum volume of all sink inputs instead of the average volume to avoid digital amplification in favour of attenuation
      use pa_sink_set_volume() for changing the volume
      query the sink volume outside of the loop because it might be quite expensive
      enable flat volumes by default
      define 0dB in PA as maximum amplification
      correctly load module-flat-volume instead of module-flat-volumes
      properly remove dbus matches an filters when unloading m-b-d
      always check for libtool prefix binary name to avoid confusion when using both installed and run-from-build-tree versions of PA in parallel
      Fix spelling of privilige
      Make missing git-changelog.perl non-fatal
      fix invalid validity check
      add new virtual function may_move_to to sink inputs/source outputs to allow modules to forbid certain connections
      implement may_move_to for ladspa/remap sinks
      fix return value of pa_frame_aligned()
      convert argument to boolean int in PA_UNLIKELY, too
      fix arguments to format string
      add pa_config_parse_unsigned()
      include log.h near the end so that macro.h can be included in log.h and defines pa_bool_t properly
      Support showing a backtrace on log messages
      support changing logging parameters during runtime using the CLI
      Make log meta, time, backtrace configurable using config file
      make log meta, time, backtrace configurable using command line
      Try to catch certain driver errors
      make the debug trap macro a proper macro in macro.h
      reorder setting of AM_CFLAGS a bit
      temporary commit to allow flameeyes a look
      update map file
      make new build logic actually work
      a lot more build system updates
      reorder setting of AM_CFLAGS a bit
      update map file
      don't set the volume of pacat unless it is explicitly set
      warn if ALSA wakes us up and there is actually nothing to do
      make sure to use 64bit rounding even on 32bit machines when converting to pa_usec_t
      bump micro version
      Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTED
      a bit of pa_bool_t'ization
      Make sure libpulse never gets unloaded
      make shm marker architecture independant, patch from michich, closes #401
      Check if environ is actually set before we use it
      libtool 2.2 updates
      Fix return value of --dump-resample-methods
      fix implementation of bind now ltdl loader for libtool 2.2
      Don't mix front-center into rear channels
      Pass GDBM_NOLOCK to gdbm
      Load module-volume-restore and module-device-restore before all other modules
      Don't hit an assert when checking for idleness
      introduce new function pa_module_unload_request_by_index
      Don't store pointer to pa_module
      actually unload the modules from a new stack frame
      unload tunnel modules from a new stack frame
      it's better to always use the index of a module instead of the pa_module*
      downgrade a few warnings
      Make sure we drop CAP_NICE if RT is not allowed
      Allow access("/dev/dsp", W_OK) succeed
      Use FIONREAD instead of TIOCINQ
      Implement PA_SOURCE_MESSAGE_GET_LATENCY
      make sure we don't hit an assert when we issue two rewind requests in a single iteration
      If we cannot open an ALSA device with SND_PCM_NO_AUTO_FORMAT retry without
      fix a gcc warning
      Add new API functions pa_volume_snprint() and pa_sw_volume_snprint_dB()
      Add APIs to pass pa_volume_t fields in a tagstruct
      Add "base volume" field to sinks/sources
      Implement base_volume for ALSA sinks/sources
      Rework handling of the PA_SINK_LATENCY/PA_SOURCE_LATENCY flags
      -Wconvert is pain, let's drop it again
      Prefer mixer controls with volumes over switches
      run "make update-po"
      Add new debuuging API pa_memchunk_dump_to_file()
      A few minor cleanups and updates
      Add new test source module-sine-source
      drop a few warning options, add a few new ones
      add a few missing parens
      make things compile again
      Add new pa_reduce() and pa_gcd() functions
      show maximum usable slot size
      make module-sine-source actually work
      Make sure we don't drop any data on the client side
      fix version check
      for record streams fill in the latency as the fragsize
      read base volume only in proto 15
      Fix suspending of all sinks/sources
      Extend command name lookup tables to cover complete protocol
      add new API function pa_memchunk_sine()
      Port sine modules to pa_memchunk_sine()
      bump version/soname
      Fix version info
      add pa_proplist_size() and pa_proplist_isempty()
      fix calculation of avail_min
      include new proplist functions in export list
      remove calc_sine() since we don't need it anymore
      Fix a typo I know owe Marc-Andre a beer for.
      make pa_asyncq_push() fail under no circumstances.
      document that PA_API_VERSION is only for incompatible API changes
      fix a potential format string vulnerability
      don't rely on PA_SINK_RUNNING vs. PA_SINK_IDLE for optimizations since it might not be fully up to date
      add new dont_rewind_render flag to allow quick starts of newly created streams
      convert pa_client instantiation to use a pa_client_new_data struct and add hooks for manipulating it
      port missing modules to new pa_client_new() API
      make PA_CONTEXT_IS_GOOD/PA_STREAM_IS_GOOD a macro so that we can easily check for its availability
      fix bad memory access
      add new pa_card object as a way to logically combine multiple sinks and sources
      maintain a list of sink inputs/source outputs as part of the pa_client object
      add functionality to dump list of cards
      redirect folks to the ALSA developers not me when their sound drivers are broken
      kill autoload stuff as planned
      we don't support glib1.2 anymore
      make things compile again
      make proplist inheritance scheme automatic and implicit
      don't show autoload flag anymore since it is obsolete
      rework module usage counter stuff to be pull based
      move alsa and oss modules into their own subdirectories
      add stub makefiles for oss and alsa subdirs
      include libcli.la in libprotocol-cli's dependencies
      rename card config to card profile
      Add SPDIF/HDMI ALSA devices and device descriptions to device search table
      fix version info in protocol history
      add support for 24bit packed samples
      Add support for 24bit samples encoded in the LSB of 32 bit words
      make use of PR_SET_TIMERSLACK
      remvoe a bit of duplicate code
      add card profile prober
      add pa_strbuf_isempty
      add pa_proplist_to_string_sep()
      Split up pa_alsa_init_proplist into two seperate functions for the card and snd_pcm_t specific parts
      Don't enumerate invalid profile
      actually create pa_card object in module-alsa-card
      dump profiles when listing cards
      beautify cli output a bit
      get rid of pa_module_get_info because it is not used
      add api for manipulating volume balances
      show balance value in CLI listings
      allow setting properties for modules, too
      fix bad free()
      fix doxygen version references
      fix up balance format string a bit
      show dB and balance for cached samples
      Beef pactl output up a bit
      Document explicitly that the internal sink/source states are not considered part of the ABI/API
      include sink/source state in pactl output
      remove misplaced whitespace
      document that I am a retard
      add missing eof checks
      fix profile names to include input/output specifier
      don't divide by zero if no left resp. no right channels are defined
      fix destruction when no profiles are defined
      dump active profile
      add client API for querying card information
      show active profile
      remove unused variable
      always add 'disabled' profile
      add priority logic to find best default profile
      export pa_channel_map_superset()
      add new call pa_alsa_open_by_device_id_profile()
      add an API to create arbitrary alsa sinks/sources dynamically without having to load/unload modules
      fix copy/paste error
      allow cards be referenced by their index
     add set-card-profile CLI command
      remove bogus pa_core_check_idle() call
      when changing profiles do the actual assignment in the generic implementation
      remove leftover define
      fill in dev_id properly
      make implementation of module-alsa-card complete
      make pa_card_new_data::active_profile a string
      don't restore mute/volume when already set
      minor cleanups
      add a card profile restore module
      enable module-card-restore by default
      implement PA_COMMAND_SET_CARD_PROFILE
      implement pactl set-card-profile
      require autoconf 2.63
      don't include full path in driver name.
      mark a few more ALSA dB values as 'valid' for valgrind
      add new function pa_card_suspend()
      add new function pa_strna
      fix copy'n'paste error
      make gcc shut up a bit more
      only reread volume if we actually have a good mixer. Closes #466
      fix segfault when in record-only mode
      make gcc shut up
      rework logic how alsa sinks/sources/cards are named
      fix minor memleak in prober
      include PA_SINK_INVALID_STATE in all switch/case statements to make gcc shut up
      rework module-hal-detect and make it use module-alsa-card instead of module-alsa-sink/-source
      When resuming an OSS device ask for the very same fragment settings as we did the first time
      add API pa_ncpus()
      make rtstutter use pa_ncpus()
      use pthread_setaffinity_np() only when it is available
      don't overflow when we do digital amplification of 16 bit samples
      add a simple abstraction for SIMD operations
      drop --ltdl from the libtoolize invocation, since we don't ship ltdl anymore
      allow sample spec/channel map to be queried for pa_resampler objects
      maintain a pa_core state variable
      teach module-rescue-streams and module-always-sink to not do anything if we are shutting down anyway
      include list of sinks/source in card dump
      in most cases we can use i->core instead of i->sink->core and o->coure instead of o->source->core
      move sink input/source output move functions into two parts so that we can start the move, delete the original sink, create a new sink, finish the move; similar for source outputs
      add functions to move all inputs of a sink away/similar for source outputs
      make module-alsa-card move streams between the old and new sink/source, allowing 'hot' switching between profiles
      add support for static mutexes
      add generic rate limiting implementation
      add pa_log_rate_limit()
      use pa_log_ratelimit() at a few places
      include a few HAL properties in our card/sink/source properties for ALSA devices
      rate limit a warning
      add a bitset implementation
      implement new API functions pa_channel_map_can_balance(), pa_channel_map_to_name() and pa_channel_map_to_pretty_name()
      implement pa_cvolume_scale()
      check for availability of RLIMIT_NOFILE and RLIMIT_AS before we make use of it
      make a few comments appear in doxygen
      store requested resampling method in a seperate field and use it when create a new resampler after a move
      remove redundant cast
      show pretty channel map name if possible
      invert an ill-placed assert
      always define PA_MAJOR/PA_MINOR/PA_MICRO to ease feature checking in client applications
      import version.h in all header files to make sure that version-based feature testing works
      add a few missing doxygen comments
      swap argument order of pa_cvolume_get_balance() to be a bit more systematic
      allow samples to be played with 'default' (i.e. unspecified) volume.
      get rid of module-flat-volumes since we are moving this into the core
      fix size calculation
      move flat volume logic into the core. while doing so add n_volume_steps field to sinks/sources
      add new paramter ignore_dB= to alsa modules
      add missing 'const'
      when changing volume, store whether it is worth remembering or no
      only store volume/device information that has been flagged for saving, and store both relative and absolute volumes
      make m-p-e-s use pa_cvolume_set_balance()
      instead of making the volume relative our own, let' pa_sink_input_new() do it for us
      don't make m-e-s hit an assert when the latency is queried
      add missing usage strings
      make m-v-r a stub that simply load m-s-r
      print the right software volume
      fix two typos
      store the default sink/source in proper pa_sink*/pa_source* pointers instead of a string
      Run make update-po
      make things compile again
      add new functions pa_dbus_add_matches()/pa_dbus_remove_matches()
      make use of new functions pa_dbus_add_matches/pa_dbus_remove_matches
      get rid of nonsensical late initialization of namereg/scache and things
      add some helpers for dealing with DBusPendingCall based on Mrc-Andre's work in module-bluetooth-discover
      temporary commit of lennarts new bt changes
      add missing files
      properly deal with the case when l/r is silent when adjust balance
      fix a bogus assert
      implement pa_cvolume_{get|set}_fade
      Add a little Gtk test tool to show how balance/fade/value and the channel volumes play together
      add new function pa_alsa_get_driver_name()
     include ALSA driver in properties for cards/sink
      suppress lines made up only of whitespace
      dump properties when we create a new sink or source
      drop -Wpacked
      implement pa_channel_map_can_fade
      look for libpulse in multiple different places
      allow passing of channel map on command line and hide unused sliders
      check for NULL before accessing the name
      use uintpr_t when casting between pointers and integers
      work around dlsym() return value mistyping as suggested in POSIX
      introduce PA_PROP_APPLICATION_PROCESS_MACHINE_ID
      add a few new form factors
      download everything from gitweb twice to make sure we don't get a 'Generating...' message
      drop -pedantic
      store the module index shifted by 1 to map PA_INVALID_INDEX to NULL
      when determining the minimum volume of all sink inputs make sure to handle the case when there are no sink inputs correctly
      try to use glib's g_get_application_name() to set PA_PROP_APPLICATION_NAME
      set PA_PROP_WINDOW_X11_DISPLAY from :0.0 and initialize PA_PROP_APPLICATION_PROCESS_MACHINE_ID properly
      add new functions pa_bluetooth_cleanup_name() and pa_bluetooth_get_form_factor()
      Fix a few sink/source calls when they are called in suspended state.
      shortcut pa_sink_process_rewind() when no rewind is happenning and none was requested
      reset rewind_requested when we enter suspend mode
      update sbc stuff
      fix soft_mute handling
      handle EAGAIN properly
      whitespace cleanup
      make rtp.h ANSI C compliant
      big module-bluetooth-device.c rework
      don't use PA_STREAM_NOT_MONOTONOUS anymore
      pull in new SBC/BT files
      make update-sbc should also update other BT related sources
      make iterating with pa_idxset_next() robust in regards to idxset modifications
      implement PA_STREAM_FAIL_ON_SUSPEND logic
      add new error code PA_ERR_NOTIMPLEMENTED
      make a few functions return void where the retval isn't used/never != 0
      make a couple of functions return proper error codes
      add a macro definition for each error code
      before applying balance/fade check it actually makes sense
      when moving a sink between sinks make volume relative
      add new API pa_cvolume_compatible_with_channel_map()
      add a bit of missing i18n
      add a lot of validity checking
      add pa_sample_size_of_format()
      add new API pa_ascii_valid(), pa_ascii_filter()
      fix up parser in pa_proplist_from_string() to handle escapes correctly; make pa_proplist_to_string() escape quotes properly
      in addition to per-property env vars PULSE_PROP_xxx look for for a stringified PULSE_PROP env var
      beef up proplist test a bit
      simplify code a bit by using pa_sample_size_of_format()
      rearrange a few things
      make gcc shut up
      add new calls pa_replace() and pa_unescape()
      add a few additional validity checks
      clarify things a bit
      merge in properties earlier to make identification of streams from hooks easier
      version all entries in the database
      fix a validity check
      properly handle failing stream creation
      remove soft volume from pa_sink_input_new_info since it should be handled internally and automatically by the sink input
      rate limit underrun messages
      make pacmd work in a pipe
      bump version and soname
      run make update-po
      store the identification key in the module-stream-restore.id property
      add a .mailmap file for git shortlog
      add a 'volume factor' that is implicitly multiplied into the volume of a sink input without being visible to the outside
      make module-position-event-sounds use volume factor
      handle default volume initialization properly
      add pa_client_update_proplist() call
      make return value of pa_{sink_input|source_output}_update_proplist() void
      allow overwriting of process properties with environment variables
      add missing hook
      make native protocol use pa_{sink_input|source_output|card}_update_proplist()
      parse ini-style sections properly
      add new module-augment-properties module for augmenting properties from .desktop files
      A few MacOS X portability fixes
      add #defines for all enums that lacked it
      allow sending meta/policy events to clients
      implement a module that corks music/video streams automatically when a phone call is active
      make gcc 4.4 shut up
      declare 'animation' stream role for Flash and suchlike
      minor reformatting
      call _kill functions instead of _unlink since the latter should only be called be the stream implementor
      addendum to f56da9893: don't crash when s->sink is NULL
      instead of reparsing the rate module argument when changing profile, simply restore the originally requested sample_spec, this also makes sure the channel count is properly reset
      some minor fixups
      tabs are evil
      properly free modargs object when init fails; don't abbreviate modargs in struct
      make module-hal-detect pick up all cards even when they have no device 0
      handle errors from BT service properly
      prepare test2
      run make update-po
      the service fd is a stream socket, so handle things accordingly
      minor service IO fixes
      use the same service fd shutdown logic when destructing module and changing profile
      don't claim that profile changes are always successful
      don't try to recycle rtpoll objects
      add full set of argument description
      add a module that forwards cork/uncork requests to X11 as fake pause/resume key events
      fix aiff channel mapping for 6 channels
      we reinit proplist since the server will copy from client proplist anyway
      drop check for PA_PROP_APPLICATION_NAME since often enough we can deduce this better from g_get_application_name()
      make PA_GCC_PACKED and PA_GCC_MALLOC actually work
      add definition for GCC style weak references
      make PULSE_PROP env vars non-overriding but introduce PULSE_PROP_OVERRIDE for allowing overriding
      properly read icon/application name/display from gtk/glib/gdk
      ignore gtk-test
      show whether gtk+ support is enabled after configure
      document all currently known properties
      add doxygen comment for PA_GCC_WEAKREF
      unify ALSA mixer initialization
      don't open the alsa devices in hw:xxx mode
      bluetooth: fix message queue/rtpoll
      bump required alsa version
      allow pa to be run in a chroot() environment tht lacks /proc
      simplify pa_alsa_init_proplist_pcm() a bit and include resolution bits in alsa device props
      minor optimizations
      refer folks to the ALSA devs, not us
      allow importing of more memory blocks than exporting
      if we fail to import a memblock fill in silence to guarantee stability of timing
      export pa_match()
      introduce pa_realpath()
      export card information for sinks/sources and number of sinks/sources a profile would create to clients
      handle both positive and negative errno's
      additional validity check
      additional validity check
      make interpol-test useful for recording as well
      add pa_timespec_load
      modernize pa_msleep() a bit
      split out mixer setup into seperate functions to make things more readable
      don't try to use weakref stuff on older compilers that don't really support it
      make profile names translatable
      make it easier to debug timing related problems
      Make sure we actually call _() for translating profile names
      add test tool for debugging broken timing in sound drivers
      fix comment
      big alsa module rework to make things more robust to broken sound drivers and make it easier to debug them
      run make update-po
      simplify some code
      tell gcc to ignore invalid gtk header files
      split off foreign code into a convenience library to make gcc warnings go away
      check for ENABLE_LEGACY_RUNTIME_DIR with #ifdef, not #if
      add new property PA_PROP_APPLICATION_PROCESS_SESSION_ID and initialize it by default
      introduce default channel map in addition to the default sample spec
      print warnings about driver bugs at most once
      prefer profiles that match the default channel map
      fix wording, closes #484
      make string translatable (fixes #483)
      rework logging to make it more modular
      make sure we don't choke on PULSE_PROP_OVERRIDE
      make sure we don't choke on overly long lines in .desktop files
      initialize selem index
      rework suspending/resuming
      prepare test for tracking down ens1371 issue
      Allow passing a NULL proplist to pa_xxxx_update_proplist() to just fire a notification
      a couple of boring updates
      add new function pa_alsa_get_driver_name_by_pcm()
      add new wrapper pa_alsa_safe_delay() around snd_pcm_delay()
      print driver name when we encounter driver bugs
      use pa_alsa_safe_delay() where appropriate
      allow scache entries to have arbitrary names
      set esound.byte_order property
      implement esd sample panning. closes #428
      complete esd suspend/resume implementation
      it's probably more appropriate to return the configured latency instead of the actual latency
      fix handling of stereo
      update gitignore
      introduce new well-known role 'a11y'
      if ALSA gives us nonsensical data at least try to fix it up a little
      in case alsa lies to use don't spin forever
      implement device reservation scheme
      update reserve.c from upstream git
      don't put both the card and the pcm name in the description of a device if one contains the other
      set reserve interface application device name
      run make update-po
      ignore tags file
      make sure we check the sink status for PA_SINK_INPUT_FAIL_ON_SUSPEND only after module-suspend-on-idle had the chance to resume the device
      hide shave in gitignore
      forgot to bump the revision
      try to vacuum a little when nothing is going on
      revise list of form factors a little
      when an underrun happens, increase watermark by 10ms instead of doubling it
      when alsa tweaks our sample_spec make sure we adjust the watermark accordingly
      make example code a bit more robust/change-proof
      introduce seperate vendor/product id fields
      revise form factor list a bit, simplify and use singular everywhere
      rename PA_PROP_DEVICE_CONNECTOR to PA_PROP_DEVICE_BUS
      get additional device data from udev
      add logic for initializing a useful icon name
      For now don't list icon property (in favour of icon name property) since icon negotiation is probably much more complex (i.e. sizes...) than just putting icon data somewhere.
      make dependency on udev versioned
      add update-shave target
      run make update-shave
      run update-reserve
      run make update-sbc
      run make update-ffmpeg
      properly handle directed card info requests
      pass profile priority value to clients
      fix device reservation for system mode
      document more closely from which context certain functions may be called
      pa_xnew cannot fail -- that's what the x is in the name
      various smaller cleanups
      Fix a NULL pointer access when sutting down esound/simple connections
      Don't allow suspending of monitor sources.
      make suspend state of monitor source follow the suspend state of the sink it belongs to
      fix handling of _suspend_all(), return first failure error code
      handle negative error codes
      print error code when suspend/resume fails
      never try to suspend monitor sources, suspend the sinks they belong to instead
      try more things to get a proper icon for sinks/sources
      fix typo in FOREIGN_CFLAGS
      make interpol test more interesting by corking/uncorking multiple times
      try to detect when stupid clients forks and refuse all service from then on
      run make update-po
      prepare release 0.9.15-test4
      prepare test5
      Ignore HAL NoSuchProperty errors when looking for capabilities field. Closes rhbz #489394
      deduce a proper icon for TV sets
      get rid of setsockopt() calls since they have never been implemented upstream
      document todo items discussed at bt meeting
      fix prototypes of sbc functions a bit
      unfuck i18n
      document things that need to be fixed with FIXME
      fix a comment
      introduce pa_assert_fp() for fast path assertions
      introduce pa_sink_input_get_relative_volume()
      always remap relative volume properly
      simply bluetooth nrec handling a bit
      fix channel mapping for a52 devices. Closes #508
      don't try to unref reserve stuff if we don't use it
      fix prototypes of remaining sbc.[ch] API regarding size_t/const
      rework bluetooth IO loops
      fix a misplaced assert
      make sure we dispatch messages in order
      add pa_hook_is_firing
      rework device discovery to share a single device list among all modules
      at a couple of #ifdef NOKIAs for now
      add functions that modules can call whenever they now the volume changed
      readd volume control logic
      enable bluetooth default by support
      only store card profile if flagged for that
      add pa_assert_cc() for compile time assertions
      don't fail when no session bus is available
      only decrease timer slack, never increase
      simplify latency range by not allowing stored 'wildcard' ranges anymore
      set request/rewind sizes only via accessor functions
      minimal reordering
      Allow calling pa_{sink|source}_update_proplist() without an actual proprlist
      fix bad memory access when destroying m-b-d
      get rid of 'default' min/max latencies, simplify things by just having absolute boundaries
      make pa_source_set_max_rewind() work similar to pa_sink_set_max_rewind()
      introduce new flag that marks sinks/sources which can adjust the latency dynamically
      simplify things and make sure timing setters can be called in most contexts
      link jack modules's max_request to the jack buffer size
      set latency range only in tsched mode
      don't fiddle with latency range because we cannot adjust it dynamically
      Don't initialize userdata twice
      again, don't fiddle with latency range in sinks with static latency
      initialize max_request
      don't fiddle with latency range in sources with static latency
      initialize max_request to SO_SNDBUF
      beef up esd sink properties a bit
      trivial simplification
      add simple ref counting debugging framework
      don't show full so path in backtrace
      optionally skip initial frames in backtrace
      fix misplace _ref() calls that should have been _assert_ref()
      fix value of DYNAMIC_LATENCY
      use u->use_tsched everywhere
      copy latency flags from sink to monitor source
      add missing whitespace
      on monitor source be fine with any latency range set by the sink
      make sure the discovery module is only loaded once
      add missing initialization
     fix typo
      Small fix for MacOSX compat
      don't enabled tsched on software ALSA devices
      Trigger move callback a little bit earlier so that no IO thread is running
      simplify latency config functions a bit and make them callable in more contexts
      document more often the context certain functions are called in
      add pa_memblockq_apply_attr()/pa_memblockq_get_attr()
      typo fix
      notify clients about tlength changes
      rework tunneling code
      Use pa_source_set_max_rewind_within_thread() for updating the monitor source's max_rewind
      introduce typedef for pa_bt_audio_state and use it everywhere
      get rid of old 'Connected' property parsing and make sure we don't execute two case branches
      make sure we always read in all properties
      make sure we never access an invalid pa_bluetooth_device object
      fix compiler warning
      take org.pulseaudio.Server instead of org.pulseaudio to match the interface name already used in the HAL module
      minor cleanups
      allow nofail mode only when no server string was specified
      Revert "make sure we always read in all properties"
      explain ff7033c11d9248fe837204b03c8397231dc511fe
      fix an error where a signal was accidently freed when it is tried to register it twice
      update command name table
      handle buffer_attr changed messages properly
      Log underruns
      be a bit more verbose about max_request changes
      fix buffer defaults
      add buffer_attr callback stuff to exported symbol list
      in verbose mode log buffer attr changes
      increase timing update interval exponentially
      prepare test6
      don't access i->sink if it is not set
      pass destination source/sink when moving streams so that we can access them
      prepare test7
      load bt discover module only when installed
      use machine id instead of hostname to identify local connections
      properly account for seeks in the requested_bytes counter
      plot the difference between system and sound card time
      downgrade a few messages
      run make update-po
      add missing files to POTFILES.in
      refuse to initialize on modem devices
      increase log buffer further
      initialize sound cards only after the 'control' object appeared
      Modify smoothing code to make cubic interpolation optional and allow 'quick fixups' on resuming
      introduce pa_{sink|source}_get_latency_within_thread()
      don't try to outsmart the transport
      Fix a couple of races in native protocol
      make it easy to disable interpolation in the interpolation test tool
      run make po-update
      make sure we keep a reference of the bus connection during the whole runtime if we manage to acquire the bus name
      be a bit more verbose about the busses we are connected to
      don't fail device reservation if the D-Bus connection is dead
      properly handle interpolation when queried x is left of last data position
      extend documentation for pa_stream_cork() a bit
      Make sure we don't get stuck when prebuf is too high
      make sure we don't apply sampling rate fixes that bring the sampling freq > PA_RATE_MAX
      enable debugging output based on if DEBUG_DATA macro is set
      add suspend_within_thread() callbacks to pa_sink_input/pa_source_output
      send the source latency based on the MTU size
      adjust max_rewind/max_request whenever the latency changes
      mark null sink as support dynamic latency
      make use of SO_TIMESTAMP timestamp for accuracy and leave smoother paused until we have data
      If the sink volume is lowered to 0 and then increased again, make sure all stream volumes follow instead of staying at 0
      compare with doubles, not integer
      reduce number of conversions to/from linear volumes
      we need to make our multiplications with linear values
      after propagating a sink volume change to the sink inputs recalculate their soft volumes
      update documentation regarding stream timing a bit
      print smallest attenuation/sample
      when calculating volume from dB use ceil()
      introduce relative_volume field in sink_input and make use of it on sink flat volume change
      bluetooth: make sure to set max_request
      interpol-test: make it easier to test corking only optionally
      bluetooth: memory leak, actually free discovery struct itself
      dbus: memory leak, free server id after use
      dbus: memory leak, free pending calls
      socket-server: memory leak, free machine id after use
      protocol-native: print underrun message only once for each underrun
      protocol-native: downgrade message if we receive pcm block for dead stream
      dbus: drop pa_ prefix from static symbol
      dbus: memory leak, actually free dbus wrapper
      core: memory leak, fix ref counting when moving streams
      core: add a seperate fixed_latency field for sinks/sources with fixed latency
      bluetooth: rename sco to hsp also for the user
      bluetooth: be a bit more verbose if we exit due to bad poll() revents flag
      bluetooth: rework timing logic, properly implement latency callbacks
      bluetooth: when starting up HSP stream, send 2 packets first, only afterwards enter one-read-one-write logic
      alsa: when printing warning about bogus data from alsa include snd_pcm_dump()
      run make update-po
      set fixed latencies at more places where appropriate
      prepare another snapshot
      add missing languages to LINGUAS
      Downgrade default log level to NOTICE to follow documentation
      make sure we never overflow when calculating sleep time
      lirc: drop lirc_in_use, it's made redundant by PA_MODULE_LOAD_ONCE
      api: introduce PA_VOLUME_MAX
      lirc, mmkbd: extend controllable volume range to PA_VOLUME_MAX
      mmkbd,lirc: make use of pa_assert_not_reached()
      mmkbd: get rid of support for ancient kernels
      lirc: fix logic behind mute buttons
      cork-music-on-phone: make sure that we don't check the refcnt of pa_core when the daemon goes down
      core-util: add pa_session_id()
      core-util: filter utf8 in pa_machine_id()
      print session id when starting up
      client-conf: modernize a few things
      proplist-util: use pa_session_id() instead of accessing 7b816367b01393ed3e3e650047d78f6e-1239640487.203609-1061245823 directly
      client-conf: make setting a default server independant from the autospawn setting
      client-conf: when  is set, disable autospawn setting
      client-conf-x11: unbreak autospawn due to stale X11 properties
      volume: increase dB range to -90dB
      alsa: when passing emptry mixer control name, force sw volume
      alsa: store mixer controls to use in profile data
      alsa: include the alsa mixer control that is used in the property list
      core: introduce new 'reference' volume for sinks
      update LINGUAS
      run make update-po
      sort LINGUAS
      core: use pa_{source|sink}_get_latency_within_thread() at one more place
      pacat: add missing newline
      core: when applying delay memblockq take monitored sink latency into account
      bump version for final 0.9.15 release
      explcitly ignore return values of some functions marked with gcc's warn_unused_result attribute
      add a few missing initializations

Luiz Augusto von Dentz (15):
      Unload module-bluetooth-device if the remote device disconnects.
      Fix possible invalid read while attempting to load module-bluetooth-device.
      Fix bug walking on module list.
      Disable warnings for bluetooth-device-module.
      Update module-bluetooth-device to the new ipc.
      Send packets with proper size.
      Fix send and recv message sizes.
      Fix sending wrong codec capability length.
      Fix hsp rate and channels.
      Prevent changing volume on wrong device.
      Maintain the original code style for sbc.
      Fix misuse of 'frame.joint' when estimating the frame length.
      Update ipc to match new message headers introduced on BlueZ 4.34.
      Query and make use of the current configuration.
      Do not reconfigure capabilities.

Luke Yelavich (1):
      POTFILES.IN: Refer to src/pulsecore/dbus-util.c

Maarten Bosmans (3):
      handle failure to parse proplist in cli-command gracefully
      fix some typos in doxygen comments
      various spelling fixes

Marc-Andre Lureau (2):
      volume hooks
      flat-volume thingy

Marc-André Lureau (96):
      build: use pkg-config for X11
      build: compile libltdl directory first
      build: Don't include builddir, but only srcdir.
      build: introduce $SKIP_GIT for make dist (off-line or behind a proxy).
      build: add atomic.h and refcnt.h to libpulsecommon
      build: Use proper -disable-static instead of removing .a
      build: run some tests during make check (and distcheck)
      bluetooth: add update-sbc and friends
      bluetooth: Update sbc from git upstream.
      build: fix missing x11 modules dependencies
      core: add pa_sink_update_proplist
      core: add pa_source_update_proplist
      core: report remaining shared objects when cleanup
      libpulse: add proplist_from_string
      cli: update-sink-proplist
      build: print more informations about preopen
      core: add source, si, so proplist_update
      cli: add missing update-*-proplist
      build: fix few warnings
      sink: add a virtual_volume to sink
      match: can now change properties also
      match: add "key" argument to match different properties
      flat-volume: use pa_sink_get_volume(s, TRUE) to work with slaved sink
      pulse: introspect sink state
      sink: trigger subscribe event on sink state change
      cli: fix broken array access with signed state enums
      pulse: share private enum values with client side
      bluetooth: hsp volume control
      bluetooth: cold hsp/a2dp device detection
      bluetooth: typo
      bluetooth: reconnect to audio service when switching profile
      bluetooth: SCO over PCM
      bluetooth: suspend SCO state when over PCM
      bluetooth: export nrec
      bluetooth: reinitialize the sample spec when switching profile
      suspend-on-idle: don't crash when so->source is NULL
      pulsecore: add PA_CORE_HOOK_*_MOVE_FAIL
      bluetooth: update SBC from upstream
      bluetooth: don't crash on pa_thread_mq_done() if pa_init() fail
      bluetooth: print SBC encoder implementation info
      pulse/context: add --enable-legacy-runtime-dir
      dbus-util: avoid double free
      hal-detect: make sure r is initialized, so we don't take random path
      alsa-util: make sure we check an initialized cn variable
      log: don't leak bt
      card-restore: it's not useful to check an array, let's check the length
      protocol-native: fix get_info() for cards
      paplay: check if pa_context_connect() succeed
      pactl: check if pa_context_connect succeed
      tests/sync-playback: check if pa_context_connect succeed
      tests/interpol-test: check if mainloop_start() succeed
      tests/thread-mainloop-test: check if threaded_mainloop_start() succeed
      pactl: return in case of error reading file (avoid using freed d)
      main: remove unused lf variable
      pulsecore: remove unused variable from cli_command_load()
      rtp-recv: remove unused variable assignment
      pacat: remove unused variable
      pulsecore: fix check for cb (m is already checked before)
      padsp: don't use si if it's NULL
      tests/ipacl-test: check inet_pton()
      pulsecore: unused variable e in hashmap_put()
      pulsecore: use r returned from fgets()
      daemon-conf: make sure c->log_level < LEVEL_MAX
      protocol-esound: don't accept a request of PROTOCOL_MAX
      stream-resotre: don't leak a name
      protocol-native: don't leak a proplist
      rtp: remove unused variable a
      pulsecore: don't leak d in case of error
      pulsecore: don't leak p when make_random_dir_and_link()
      alsa-util: check if mixer_poll_descriptors_count() < 0
      bluetooth: fix suspend on a2dp (to do on HSP non SCO over PCM)
      build: shave it!
      bluetooth: hsp case, check l for appropriate error message
      bluetooth: service_fd could be 0
      bluetooth: don't init profile when off
      bluetooth: reset read/write index when starting to stream
      bluetooth: s/handled/not_yet_handled for signals
      bluetooth: accept temporarily unavailable error
      bluetooth: restart timer when write begin
      bluetooth: stream also when source is suspended
      bluetooth: load bluetooth device with connected profile
      bluetooth: update SCO over PCM with latest changes
      bluetooth: mark info_valid when receive Connected
      bluetooth: rework the info_valid logic to be more tolerant
      pulse: check context (do not user pstream when NULL)
      bluetooth: fix #NOKIA, correctly unlink sink/src
      bluetooth: connected can be -1, check > 0
      bluetooth: fail when switching on non-connected profile
      bluetooth: don't access outside array range
      bluetooth: remove racy GetProperties to check profile
      bluetooth: GetProperties after profile UUID show up
      bluetooth: use new audio State properties
      dbus: split dbus-util into dbus-shared
      daemon: take org.pulseaudio
      pulse: client connect to dbus
      gtk-test: updated to use PA_CONTEXT_NOAUTOSPAWN|PA_CONTEXT_NOFAIL

Micha Pietsch (1):
      German translation done.

PabloMartin-Gomez (1):
      Last strings translated to French

Petr Kovář (3):
      Added Czech translation.
      LINGUAS: Added cs.
      Updated Czech translation.

Piotr Drąg (11):
      Initial Polish translation
      Added Polish translation to LINGUAS
      Updated Polish translation
      Updated LINGUAS
      Updated Polish translation
      Updated Polish translation
      Updated Polish translation
      Updated Polish translation
      Updated Polish translation
      Updated Polish translation
      Updated Polish translation

Sean McNamara (1):
      --check: Updated manpage slightly and pulseaudio --help slightly.

Sjoerd Simons (1):
      Load module gconf earlier

Timo Jyrinki (4):
      Add Finnish (fi) translation by Timo Jyrinki.
      Add fi (Finnish) to LINGUAS.
      Argh, send pulseaudio Finnish translation (instead of paprefs) by Timo Jyrinki.
      Updated Finnish translation against current trunk.

Tom Bamford (1):
      Multicast SDP packets sent with same IP TTL as RTP packets

Wang Zeguo (1):
      Updated Chinese(zh_CN) translation.

Xavier Conde (6):
      Added catalan translation
      Added catalan locale
      Updated catalan po
      Updated catalan po
      Updated catalan po
      Update catalan po

amitakhya (2):
      Sending translation for po/as.po
      Sending translation for Assamese

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

chocolateboy (1):
      Fix typo in log message: s/Recevied/Received/

daniel cabrera (1):
      Updated Spanich translation

elsupergomez (1):
      Sending translation for Spanish

ifelix (2):
      Sending translation for po/ta.po
      Sending translation for Tamil

kkrothap (2):
      Sending translation for po/te.po
      Sending translation for Telugu

kmilos (4):
      Sending translation for po/sr.po
      Sending translation for po/sr@latin.po
      Sending translation for Serbian
      Sending translation for po/sr@latin.po

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

mgiri (5):
      Sending translation for po/or.po
      Sending translation for Oriya
      Sending translation for Oriya
      Sending translation for Oriya
      Sending translation for Oriya

raven (1):
      Sending translation for Polish

runab (2):
      Sending translation for po/bn_IN.po
      Sending translation for Bengali (India)

sainrysec (1):
      Only creat zh_CN.po

sandeeps (1):
      Sending translation for po/mr.po

shanky (1):
      Sending translation for po/kn.po

soko (7):
      Sending translation for Serbian
      Sending translation for Serbian
      Sending translation for po/sr@latin.po
      Sending translation for Serbian
      Sending translation for po/sr@latin.po
      Sending translation for Serbian
      Sending translation for po/sr@latin.po

swkothar (4):
      Sending translation for po/gu.po
      Sending translation for Gujarati
      Sending translation for Gujarati
      Sending translation for Gujarati

tombo (1):
      Sending translation for Italian

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

warrink (1):
      Sending translation for po/nl.po

甘露(Gan Lu) (1):
      Add zh_CN entry for Chinese Simplified translation.
Note: See TracRoadmap for help on using the roadmap.