[pulseaudio-commits] [SCM] PulseAudio Sound Server annotated tag, v0.9.11, created. v0.9.11

Lennart Poettering gitmailer-noreply at 0pointer.de
Thu Jul 24 06:26:02 PDT 2008


This is an automated email from the git hooks/post-receive script. It was
generated because of a push to the "PulseAudio Sound Server" repository.

The v0.9.11 annotated tag has been created
        at  9211fcaed369cc70812363d0e1e2357dfeabb47b (tag)
   tagging  e3fb086681bf743310f2af19bf9a01957fd34782 (commit)
 tagged by  Lennart Poettering
        on  Thu Jul 24 15:25:53 2008 +0200

- Log -----------------------------------------------------------------
PulseAudio 0.9.11

CJ van den Berg (6):
      Merge dead branch 'prepare-0.9.10'
      Merge dead branch 'liboil-test'
      Merge dead branch 'ossman'
      Merge dead branch 'lockfree'
      Merge dead branch 'lennart'
      Merge dead branch 'glitch-free'

Colin Guthrie (7):
      Perfer client.conf over X11 property variables.
      Also link libpulsecore.la to some libraries (needed for logging). Discovered while compiling with --as-needed
      Rejig r2495 slightly and directly compile the necessary source files as libpulsecore.so is not available when libpulsedsp.so is built
      Do not invalidate the cookie if no file was specified.
      Trivial typo fix in debug log message.
      Export the cleanup_name() function and rename it to pa_namereg_make_valid_name().
      Add xmltoman to the distribution. This saves pulling in an external dependancy

Diego Petteno (11):
      Fix detection of polkit_context_is_caller_authorized() function, also reported by Nix. Also fix detection of policydir for prefixes different from /usr.~
      Enable D-Bus if Bluez or HAL are enabled; use DBUS_LIBS/DBUS_CFLAGS when building libdbus-util.la.
      Check for mkdir -p or equivalent, and use that rather than simple mkdir to create the modules, modules/gconf and modules/rtp directories.
      Add a configure switch to enable the per-user ESounD socket path, but default to vanilla ESounD's path. This way distributions and users can configure PulseAudio according to their ESounD library.
      Apply the fix for CVE-2008-0008 from 0.9.9 release on trunk.
      Use check_PROGRAMS rather than noinst_PROGRAMS for test programs.
      Mark long_options constant.
      Build and run using libltdl from libtool 2.2. The user module loader support has changed drastically.
      Test for _struct_ lt_user_dlloader, otherwise it won't be found.
      And one more.
      fix the help for --disable-per-user-esound-socket so that it actually

Lennart Poettering (2093):
      Create trunk directory
      initial commit
      make it compile
      autoconf
      ignore fix
      module dependencie foo
      make the whole stuff run and clean it self up again
      remove moddep files (since they are obsolete)
      a bunch of fixes
      more cleanups
      remove oss.c
      commit some work and rename
      rename some more
      oss output works
      minor work
      more work
      cleanup
      fix mixing
      got mmap oss output working
      configure fix
      basic cli interface
      some more work
      some more work on the cli
      add simple ptorocol with unix
      minor work
      rename module-simple-protocol to module-protocol-stub
      cli protocol
      mofiy keyword expansion
      partial implementation of native protocol
      main part of the native protocol
      ignore some more stuff
      minor compile work
      rename oss.[ch] to oss-util.[ch]
      make rename of oss.[ch] to oss-util.[ch] complete
      some fixes
      many fixes
      make native playback work
      add name registrar
      esound protocol
      extended esound protocol
      volume work
      latency
      add resampler
      add resampling
      forgot to add memchunk.[ch]
      add libsamplerate dependency
      fix minor typo
      add pa_ prefix to all identifiers.
      add kill_* and default_* commands to CLI
      auth support in esound and native
      draining ind native protocol
      add output stream draining
      fix recording for simpel and esound protocols
      implement recording in native API
      implement parec-simple and matching simple recording API
      forgot to add parec-simple
      make memblockq merge chunks
      add description field for sinks/sources
      add dependency script
      rename hashset to hashmap
      make the protocol plugins make use of modargs
      make module-oss-* use modargs
      add preliminary command line parsing
      complete implementation of the command line
      update todo
      implement client side TCP support
      fix modargs memory leak
      implement daemonizing
      remove global exported variables:
      add pactl tool
      implement get_latency native command
      optimize esound latency for xmms
      add alsa sink
      split PA_SAMPLE_FLOAT32 into PA_SAMPLE_FLOAT{LE,BE}
      implement alsa source
      make oss sample spec configurable
      make a symbol in module-ptorocol-stub static
      rename a bunch of files
      adjust file references due to renaming
      fix distcheck
      include config.h in every file
      include copyright and svn tag in *.[ch]
      add missing liecenses
      add pkgconfig stuff
      add documentation
      ignore README
      move todo file
      rename configuration file
      rename src to polyp
      fix Makefile.am and configure.ac to match directory renaming
      make polypaudio run when installed
      make distcheck clean
      some makefile fixes
      two simple fixes
      readme update
      minor fixes
      sample cache work
      add a todo item
      add new module "module-x11-bell"
      add support for querying sample ist with esound protocol
      sample cache work
      introduce pa_xmalloc() and friends
      forgot some files
      add initial glib mainloop adapter
      add mainloop test utility
      cleanup priority management in main loop
      rename mainloop testing tool
      better mainloop test build system
      glib mainloop fix
      compile fix
      add subscription subsystem
      todo update
      info and subscription work
      add more subscription events
      todo fix
      some preliminary cleanup
      split polyplib.h
      add internal header file for polyplib
      add polyplib-sample
      add polyplib-sample.c
      rename polyplib-sample to polyplib-scache
      implement proper refcounting in polyplib
      proper ref counting for more objects
      add support for volume manipulation
      add sink input/source output support to the native protocol
      fix sink iunput and source output stuff
      rename clitext to cli-text
      make clitext to cli-text renaming complete
      update todo file
      create native-common-internal.h
      remove native-common-internal
      Documentation work
      autoconf beefup
      todo update
      fix x11 build
      remove global memblock statistic variables in favor of memblock_stat objects
      add missing copyright headers
      add version routines to polyplib
      minor stuff
      move sample cache to namereg
      build fixes
      Doxygen stuff
      readme update
      doxygen fix
      documentation update
      documentation update
      add support for glib12
      add pkg config file glib12-mainloop
      new features:
      minor documentation update
      latency work
      minor cleanups
      document every polyplib function
      relicense client library to LGPL
      add LGPL/GPL to dist package
      readme update (licensing)
      minor fixes
      fix homepage script
      fix module path
      add support for SCHED_FIFO
      remove most -W compiler warnings
      implement missing scache_get_id_by_name
      add support for dB volumes
      add \since to dB functions
      cleanup comment
      add PA_MININFTY
      introduce sink input and source output limits
      add sound file streaming
      add esd compatible startup script
      daemon auto spawn
      make use F_CLOEXEC wherever useful
      add total sample cache size to statistics
      add CPU load limiter
      add option to disallow module loading after startup
      add support for automatic termination of the daemon after the last client quit
      implement proper logging
      add module-pipe-source
      correct a recording bug in native protocol
      add support for setting/getting default sink/source via native protocol
      change the way the default sink/source is selected
      implemented new CLI command: dump
      documentation update
      date fix
      add FAQ to homepage
      add support for module search path as command line argument
      add version number to library names
      add modinfo support
      extend pa_usec_t to 64 bit
      update simple API
      build system update
      fix public= on native and esound protocol
      fix parsing of POLYP_SERVER environment variable
      correct latency calculation
      new configuration subsystem
      add module-combine
      add refernce counting for sinks, sources, sink-inputs and source-outputs
      make module-combine autoloadable
      correct autospawning
      remove auto-load-sample stuff
      work around C99/GCC incompatibility
      add input latency measurement
      add support for subscribing to autoload table changes
      fix two gcc 2.95 incompatibilities
      gcc 2.95 compatibility, take 2
      update according to autoscan
      new configuration subsystem
      make daemon.conf/client.conf autogenerated
      rename some stuff
      rename some more
      add --resample-method argument
      add resample_method option module-combine
      change sysconf path
      minor stuff
      work around gcc 2.95 limitation
      work around gcc 2.95 limitation
      add pacat command line parsing
      add new function pa_mainloop_deferred_pending()
      remove obnoxious assert from module-combine
      update module descriptions
      fix xmms spawn bug
      documentation update
      build updates
      add link to mailing list
      show which command is unknown in esound protocol
      add noop implementation of standby/resume ESOUND commands
      support for esd arguments: -spawnpid and -spawnfd
      improve esound module
      add support for capabilities
      OSX protability patches from Conrad Parker
      Fix a bug in the build system reported by Iain Fothergill
      place full binary path in default.pa's shebang line
      ignore default.in
      allow high priority scheduling only for users in group "realtime"
      bump version number and update documentation
      bum version number
      add new tool paplay
      add POSIX locking to authkey.c
      really fix cpu usage when using esddsp with polypaudio
      try to use file sample type for cache entries and play-file playback
      Add module-tunnel
      add latency measurement support to tunnel module
      fix module-tunnel for to aborting when connection fails
      renamed module-tunnel to module-tunnel-sink
      really fix API version API
      Add support for libwrap
      add sample spec parameters to pacat
      todo update
      enlarge default buffers
      gcc 2.95 fix
      add user volume API
      support for latency interpolation
      two latency interpolation fixes
      latency calculation fix
      add null sink
      update todo
      minor updates
      make autoload list use idxset
      prepare next release 0.6
      require newer libsndfile
      use setreuid() instead of setuid()/seteuid() when dropping root
      some updates for pa_hashmap
      Apply Joe Marcus Clarke's FreeBSD patches
      fix client libaryr in case no latency interpolation is required
      add some more comments
      compilation fix
      some commenting
      * Look for M4 in configure.ac
      implemented pax11publish.c
      build pax11publish only when X11 is available
      export FQDN instead of hostname
      use fqdn in module-x11-publish as well
      split out x11prop.[ch]
      add username to runtime directory name in /tmp/
      remove a debug message
      * remove as superfluous assert() in polyplib-stream which broke the gstreamer plugin
      * implement module-esound-sink
      Make the whole stuff LGPL only
      todo update
      * some commenting work
      * fix a long standing bug in ioline.c (large prints failed)
      update todo list
      fix module-tunnel.c
      todo update
      minor fixes for latency interpolation
      limit the number of concurrent connections for all four protocols
      * some iochannel fixes
      * add µlaw/alaw support
      option to use ALSA default fragment number and size
      * remove autospawn lock file usage
      * some minor pid file fixes
      some commenting
      * PID and lock file fixes
      * fix the trivial resampler
      fixes for bugs found when compiling with gcc 2.95
      * add some missing "static"s
      bump version number
      * new tool pacmd
      * create parec as link to pacat
      calculate buffer sizes from sample spec
      * update todo
      * make --help fit in 80 columns terminal
      Comment some more files
      Documentation updates
      prepare for release
      * some fixes for MacOS X by Conrad Parker
      * install fix
      * use setresuid() instead of setruid() if available
      * fix autospawn lock file creation
      * really fix integer only resampler
      * add first part of zeroconf publisher
      * fix alsa initialisation
      * complete zeroconf publisher
      * fix include file names in installed header files
      * prepare polyplib-browse for installation
      * fix daemonizing
      do mor daemonizing work
      * Publish server info in mDNS in addition to sinks/sources
      cleanup zeroconf service names
      * fix error message when starting polypaudio while it is already running
      gcc 2.95 compat
      fix conditional X11 compilation
      minor fixes
      * add support for asynchronous name resolution
      update todo list
      change doxygen build stuff for better compat with moderm automakes
      * add new module for LIRC volume control
      * make lirc program name configurable
      * increase timeout in pacmd
      * todo update
      * add new module module-mmkbd-evdev
      * new environment variable $POLYP_LOG
      * make pa_sample_spec_snprint return point to written string
      * extend HTTP module
      * fix LIRC configuration
      create a copy for liboil porting
      commit liboil porting changes
      add libsamplerate/libsndfile CFLAGS
      fix start_timeout()
      remove esound protocol directory on unload of module-protocol-esound
      handle EOF in ioline.c
      alter alsa periods number
      bail out if no sink is defined
      build fix
      git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@352 fefdeb5f-60dc-0310-8127-8f9354f1896f
      print a nice message when libltdl is missing
      handle float values in sound files sensibly
      add pa_sound_file_too_big_to_cache()
      add new field running_as_daemon to pa_core
      increase number of allowed connections
      initialize running_as_daemon
      chance ALSA sink to use "default" as default alsa device
      fix alsa memory leak
      fix synchronized clock change
      improve sync clock change
      Merge Pierre's changes
      build system updates, including support for some newer GCC options
      * remove a lot of compiler warnings introduced by using some new GCC flags
      Mega patch:
      add support more for up to 16 auxiliary channel positions
      * add variadic function pa_tagstruct_get() and pa_tagstruct_put() for parsing/constructing tagstruct records
      todo update
      fix warning text
      print ALSA error messages on failure
      allow polypaudio to startup without any enabled module
      Add HAVE_ALSA and HAVE_OSS defines
      add simple hardware auto detection module
      * svn:ignore some files
      move alsa-util.[ch], oss-util.[ch] and howl-wrap.[ch] to the modules directory since they are just helper source used exclusively by the modules
      add a bunch of simple Makefile in the subdirs, just to make compilation with emacs easier
      make channel naming somewhat RFC2551 compliant
      drop polyplib- prefix from client library files
      fix compilation of simple API
      * drop polylib prefix from #define
      shorten include list of utils a little
      * rename polypcore/subscribe.[ch] to polypcore/core-subscribe.[ch] to avoid confusion with polyp/subscribe.[ch]
      include header files in simple.h with <> instead of ""
      fix doxygen
      update todo
      1) Add flexible seeking support (including absolute) for memory block queues and playback streams
      make doxygen ignore PA_CDECL_BEGIN/PA_CDECL_END
      update TODO
      remove cdecl.h from doxygen docs
      * Make typdefs for the pa_context callback prototypes
      explcitily cast strings to make gcc shut up
      replace "spawn" parameter of pa_context_new() with a proper flags parameter
      minor doxygen fixes
      add doxygen docs for channel map
      todo update
      * a lot of doxygen updates
      * modify pa_context_exit_daemon() to return a pa_operation object
      fix moddir
      change calls of pa_context_connect() to pass flags arugment correctly
      remove a superfluous log line
      fix yet another pa_context_connect() occurance with regards to the flags parameter
      add validity check for the "server" parameter of pa_context_connect()
      improve error checking in simple API
      todo update
      build dllmain.c only on win32 (makes gcc shut up a little more)
      fix snd_pcm_hw_params_set_rate_near() usage
      build defer() function in src/polyp/mainloop-signal.c only on win32
      disable SIGPIPE before calling pa_core_new(), this way the warning message is not printed
      todo update
      add hw volume control for module-oss-mmap
      todo update
      * Get rid of libpolyp-mainloop
      todo update
      * Don't build seperate ipv4/ipv6 versions of the protocol plugins
      todo update
      fix pacat
      todo update
      remove left-over log line in protocol-esound.c
      add new utility function pa_endswith()
      include hw description gathered from /dev/sndstat in sink/source description string
      add hw info to description for oss-mmap, too
      todo update - outline what i consider pre-0.8 and post-0.8 issues
      todo update
      rework parameter validity checking in protocol-native server side
      todo test
      unbreak Makefile.am
      revive howl support
      pkg-config update
      todo update
      add listen= parameter to tcp protocol modules
      update todo
      enforce maximum memblockq length for clients
      fix source volume adjustment: copy memchunk before changing the volume of it
      simplify tagstruct creation
      change pa_log() and friends to not require a trailing \n on all logged strings
      ignore pabrowse
      really ignore pabrowse
      update todo
      add a few more validity checks to protocol-esound
      todo update
      todo update
      add support for authentication using SCM_CREDENTIALS
      * Add new "auth-group=" parameter to protocol-native-unix
      todo update
      move scatter/gather todo item to post-0.8, since it's impact on perfomance might not even be worth the effort.
      protocol changes for new latency API (partial!)
      remove some GCC warnings introduced by improperly casting to (char*) instead of (const char*)
      * set IPV6_V6ONLY for IPv6 sockets, to avoid warning when both ipv6 and the ipv4 sockets try to bind to the same port
      s/index/idx/, to avoid gcc warning
      change pa_gettimeofday() to return a pointer to the struct timeval*, instead of an int
      * really pass the ipv6 socket server to protocol_new in case of ipv6.
      remove queue length field from latency request (server side)
      rework latency querying API (this needs more testing)
      update pacat.c for new latency API
      update simple API for new latency API
      * update docs for reworked latency API
      hdie some more
      remove yet another item from the todo list
      fix pkg-config files
      * enable write_index correction and timing interpolation only for playback (and record) streams
      todo update
      remove item from TODO list, since it requires the SNDCTL_DSP_GETERROR ioctl() which isn't supported by the Linux kernel
      minor cleanups
      todo update
      add new introspection data field for sinks/sources: a flags field which specifies whether the sink/source supports hw volume control and latency querying
      * show flags value when dumping sink/source info in pactl.
      remove another item from the todo list
      when doing software volume adjustments, don't use the volume value as linear factor, but pass it through pa_sw_volume_to_linear() first.
      add proper volume clipping support for OSS devices
      clip volume at PA_VOLUME_NORM for alsa devices
      unbreak last commit from ossman
      update TODO
      Lennart is blind
      add new PA_STREAM_AUTO_TIMING_UPDATE
      * implement PA_STREAM_AUTO_TIMING_UPDATE
      todo update
      when using record mode, allow file to save data to to be passed on the command line
      minor cleanups for OSS module
      * Beef up latency calculation in module-oss-mmap
      update todo
      validity checks for pa_context_is_pending()
      return the error code and not just -1 when pa_context_is_pending() fails
      unbreak fresh SVN builds
      todo update
      when flushin a memblockq, set the write index to the read index
      proper validity checking for pa_context_is_pending()
      protocol change: don't send stream buffer size in latency update. This data is redundant, since it can be calculated from write_index - read_index anyway
      * rename "latency correction" to "write index correction"
      beefup pacat a little:
      remove a bunch of log messages
      * fix latency calculation where a full playback buffer was erroneously taken as empty buffer and vice versa.
      * dispatch defer events in pa_mainloop_dispatch() and not already in pa_mainloop_prepare()
      small fix to deal properly with slow links
      yet anotrher fix for slow links
      when storing recording data in file, create file with proper access rights
      include local record memblockq in latency calculations
      remove yet another item from the todo
      Documentation updates
      more documentation updates
      doc updates
      update documentation for release 0.8
      add new configure option to enable preloading even on architectures that support dlopen(). Useful for debugging
      make --enable-force-preopen the default for SVN builds
      add code to allow polypaudio dump preloaded modules using "--dump-modules"
      hmm, nothing important
      fix latency calculations of module-combine
      include in-flux resampled chunk in latency calculations of playback streams
      remove yet another item from the todo list
      unbreak module-tunnel
      remove yet another item from the todo list! This means we are now read for 0.8!
      * add a link to Cendio to the README
      minor doc updates
      minor beautification
      add an RTP sender module
      * ignore some more files
      correct some types
      * change default multicast address
      * add RTP/SAP/SDP reciever module
      todo update
      * add new check for $RANDOM_DEVICE
      initialize random seed globaly from $RANDOM_DEVICE
      replace homegrown endswith() with pa_endswith() from util.h
      * increase default MTU
      * deal properly with underruns, overflows and packet losses
      * make sure RTP ports are chosen to be even
      rename module-rtp-monitor to module-rtp-send
      ignore symdef file of module-rtp-send
      change default mcast address once again, to make sure our traffic doesn't leave the network by default
      fix typo in module description
      limit number of concurrent RTP streams
      add documentation for the new RTP modules
      properly initialize session counter
      add new API to replace the poll() function used by the main loop implementation
      * add pa_mainloop_wakeup() calls for deferred events
      add new JACK sink
      * allow the user to set the jack client name
      add a jack source module
      * fix pa_random_seet() function prototype
      fix code for pre-C99
      build jack source
      fix connecting of jack source in jack daemon
      add JACK module documentation
      Documentation updates
      fix make distcheck
      fix "make distccheck" properly
      fix CFLAGS for jack modules
      fix a couple of issues I found when compiling polypaudio with gcc 2.95
      make proper use of the muting facility of sinks in module-mmkbd-evdev
      * rename "LICENSE" to "LGPL"
      add new explaining LICENSE file
      ship GPL and LGPL files with the tarball
      minor improvements to the LICENSE text
      replace copy by symlink when installing homepage
      chown() and chmod() /tmp/.esd/ before checking if everything is ok with it
      try to remove the directory where the PID file resides in after removing the PID file
      first unlink the socket, the close it
      add new function pa_parent_dir()
      * for unix sockets: remove the right parent directory on shutdown
      fix sample cache
      fix x11 handling
      when loading sound files, initialize channel map data properly
      modify x11 modules to not cache the Display variable since pa_x11wrap_get_display() is now used as notification that the x11 output buffer needs flushing
      require automake 1.9 in configure.ac
      remove superfluous "set -ex" line
      * Merge build system patch from Igor Zubkov
      allow recieving of invalid channel maps, volumes and sample specs. This makes handling of uninitialized data better, e.g. when sending info about lazy-load sample chache entries, where the channel mapping and sample spec is still unknown.
      fix multiplication of software pa_cvolumes
      * when playing back a sample from the sample cache, just take a pa_volume_t and not a pa_cvolume_t as argument for the volume. Usually it is not known to the player of theses samples how many channels it has, hence it doesn't make any sense to allow him to pass a by-channel volume structure here.
      introduce a new error PA_ERR_TOOLARGE
      * fix ref counting of pa_stream: strictly refcount from context to stream and never vice versa to make sure that we never loose memory
      enforce maximum sample size in sample cache
      fix sample uploading
      small optimization
      * add validity checking for sample_spec, channel_map and cvolume structures
      fix a segfault when uploading samples with esound
      * rework reference counting in the client libraries: now refcounting goes
      * add new function pa_channel_map_parse()
      add new test 'channelmap-test'
      don't allow channel positions to be specified twice in the same channelmap
      add support for parsing channel maps as module arguments
      support new channel_map argument in sink/source modules
      * make a validity check of parsed channel maps before rteurning theme
      allow specifying the channel map to use on the command line
      it was a bad idea to require that a channel map doesn't contain the same position twice
      if a sample is not yet loaded, don't print rubbish about its channel map
      fix volume range printed on --help
      allow the user to specify an alternative channel map in paplay too
      fail if the channel map doesn't match the sample specs
      bump version number
      doc update for 0.8.1
      ouch!
      fix date
      * make sure the wakeup fd is polled on wven when no other fd is registered for polling
      add new threaded main loop implementation (with test/example)
      allow signalling from event loop thread
      remove bogus check that disallowed latency interpolation and stuff for record streams
      add support for reading audio data from a file instead of plain STDIN in pacat-simple.c
      * optionally, make pa_threaded_mainloop_signal() wait until the main thread took over control
      rework the simple API to make use of the new threaded mainloop implementation
      update todo
      fix handling of timing status requests
      add thread-mainloop.h to doxygen docs
      split of signal releasing into its own function and name it pa_threaded_mainloop_accept()
      don't signal the accept_cond automatically when waiting for a signal event
      update doxygen docs
      fix iochannel for hangup signals
      fix hangup detection for recording streams
      remove superfluous log message
      use default alsa channel map for alsa devices
      fix fragment size calculation for module-alsa-source
      don't hit an assert when trying to resample data for 6channel audio
      first set buffer size, and afterwards period size
      * set default fragment metrics depending on the sample specs of the device in OSS and ALSA
      fix esound sample cache names
      modify argument order of pa_client_new() to actually match how it is usually called
      * add new parameter to pa_open_config_file() to specify open mode
      add new module module-volume-restore which saves and restores volume of playback streams
      update todo
      add utf8 validity checking API
      check for valid utf8 strings
      take the filename specified on the command line as default stream name
      remove superfluous log line
      add utf8 validity checking to esound protocol
      update TODO
      remove regex.h from include, since it is actually not used
      undo r868
      add notification callback which is called when new latency data becomes available
      * fix segfault in pa_utf8_validate()
      downgrade a log message
      use the new latency update callback to be notified when latency data becomes
      * remove "const" from return type of pa_utf8_filter() since it desn't make any sense
      add double include protection
      add svn:keywords property
      add new test programme utf8-test.c
      instead of kicking clients with invalid UTF8 stream names, filter invalid characters and use that instead
      tell svn to ignore the utf8-test binary
      * remove .a files from the modules directory after installation
      update todo
      * add new configure option --with-module-dir=
      bump version number to 0.9
      change version number from "0.9" to "0.9.0" to make version comparisons easier
      * modify pa_channel_map_init_auto() to take an extra argument specifying the standard to use (ALSA, AIFF, ...)
      add new channel mapping standard PA_CHANNEL_MAP_OSS
      use PA_CHANNEL_MAP_OSS in module-oss, module-oss-mmap
      increase PA_CHANNELS_MAX to 32
      when playing an ULAW or ALAW audio file, do not convert to S16NE unconditionally, instead use sf_read_raw() to read raw audio data
      * use S16NE for SF_FORMAT_PCM_S8 formats, too
      support loading ULAW/ALAW files into ULAW/ALAW memchunks
      * support native ULAW/ALAW file streams
      update todo
      update todo
      add documentation for module-volume-restore
      add proper locking when accessing the file volume.table
      add proper locking when accessing the file match.table
      more sensible default.pa file
      fix svn tag
      add new channel map argument to pa_simple_new()
      add utf8.h and xmalloc.h to doxygen docs
      * make pa_xfree() a real function
      add doxygen docs for utf8.h
      include more files in polypaudio.h
      replace memory allocation function calls with pa_xXXXX()
      split polypcore/util.[ch] into polypcore/core-util.[ch] and polyp/util.[ch]
      include util.h in polypaudio.h
      add util.h to doxygen
      * add doxygen docs to header file
      add C++ macros to xmalloc.h
      add C++ macros to utf8.h
      fix include line for "core-util.h"
      modify lirc module to use pa_sink_mute() for muting and unmuting
      update README for 0.9.0
      generate PA_MAJORMINOR properly - only from major and minor, not from micro
      rename pa_simple_get_playback_latency() to pa_simple_get_latency() and allow its usage on capture streams
      fix long-standing buf that could cause polypaudio to eat 100% CPU: fix handling of event bits for pa_iochannel
      doc update
      add new function pa_usec_to_bytes() as inverse of pa_bytes_to_usec()
      add missing #include
      add missing #include
      change return type of pa_cstrerror() to "const char*"
      add new padsp utility: a $LD_PRELOAD wrapper for using the OSS API with polypaudio
      pass the binary name as client name to polypaudio
      - use pthread_atfork() to disable open sound streams in the child after a fork.
      implement emulation of /dev/sndstat
      fix playback of small sound files
      implement a /dev/mixer interface
      update TODO
      * issue volume updates syncrhonously
      fix evil, evil typo that cause all gtk2 based apps to crash
      add support to disable emulation of /dev/dsp,/dev/mixer,/dev/sndstat selectively by either passing an environment variable or by defining a symbol __padsp_disable__ in the process
      read stream and client name from $PADSP_STREAM_NAME resp. $PADSP_CLIENT_NAME, if available
      update todo
      add item about moving pa_cstrerror() to TODO
      move modules to ${libdir}/polypaudio-${PA_MAJORMINOR}/modules/
      * split pa_cstrerror() into its own file polypcore/core-error.[ch]
      really fix a superfluous warning when building padsp.c
      * add new API function pa_stream_get_buffer_attr().
      update todo
      disable padsp for the polypaudio daemon itself by defining the __padsp_disabled__ symbol
      update README for 0.9.0
      drop the .sh suffix from esdcompat
      update svn:ignore to reflect the esdcompat name change
      merge patch from Igor Zubkov, fixing linking of the HOWL modules
      fix amd64 portability issues
      load alsa modules with device string hw:0 instead of hw:0,0
      update todo
      * if an ALSA device doesn't support the channel count requested, use what ALSA suggests instead
      * alsa-sink: if "PCM" is not found as mixer track name, fallback to "Master"
      downgrade a log message
      decrease maximum allowed sample frequency for ALSA devices to 5%, since 48000 would otherwise match with 44100
      update TODO
      remove superfluous prefixes from service names
      Add new configure options to disable/enable specific modules at configure time. Original patch by ed at catmur.co.uk. (Closes #16)
      bump version and soname
      update docs for 0.9.1
      fix ugly access-after-free bug when doing asyncronous NS lookups
      actually build cpulimit support if SIGXCPU is available
      fix pa_xstrndup() implementation to not access potentially uninitialized memory
      rework ioline EOF handling to actually work properly
      update todo
      if S16NE is not supported, fall back to S16RE. If FLOAT32NE is not supported, fall back to FLOAT32NE. If still nothing is supported, try everything else in order
      * make hw param settings easier to debug by splitting up long if
      * implement volume adjusting and mixing for S16RE
      * add new argument 'exit_on_eof' to module-cli and make use of it if "-C" is passed to the daemon
      add new test "interpol-test"
      minor cleanups
      * rework latency interpolation to make it smoother
      hide interpol-test
      unhide padsp
      big s/polyp/pulse/g
      rename polypaudio.h to pulseaudio.h
      hide pulseadudio binary from SVN
      replace a few remaining uppercase "Polypaudio" occurences with "PulseAudio"
      name the pkg-config files after the library names
      update references to the pkg-config files in the docs
      * more s/pulseaudio/PulseAudio/ replacements
      update docs
      s/POLYP/PULSE/g
      fix segfault when module-alsa-source fails to load
      bump version number
      only interpolate when the last timing info told us the stream is indeed playing
      include config.h in browser.c (closes #20)
      increase the maxium number of concurrent esd and native connections
      update readme for 0.9.2
      fix mailman URL
      replace remaining ML refs to polyp
      s/avahi/pulseuaiod/
      remove all docs from tarball since they are now available on pulseaudio.org
      unhide a few files
      * remove doc/ directory
      mark HAL for shams king
      check for avahi in configure.ac
      make sure gccmacro.h and cdecl.h may be included at the same time as those headers from the avahi project
      update module-zeroconf-publish to make use of the native AVAHI API, instead of HOWL
      * port libpulse-browse to use the native avahi API instead of the HOWL cruft
      add browser.h to doxygen docs
      * add proper error handling to pabrowse.c
      remove HOWL snippet from configure script
      remove howl-wrap.[ch]
      remove avahi/howl item from todo list
      update todo
      support time events with NULL timevals which are OK in avahi, but not in PA. This makes padevchooser actually work on top of the new avahi browsing stuff
      * fall back to prctl(PR_GET_NAME) in pa_get_binary_name() if readlink() fails
      Don't call pa_path_get_filename() anymore since it is implicitly called by pa_get_binary_name() anyway
      add new test get-binary-name-test for testing pa_get_binary_name()
      update todo
      remove vi'ism
      try to use send(,,MSG_NOSIGNAL) instead of write() wherever possible (which
      don't set MSG_NOSIGNAL for recvmsg(), since it doesn't make sense there
      don't send SCM_CREDENTIALS on every sendmsg(), instead do it only on handshake
      remove checking for SIGPIPE blocking from client code. Because we use
      update todo
      improve latency calculation of NULL sink
      update todo
      add a new boolean variable is_hardware to pa_sink/pa_source to denote wether the specific device is a hardware device or virtual/software
      add new PA_SOURCE_HARDWARE/PA_SINK_HARDWARE flag
      set is_hardware flag for a few hw plugins
      show value of PA_SINK_HARDWARE/PA_SOURCE_HARDWARE in pactl
      show summary after "configure" has run (closes: #22)
      todo
      make pulseaudio compile again on FreeBSD (patch from Diego "Flameeyes" Petteno)
      change licensing blurb form "Library GPL" to "Lesser GPL" on request of Loic Minier. Effectively this means using the same license blurb like in all other source files.
      define proper typdefs for callback prototypes
      turn the glib adapter into a single GSource instead of creating a bunch of seperate GSources for each event
      fix module-detect on FreeBSD (patch from Diego "Flameeyes" Pettenó)
      add two more \since
      remove glib 1.2 adapter. It started to bitrot and wasn't used by anything anyway.
      * add new --system command line parameter to the daemon for running PulseAudio as system-wide instance
      fix sed scripts according to #define renames
      update @@ tokens according to recent Makefile.am change
      use access group dedclared in ~/.pulse/client.conf instead of PA_ACCESS_GROUP
      * add new function pa_check_in_group()
      add a few comments
      undo r1111 in some way: include sys/socket.h and sys/un.h but wrap it in #ifdef
      add support to set resource limits for the daemon and set some of them to some sane values
      add IP address ACL subsystem
      actually ship src/pulsecore/creds.h in the tarballs
      implement "auth-ip-acl=" in the native and esound protocols
      update todo
      remove configurable client access group, since can never work on Linux anway, since SCM_CREDENTAILS doesn't allow sending supplementary GIDs
      bump release and sonames
      some more FreeBSD compat from Flameeyes
      add missing #ifdef HAVE_CREDS (thanks, Flameeyes)
      even more FreeBSD portability (thanks Flameeyes, again!)
      fix a few @@ replacments
      remove access group setting from default client.conf
      raise the default value for RLIMIT_NOFILE to 200 since 25 is apparently too small if every single GNOME apps thinks it needs to create its own server connection!
      fix horribly broken glib timeout event handling
      update todo
      as a result of memory profiling with valgrind/massif: decrease default hash table size from 1024 to 127. the hashtables are sparsely filled most of the time, so there is no point in allocating to much memory by default.
      add massif target to Makefile
      bump version and sonames
      add autogen.sh for jhbuild (for you, elmarco!)
      add a few more g_assert()s and change all assert()s to g_assert()s
      split a few assert()s
      split a few asserts
      Results of profiling PulseAudio with valgrind's callgrind module: rework the default event loop implementation to use PA_LLIST_xxx instead of pa_idxset; don't generate weakeup events if we aren't in STATE_POLLING; minimize dispatching of io events; cache next time event instead of traversing the list of time events on every event loop iteration; other optimizations
      add new command line option --no-cpu-limit. This is useful when running PulseAudio in valgrind's massif or callgrind tools
      add new module "module-gconf" which reads configuration information from gconf. this will be used in my upcoming paconf module
      add missing configure.ac checks for module-gconf
      add some protection that the gconf helper process will be killed when the daemon process dies. make sure the gconf helper process doesn't keep open file descriptors belonging to the daemon; if gconf helper path
      mainloop fixes: when disabling time events when dispatching them, make sure to adjust the cache time event and enabled time event counters
      remove two superfluous lines
      remove superfluous code
      because gconf doesn't provide real transactions we emulate our own with a "locked" gconf key
      if possible do not unload already loaded modules when the gconf settings change. instead try to reuse already loaded modules as much as possible
      introduce three virtual sink/source names: @DEFAULT_SINK@, @DEFAULT_SOURCE@, @DEFAULT_MONITOR at . Especially the latter is useful for connecting to the monitor source of the default sink.
      load module-gconf in default install
      update todo
      introduce pa_play_memblockq() which creates a playback stream and passes the data from the memblockq to it. after that is done, frees the memblockq
      fold the seperate variable pa_sink_input::playing into pa_sink_input::state as state PA_SINK_INPUT_DRAINED. The following mappings hold:
      for the playing field of pa_timing_info use pa_sink_input::state == PA_SINK_INPUT_RUNNING. This means that this variable will now refer to the current state and not to the expected future state, which is probably more what clients expect.
      handle EOF correctly if it is read before the stream was created
      fix calculation of pa_usec_to_bytes, to make sure that it never returns fractions of a frame size
      if the memblockq is empty, return -1 in all cases
      free the memblockq if we decide not to play it
      * implement "hot" moving of playback streams between sinks (pa_sink_input_move_to()).
      add new CLI function "move-sink-input" as wrapper around pa_sink_input_move_to()
      fix two typos (pierre, have you been sleeping? next time please the comments wrong but the code right, not the other way round! ;-))
      don't hit an assetr if there are operations outstanding when the pa_context is destroyed
      fix module-gconf initialization
      fix bad memory access if a non-existing entry shall be removed from a pa_idxset by index
      deal properly with recursive module unloading
      add new commands opcode for moving sink inputs and source outputs
      add new native protocol function for moving sink inputs between sinks
      wrap PA_COMMAND_MOVE_SINK_INPUT for libpulse
      add new "move-sink-input" command to pactl
      bump API and protocol version. Return PA_ERR_NOTSUPPORTED if pa_context_move_sink_input_by_*()is called for servers that don't support it
      - don't call pa_sink_notify in pa_sink_input_new() because the virtual methods are not yet initialized at this time
      Implement pa_source_input_move_to() for moving record streams between sources
      add new CLI command move-source-output as wrapper around pa_source_output_move_to()
      wrap pa_source_output_move_to() in the native protocol
      implement pa_context_move_source_output_by_{name,index}()
      implement "pactl move-source-output"
      update todo
      merge HAL support from Shams E. King
      * add SVN $Id$ tags
      try to reduce volume updates in the ALSA sinks/sources: only touch the shadowed hw volme if necessary
      use the copied udi string as hash key for the device table, because the temporary one is freed when the function exits
      change order of the ALSA event dispatch code to make sure that the code survives if the event dispatcher frees the ALSA client
      ALSA: handle write()/read() errors properly by unloading the driver module. This should fix problems when removing USB audio device while pulseaudio is running.
      remove OSS specific code from module-hal-detect if HAVE_OSS is not set. Same for ALSA
      Build HAL support only when either OSS or ALSA is available
      rework name register a litle to only allow "valid" names.
      fix bad memory access and a leak when detructing ALSA fd lists
      do not export name validity checking routes and apply them only to sink/source names, not sample names
      use the HAL UDI for naming input/output devices
      shorten sink/source device descriptions a little
      update todo
      * introduce new functions pa_sink_set_description() and pa_source_set_description() for changing the description of a sink/source
      comment which values in pa_{sink,source,sink_input,source_output} structures may be NULL
      don't set the sink/source descriptions manually, use the new functions pa_{sink,source}_set_description() instead
      allow setting the null sink description by a module parameter
      update todo
      add new macro PA_LLIST_INSERT_AFTER
      fix a compiler warning
      rework subscription code: try to drop redundant queued events
      clean up event generation a little: suppress unnecessary events and generate new ones on owner change
      update todo
      update todo
      fix pa_gettimeofday() return value testing
      fix a segfault in module-oss
      * only load an OSS driver for the first device of a sound card, similar to what is done for ALSA.
      there's no need to queue subscription events if noone is listening, hence don't do it!
      when the requested sample format is not available for OSS devices, print a nice warning and take what we can get instead
      print the device capabilities after opening the device
      handle hot-remeving of OSS devices properly
      update todo
      generate default sink/source names from the device files they belong to
      name the sink/source after the device file, just like we already do for the non-mmaped driver
      categorize todo file
      add pa_sink_used_by()/pa_source_used_by()
      make use of pa_sink_used_by()/pa_source_used_by() wherever applicable
      test if sink->monitor_source is set before making use of it
      update todo
      extend maximum sink/source name length, because HAL UDIs can get ridiculously long
      implement typeafe hook chain
      reall add type safe hook list
      update hook list test
      rework hook list stuff again, and replace macros with real functins. We loose type safety but things are much cleaner now
      rework hook list stuff once again: change the callback prototype to recieve three data pointers: one to the data for the hook, once for the slot and once for the call
      fix bad printf()
      allow hooking into the process of creating playback streams. To implement this I modified the pa_sink_input_new() signature to take a pa_sink_input_new_data structure instead of direct arguments.
      modify module-volume-restore to change the initial volume of a sink input from a hook instead of an asyncronous subscription event.
      hide hook-list-test
      remove pa_sink_input::variable_rate field since it has been folded into pa_sink_input::flags
      ignore if we recieved a memory block for an invalid stream, since this might happen unwillingly due to the asychnronous nature of the protocol
      Clean up module description a little
      properly implement a pa_sink_disconnect() hook
      implement new module "module-rescue-streams" which moves sink inputs away when their sink is removed.
      Load module-rescue-streams by default
      update todo
      define new hooks: hook_source_output_new, hook_source_disconnect
      implement hook_source_disconnect
      split a validity check into two
      implement hook_source_ouput_new. For this I modified the pa_source_output_new constructor to take a struct similar to what I already did for pa_sink_input_new()
      minor optimization
      create rtp source output on correct source
      fix a segfault when registering a service with avahi fails
      extend module-rescue-streams to move also source outputs when a source dies
      update todo
      use the description field of sinks/sources to name the zeroconf services, instead of the logical name
      make PA_LLIST_HEAD_INIT thread safe
      modify pa_bytes_snprint() to return the string we just wrote to. This should be binary compat with older versions which returned void
      add missing #include
      fix a PA_LLIST_HEAD_INIT invocation
      cleanup idxset.[ch] a little: define proper types for the hash/compare funcs, do ptr->int/int->ptr conversions with clean macros
      cleanup hashmap.[ch] a little: use hash/compare func prototypes defined in idxset.h, add pa_hashmpa_{get,steal}_first
      fix a bad type cast
      add abstracted shared memory API
      Rework memory management to allow shared memory data transfer. The central idea
      update tests for new memory manager
      add new test memblock-test for testing SHM import/export
      look for shm_open in -lrt
      update todo
      rework logging subsystem, to implicitly include __FILE__ in pa_log() calls. In addition we now record the line numbers and function names of pa_log calls. However, those are only shown If $PULSE_LOG_META is set.
      remove all occurences of
      hide memblock-test
      add new function pa_mempool_is_shared() to test whether a memory pool is suitable for SHM data transfers
      remove export/import objects when SHM is disable for a pa_pstream object
      one s/0/NULL/
      activate SHM support on the server side only when new client supports it and when client and server have the same UID.
      enable SHM support on the client side only if both the client and the server run as the same user and the server supports it
      update todo
      fix a memory leak
      fix allocation of anonymous memory
      deal properly with pa_mempool_new() failing
      allow importing of external shm data blocks unconditionally, even when local SHM support is disabled
      add new "disable-shm" option to client.conf
      add default "disable-shm" option to client.conf
      add new "disable-shm" server config option
      add "disable-shm=" to default daemon configuration file
      add --disable-shm command line option to the daemon
      update todo
      fix a memory leak
      rework the resample to allocate temporary memory with pa_memblock_new() instead of pa_xrealloc()
      update todo
      generate per-type memory block statistics
      print per-type memory block statistics on "stat"
      update todo
      if MAP_ANONYMOUS is not supported use posix_memalign if possible to allocate the memory pool
      check for posix_memalign and friends
      update todo
      update todo
      when transferring large memory chunks of a pa_pstream, split them up
      update todo
      fix a bad memory access
      If a client leaves the sink/source for a stream unspecified by passing NULL as
      restore the sink/source for a client in addition to the playback volume. This changes the file format of the table file. To avoid parse errors ~/.pulse/volume.table has been renamed to ~/.pulse/volume-restore.table
      update todo
      fix pactl output (sink drivers and names where switched)
      fix typo
      update todo
      fix handling of "mtu" module argument (patch by "theBear")
      activate HAL in the default config
      update module-tunnel to latest protocol
      fix module-combine when used on top of a tunnel sink
      bump version and sonames
      increase operation timeout
      fix an misdesigned assert()
      add libatomic-ops to hard dependencies
      add lock-free reference counting macros, based on libatomic-ops
      modify memory block reference counting to use the new reference counting API
      make pa_mempool_stat thread-safe/lock-free
      add a threading primitive API
      fix handling of "running" variable
      update todo
      define AO_REQUIRE_CAS in the Makefile instead of each source file, effectively reversing r1348
      work around bug in firefox which apparently misuses access() as NULL pointer test. Original patch by "alon". (Closes #27)
      fix a race condition with stream connection vs. latency measuremtn (found by theBear)
      Merge FreeBSD compatibility patch (from Flameeyes)
      make esdcompat executable
      fix esdcompat for non-gnu systems
      fix a few autoconf warnings (patch by Flameeyes)
      allow building when srcdir != builddir (patch from Flameeyes)
      update acx_pthread.m4
      include PTRHEAD_LIBS in pkg-config file (patch from Flameeyes)
      rework handling of srcdir != builddir (patch from Flameeyes)
      add missing g_type_init()
      make pa_thread_self() return a sensible pointer on foreign threads
      port the threaded mainloop to our new abstract mutex/thread API
      fix pa_thread_is_running() for foreign threads; fix a memory leak for foreign threads
      add accessor functions for the userdata attached to a pa_thread object
      remove yet another occurence of pthread_yield() by pa_thread_yield()
      implement a few more ioctl()s, including a subset of SNDCTL_DSP_GETOPTR. Just enough to make JavaSound work.
      fix a bogus debug line
      fix indentation
      don't hit an assert in the client if posix shm is not available
      fix alsa-sink example
      add missing channel names (fixes a segfault when parsing invalid channel maps)
      make pa_stream thread-safe: use new refcounting system, protect access using mutexes
      don't maintain a list of allocated mempool slots, we don't use it anyway
      add a tiny wrapper around libatomic_ops: pa_atomic_int_t and pa_atomit_ptr_t.
      implement a simple lock-free free list
      add a test program for the free list
      add static initializer PA_ATOMIC_INIT()
      implement trival pa_once API based on atomic operations
      update for newer APIs: replace direct usage of libatomic_ops by usage of our own atomic.h; remove pa_once implementation; always use our pa_once implementation instead of the POSIX version
      rework pa_once once again, because the once function needs to have terminated before pa_once returns, regardless whether the local call executes it or another thread does.
      add pa_once testing code
      make pa_mutex_new() and pa_cond_new() succeed in all cases. Similar behaviour to pa_xmalloc().
      update Makefile
      ignore flist-test
      ignore flist-test in the correct dir
      rename default realtime group from "realtime" to "pulse-rt", since it is pulseaudio specific. you may still pass --with-realtime-group=realtime to configure to get the old behaviour
      enable module-hal-detect in the default configuration file only if HAL support is enabled (closes #30)
      add asynchronous inter-thread notification API
      upgrade refcnt.h to make use of our new pa_atomic_xxx() API
      rework memory block management to be thread-safe and mostly lock-free.
      fix comment
      drop unused variable
      Fix build and only load OSS xor ALSA modules if both are available
      show socket directory when we fail to create it. (Closes #85)
      Fix module-oss for devices that return EAGAIN when we don't expect it. (Closes #66)
      Treat empty :0.0 identically to unset :0.0 when trying to find a PA server. (Closes #87)
      fix a few obvious copynpaste errors when handling volumes
      fix a DoS vulnerability (re #67), originally identified by Luigi Auriemma
      Fix another DoS vulnerability, also identified Luigi Auriemma (closes #67)
      fix minor typo
      Fix yet another DoS vulnerability, also identified Luigi Auriemma (re #67)
      don't allow excessively high sample rates
      Fix a DoS with allocating overly large silence buffers. (Identified by Luigi Auriemma (re #67)
      add a missing initialization that causes a crash when parsing invalid volume restoration tables (Problem identified by Luigi Auriemma, re #67)
      Fix another DoS vulnerability that has been identified by Luigi Auriemma. (Finally closes #67)
      only browse for ipv4 pa servers for now. Needs better fixing which however is not trivial and probably breaks the API
      fix suid Makefile target
      when called with the setid bit change euid to uid sooner to make sure that we can access our own files even when we dropped most capabilities. (Closes #21)
      Add a new meta command ".ifexists" to the CLI language, to execute commands only if a specified file exists. Original patch from cjvdb. Closes #36
      Minor optimization: read log level character code from array
      unfortunately we cannot detect if a foreign thread is still running. Thus sucks. But what can we do? U. Drepper thinks our use case is invalid.
      Replace AO_xxx usage with pa_atomic_xxx and friends wherever it makes sense
      Bump revision of libs and package
      build fix for systems lacking capability suppoort. (Problem identified and original patch supplied by Diego Petteno
      add target "eolspace" to makefil to remove trailing newlines from all source files
      Kill spaces on EOL
      add a new private branch
      Merge HUGE set of changes temporarily into a branch, to allow me to move them from one machine to another (lock-free and stuff)
      make eolspace
      Add new untabify makefile target
      make untabify
      A lot of more work to get the lock-free stuff in place
      trivial cleanups
      Move a few things between the threads
      Make debug message more useful
      rework sink input/source output state machine
      Remove anotify.[ch], since it is now entirely replaced by pa_asyncmsgq
      Fix a nasty typo in pa_asyncq_pop
      Show memchunk length in debug output
      use pa_memblockq_push_align() instead of pa_memblockq_push() to deal with unaligned data coming from clients
      Fix another ugly typo, which made source outputs unusable
      Port module-pipe-source to the new threaded design
      Fix minor typo
      minor cleanups and optimizations
      fix a typo and some minor optimizations
      drop silence generation from sink drivers
      don't handle underrun special
      remove underrun condition in pa_sinks. Instead return silence in pa_sink_render() when necessary. This is required to guarantee that the time functions in connected sink inputs stays linear
      Update OSS driver for new lock-free core
      Make use of dbus_watch_get_unix_fd() instead of dbus_watch_get_fd() because of deprecation of the latter
      Fix length calculation in pa_silence_memblock_new() and make use of pa_assert() everywhere instead of assert()
      Include assert.h, since we use assert() for our pa_assert() macro
      Make sure the returned pa_msgobject object has a valid refcnt before returning it
      rework the logic of pa_asyncq
      Track the 'missing' variable safely between the threads
      Limit silence buffer size for pa_sink_render()
      make sure we don't free the same connection twice
      remove pa_memblockq_is_writable() (because it is stupid and not used anywhere anyway, and replace all assert()s with pa_assert()s
      Port module-oss to the new lock-free core
      fix segfault when recording with module-oss.c
      Make sure pollfd[POLLFD_ASYNCQ].revents is properly initialized on signal
      Properly initialize all revents on EINTR
      Make pa_sink_render_* and pa_source_post work only when in RUNNING state, to fix handling of monitor sources when their sink is suspended
      Merge module-oss-mmap into module-oss and make suspending working properly
      Remove module-oss-mmap, since it is now merged into module-oss
      Replace a couple of assert()s by pa_assert()s
      Fix off-by-one in mixing code
      Fix concurrency bug when turning memblock into a local memblock
      Remove a superfluous pa_memblock_release(); properly handle buf4 allocation
      Reenable a couple of more modules
      Port module-sine to the new lock-free core
      Actually make the static flist static
      Make use of static flist for hashmap entry alllocation
      Minor clarification
      s/assert/pa_assert/g; make use of static flist for memblock allocation where applicable; properly initialize length value in pa_memexport_put()
      Fix typo in pa_memblock_release() call; s/assert/pa_assert/
      Fix a couple of typos in the resampler code
      change order of munmap and freeing of memblocks
      wrap destructor gcc attribute in macro
      destruct freelists properly, by using gcc destructors. we do this only to make valgrind shut up, not because it would have any real value during runtime
      update static free list usage in hashmap
      update static free list usage in asyncmsgq
      drop chunk argument from various drop() functions, since it doesn't make any sense if we want to guarantee always monotonously increasing read pointers; a couple of other fixes
      Simplify implementation of pa_assert_se()
      add our own implementation for pa_snprintf() because NUL termination is apparently not guaranteed on windows and a couple of other libcs
      Modernize things a little
      Modernize things a little bith more
      Convert most snprintf() calls to pa_snprintf()
      fix some alignment issues and modernize file a little bit
      Store strings directly in strlst elements, other modernizations
      add abstracted file descriptor based semaphore object that is lock-free in the best cases
      port asyncq to make use of new fdsem object
      reverse order of printf and push to make output more readable
      Add fdsem to makefile
      properly deref sink_input/source_output objects when removing them from a sink/source
      Increase ref counter of sink input as long as it is included in the sink idxset
      reverse order flist destruction and mempool allocation warning
      make valgrind shut up regarding non-freed ident strings. other modernizations
      properly free memblocks when skipping over them
      remove debug messages; don't queue request messages like nothing when send file is finished
      remove some log messages
      Fix channel remapping in resample; other modernizations
      Disable memory mapping if we open the device in O_WRONLY. Unfortunately we cannot do mmap() in Linux without opening the device for reading as well.
      minor modernizations
      port module-alsa-sink to new lock-free core. also add mmmap'ing support while doing so.
      bring back alsa fd list managemet, since we need it for proper mixer change notification
      reload OSS volume after unsuspend
      restore proper mixer volume control
      add PA_SINK_OPENED/PA_SOURCE_OPENED macros for easier checking for _IDLE or _RUNNING states
      Fix suspending/resuming
      It is now allowed to call pa_sink_get_volume() from thread context
      drop data from inputs only when in running state
      fix suspending logic
      minor cleanups
      port module-alsa-source to new lock-free core
      A lot of updates, all necessary to get the native protocol ported:
      rename pa_source_output_new_data::corked to start_corked to match pa_sink_input_new_data::start_corked
      On recommendation of Takashi Iwai prefer Master volume control over PCM and don't control Mic control
      Remove unnecessary snd_pcm_hwsync()
      Don't stop hardware on buffer underruns. Instead continue playing to guarantee that our time function stays as linear as possible.
      jack driver build fix which became apparent on fedora
      compat with automake 1.10
      merge compat changes from trunk
      minor cleanups
      modernize play-memchunk and port it to the new core
      Modernize pstream.[ch], reintroduce defer event to make things actually work
      typesafe casts
      follow rename of pstream_close() to pstream_unlink()
      initialize method pointers properly
      play memchunks completely
      use posix_fadvise to avoid page faults when reading audio files from disk
      minor optimization for cacheing in of samples by using posix_fadvise
      make sure to handle disconnecting our own connection properly
      initialize 'length' properly
      fix playback over native protocol
      fix a memory leak
      fix playback status querying
      minor fixes and cleanups
      port esound protocol to new lock-free core
      add global suspend command to cli
      reinitialize sw params after resume
      don't print error on socket read/write failure
      properly reinitialize pollfd array after resume
      properly reinitialize pollfd array after resume
      Remove warning when client is too slow to handle our data
      be more verbose when device does not support sampling parameters
      modernize dbus-util.c
      modernize module-hal-detect.c and check for ALSA pcm_class != modem
      fix bug in handling of defer events
      add new function pa_scache_play_item_by_name
      listen for HAL ACL events; play an event sound on hw coldplug, hotplug and ACL access
      by default, store esd socket in /tmp/.esd-`id -u`/socket, instead of /tmp/.esd/socket, to allow multiple simultaneous esd instances. this is only compatible with a patched esd, which however ubuntu and fedora ship now. other distros need to patch their esd as well, or may pass socket=/tmp/.esd/socket to module-protocol-esound-unix
      don't hit an assert when we cannot resume a device
      add a couple of additional hooks for modules to use
      if we get access to a device we don't know yet, add it to our tree instead of ignoring it
      add new module-suspend-on-idle module which suspends sinks/sources which are idle for more than 5s (or any other configurable time). Power saving, here we come\!
      forgot to actually add the new suspend-on-idle module source code
      protect memimpors with a recursive mutex to avoid deadlock when shutting down
      update default configuration
      s/login.wav/startup3.wav
      play ACL event sound only when gained access, not when losing it
      don't assume that sink/source is already unregistered from namereg when disconnect hook is called
      modernize
      Add X11 XSMP module for hooking into the X11 session manager, for being notified about X11 disconnects before they actually happen, so that we are not killed by the bloody xlibs
      Avoid a race condition when one PA instance gets HAL's ACLAdded message before the previous owner instance has given up access to the device, and thus the device is blocked
      handle ACLAdded messages for previously unknown devices identically to a really new device
      avoid duplicate loading of modules
      fix minor memory leakage
      * drop redundant pa_core argument from module initialization functions
      fix closing of fds in gconf module
      minor cleanliness fixes
      do not acces playback pa_messagq from main thread
      move pa_queue to an implementation based on pa_flist
      Rename pa_once_t to pa_once
      update thread test to use pa_once instead of pa_once_t
      Wrap two pa_asyncmsq in a new pa_thread_mq object for bidirectional, lock-free communication between a main loop and a thread
      minor update
      make use of pa_thread_mq everywhere
      if no thread-mq is attached to the current thread, return an error, don't hit an assert
      add callbacks for the revoke/release stuff, so that we can make this thing thread-safe
      make revoke/release thread safe in the native protocol
      move pstream item allocation to pa_flist
      add default fragment settings variables to pa_core
      allow setting the default sample and fragment settings from the config file
      modernization
      fix default device naming and fix api selection code
      modify alsa drivers to make use of new global fragment setting variables
      allow destruction of pa_fdsem object that are still in 'poll' state
      add proper refcounting to pa_asyncmsgq objects, to allow destruction from the dispatched callbacks
      fix module-hal when no api= argument is specified
      deal with messages properly which are recieved after destruction of a stream
      make sure that the device access event sound is only generated once
      port oss driver to make use of the default fragment sizes as defined in pa_core: store in the sink/source description whether mmap is used; if mmap() fails, fall back to UNIX read/write mode instead of bailing out immediately
      use single array for storing pa_core hook lists, add sink state changed hook, drop NO_HOOKS flags for sink inputs/source outputs, listen for resume events in module-suspend-on-idle.c
      restore the ability move record streams between sources
      Add 'via DMA' to sink/source description if device is accessed with mmap()
      hook into move operations for resuming/suspending devices appropriately
      minor modernizations
      fix latency reporting for oss and alsa modules
      minor cleanup
      modernize pa_play_memblockq() and add a new function pa_memblockq_sink_input_new() which allows creation of memblockq streams without activating them immediately
      add comments describing the context these functions are called from
      Resurrect ability to move streams between sinks
      bump soname and stuff for fedora pre-release
      ship full libltdl tree in SVN to make sure we can build this crack on fedora
      make make dist work
      make make distcheck pass
      build fix for newer glibc
      yet another new glibc build fix
      64 bit fixes and minor gcc shut ups
      deactivate module-x11-xsmp by default, due to a deadlock when pa is being started from gnome-session
      a couple of build fixes
      add load-module and unload-module commands to pactl
      load module-x11-xsmp from a /etc/xdg/autostart file, to make sure it is loaded when we have XSMP
      actually mute sinks when asked for i, add new function pa_sink_suspend_all
      actually mute sinks when asked for i, add new function pa_sink_suspend_all
      fix muting for sink inputs
      use pa_source_suspend_all/pa_sink_suspend_all for suspending all sinks/sources
      bump protocol revision and soname of libpulse
      add protocol support for muting sink inputs and suspending sinks/sources
      add new commands suspend-source, suspend-sink
      set CLOEXEC on more fds
      add new tool pasuspender which temporarily suspends all sinks and resumes them later again
      don't fail if no pa is srunning
      fix an awful race condition when handling data requests
      add fedora-snapshot target
      add pa_truncate_utf8() function for truncating a string and guaranteeing it stays valid UTF8 afterwards
      truncate service names if necessary, include user name in service string
      only suspend device when server is local
      Keep CAP_SYS_NICE not only in PERMITTED but also in EFFECTIVE capset
      seperately get high nice level and acquire realtime sched
      never stay root after startup, even if we don't have capabilites
      use realtime scheduling for ALSA and OSS driver threads
      modernizations
      add more PA_PTR_TO_XXX macros
      add macro for creating static TLS objects
      add pa_is_power_of_two() and pa_make_power_of_two() functions
      make use of new public function pa_is_power_of_two()
      rename a few things in a macro to make name collisions less likely
      add monotonic clock abstraction pa_rtclock
      add facility for managing realtime signals
      add new realtime event loop abstraction which precise time keeping by using hrtimers on Linux, if they are available
      add test program for pa_rtpoll
      add rtpoll, rtclock, rtsig to Makefile
      add check for ppoll()
      add new option to pa_core stating whether we are running as high prio process
      check pa_core::high_priority before becoming rt thread
      hide rtpoll-test from svn
      add message about hrtimers, and initialize pa_core::high_priority
      add missing #include
      make pa_make_power_of_two() and pa_is_power_of_two() inline functions
      add missing include
      add convenience functions to hook up pa_fdsem and pa_asyncmsgq to an pa_rtpoll; add pa_rtpoll_item_get_userdata(), on EINTR/EAGAIN, reset revents; automatically destory left over items
      reverse hrtimer check, add missing #include
      port alsa driver to make use of new pa_rtpoll object
      support absolute, relative and periodic timers in pa_rtpoll
      minor cleanups
      port remaining sinks to pa_rtpoll
      fix minor typo
      add a copy of the speex resampler to our sources
      build speex resampler tiwce, once for fixed point, one for floating point
      add a small speex wrapper so that we can include both the fp and the fixed-point resampler in the same binary
      a couple of modernizations; parse RE sample types properly
      fix a bad memory access when destructing pa_memimports
      big resampler rework: support integer-only resampling, support speex resampler
      make speex resampler the default
      Copy resampler from ffmpeg into our sources
      add makefiles to speex/ and ffmpeg/ to easy compilation from emacs
      make ffmpeg resampler actually work
      include ffmpeg resampler in build
      lower suspend timeout to 1s
      enable -ffast-math for gcc
      make floating point speex resampler the default
      Add option --dump-resample-methods to list available resampler implementations
      drop check for gid < 500, since this isn't really a security improvement, re: #111
      add new PA_SINK_CAN_SUSPEND/PA_SOURCE_CAN_SUSPEND flag
      make passing a code pointer to pa_asyncmsgq_get() optional
      add pa_timespec_reset()
      add an assert()
      fix pa_memchunk_make_writable(), make memchunk functions return the memchunk they modify
      add new function pa_memblock_ref_is_one()
      move queue processing code into pa_thread_mq
      modernize and make use of a static flist for allocating idxset entries
      reorder initialization of pa_core variables
      Lots of assorted minor cleanups and fixes:
      port module-combine to new core
      - fix suspend handling
      replace a pa_assert() by an pa_assert_se()
      add two new functions pa_make_path_absolute()/pa_getcwd()
      minor reformatting
      make sure that we make include paths absolute before calling chdir()
      add pa_channel_position_to_pretty_string() for usage in pavucontrol/pavumeter
      add pa_channel_position_to_pretty_string() to header
      add a couple of macros for memory page alignment
      make use of new memory page alignment macros, reindent
      make use of new PA_PAGE_SIZE macro
      add new pa_will_need() API for paging in memory
      add new API pa_memblock_will_need() and make use of PA_PAGE_SIZE macro
      add new pa_memchunk_will_need() API, similar to pa_memblock_will_need()
      make use of pa_memchunk_will_need() before handing sample cache audio to the RT threads
      Don't set RLIMIT_MEMBLOCK to 0 on startup. Retain 4 pages
      fix build for dbus < 1.1.1, re #126, patch from Marc-Andre Lureau
      make argument to pa_memchunk_will_need() const
      fix dbus version check for dbus_watch_get_unix_fd()
      Allow compilation without libsamplerate; based on patch from Marc-Andre Lureau; re #125
      add missing configure.ac part of the libsamplerate patch from r1753, re #125
      make libpulse-core a noinst lib, because it does not have yet a stable API and won't get one anytime. Also, don't install its header files
      actually define HAVE_LIBSAMPLERATE with AC_DEFINE
      add new API function pa_resample_method_supported() which tests whether a resampling method is supported. Fix building with libsamplerate enabled
      only list supported resampling methods when --dump-resample-methods is executed
      header file cleanup
      add a new module module-default-device-restore which automatically saves and restores the selected default device. Enable it by default.
      actually add source code of module-default-device-restore
      When in PA_STREAM_AUTO_TIMING_UPDATE mode, delay completion of initialization until we have the first timing data
      initialize libltdl for multi-thread support
      drop initial libtool_lock() call since this is a debian-specific borkage
      add a few missing files for make dist
      create config.rpath to fix build on fedora
      if available, use native gcc atomicity builtins
      fix a couple of compiler warnings
      detect whether gcc atomic builtins are available
      add native amd64 atomic int implementation
      update libltdl copy
      explicitly test for the availability of dbus_watch_get_unix_fd() before using it. The previous version-based check didn't work anyway since the constants checked for weren't set.
      update default config:
      downgrade realtime group membership warning to 'info' at be a little bit more elaborate
      fix copynpaste error
      install libpulsecore again, since libtool otherwise links it statically into every single module
      fix an assert when runnig module-oss in record only-mode. optimize allocation of memblocks on playback
      don't call pa_source_process_msg() for PA_SOURCE_MESSAGE_GET_LATENCY, since it makes querying the latency always fail
      document that the native amd64 atomic ops implementation is incomplete
      hide a couple of files
      update todo file a little
      add pulseaudio logo with text
      make sure that the device volume is properly read before we call pa_sink_put() and thus make the pa_sink available
      beef up comment
      make the memchunk writeable before silencing it
      minor cleanup
      make sure we send each memblock only once when recording, not twice
      simple modernizations: s/assert/pa_assert
      add new API pa_threaded_mainloop_in_thread(), update test case for it
      s/assert/pa_assert/ modernizations
      unify static TLS support, make use of gcc __thread attribute if available
      more s/assert/pa_assert/ modernizations
      Instead of including config.h from header files, check whether PACKAGE is defined and if not, fail (thus using PACKAGE as a check for inclusion of config.h)
      add missing config.h includes
      add globally defined PA_PATH_SEP macro, replacing private per-file macros
      port client libs to refcnt.h
      add 'wait' parameter to pa_rtpoll_run(), if zero pa_rtpoll_runn will only update the struct pollfd but not wait for an event
      More s/assert/pa_assert/ modernizations
      finish modernizations in pulse/, s/assert/pa_assert/g
      more modernizations, s/assert/pa_assert/g
      explcitly initialize tls memory to NULL
      Rework core-error.c on top of PA_STATIC_TLS_DECLARE, the windows specific parts need to be moved to thread-win32.c
      remaining s/assert/pa_assert/ and refcnt.h modernizations
      on systems where we know that POSIX shm is mapped to /dev/shm, add the ability to cleanup stale SHM segments. (Right now only Linux)
      consolidate close() calls to pa_close(), and make sure on every occasion that we handle failures of close() sensibly
      add new pa_pipe_close() API to close two fds at the same time
      change pa_modargs_get_channel_map() to take an extra argument for specifying the name of the modargs attribute to parse
      reindent, and s/assert/pa_assert/g
      add missing config.h inclusion
      extend rtpoll API to allow registration of arbitray functions to be executed in the event loop. Add priority system for specifying the order of these functions.
      make newer gcc shut up
      fix two typos in reference count handling
      call dbus_shutdown() before exiting, to make valgrind output more useful
      add two new macros PA_ONCE_BEGIN and PA_ONCE_END which allow usage of pa_once without declaring a function to be called
      explicitly destory TLS data before destroying TLS
      simplify rt loops a bit by moving more code into pa_rtpoll. It is now possible to attach "work" functions to a pa_rtpoll_item, which will be called in each loop iteration. This allows us to hide the message processing in the RT loops and to drop the seperate sink_input->process hooks. Basically, only the driver-specific code remains in the RT loops.
      Move attaching/detaching from a pa_rtpoll into pa_sink proper, remove it from module-combine
      count corked streams per sink/source and make pa_sink_used_by() return only the number of streams that are not corked. Introduce pa_sink_linked_by() returning the number of streams connected at all. This will allow suspending of sinks/sources when all streams connected to a sink are corked.
      trivial typo
      add frame alignment APIs; don't require memory to be writable when silencing it (required of the mmap modes drivers where the hw data needs to be silenced, although it is not writable to others)
      be a little bit more elaborate on the reason why we drop to software volume control if hw is not featureful enough for us
      add missing header file changes for frame alignment apis
      properly define MAX/MIN macros
      * add a new resampler "copy" which is does not change sample rates but copies data unmodified from input to output.
      add new API pa_mempool_block_size_max() to query the maximum tile size
      split memblocks into multiples of the mempool tile size
      add a "length" argument to the seek functions, as an optimization to request a certain block size if any data needs to be generated. this is merely a hint.
      add a new module module-remap-sink which can be used to remap the channel maps of an already existant sink. one use case is to create a virtual sink that redirects stereo data to the rear speakers of a surround card.
      use gcc const and pure function attributes wherever applicable
      add proper boolean type pa_bool_t
      use priority inheritance on mutexes where applicable
      Add a special ltdl .so loader that avoids lazy frelocations during runtime
      add missing initialization
      on Linu disable lazy binding altogether
      once.c is no longer POSIX specific. Since it is now considerably more advanced than it used to be, use it on windows, too
      drop a couple of WARNING prefixes in log messages, since we have pa_log_warn anyway for marking warnings especially
      Rename pa_strsignal() to pa_sig2str(), since we return the symbolical signal name, not a human readable string. This follows the Solaris API of sig2str() a bit. Also, add all remaining signals to the list of signal names.
      fall back to plughw: if hw: doesn't work
      hide sig2str-test
      add a locale-independant pa_atof() implementation
      print a message when we fall back on plughw
      add LADSPA sink than can be piggy-backed ontop of another sink
      actually close the alsa device before we try to reopen it as plughw
      port module-rtp-send.c to lock-free core
      If PTHREAD_PRIO_INHERIT mutexes are not available fall back to normal mutexes
      make sure we don't call pa_source_post() for a monitor source after it was unlinked
      bug fixes for module-rtp-recv
      add two missing header file inclusions
      add new pa_socket_udp_low_delay() API
      make rtp send socket low delay
      lower SO_PRIORITY priority to 6, since this is the best we get without being root
      make use of pa_bool_t on a few places where applicable; really start work_cb
      properly release memblock always abd as soon as possible
      fall back to plughw:, if hw: doesn't work, in the alsa source, too
      copy free_cb into a temporary variable first, to avoid compiler warning
      make O_CLOEXEC, O_NONBLOCK and socket low latency fd ops more uniform: always return void, name them similarly, only pass a single fd
      fix check for lrintf, make resample2.c again identical to upstream ffmpeg
      fix trivial typo
      make sure we initialize thread private data before we move our ghost sink to the rt thread, not after
      render new data always in the master sink's thread, fixing missing locking
      maintain the attach status in a boolean variable 'attach' accessible from the IO thread for sink_inputs/source_outputs
      rework module-combine again
      properly detach/attach when moving sink inputs
      don't segfault when the master changes
      add CLAMP macro
      clamp sample data to -1 .. 1, before passing it to the plugin; if a control port data specification is left empty, initialize with the default value of the plugin
      allow _unlink() functions to be called as many times as people want, even before _put() was called
      add test program for the resampler
      make use of byte swap builtins of gcc if they are available
      fix selection of working format
      - rework volume adjustment code to not require fp
      rework a couple of sample type converters, to actually work
      prefix by order macros with PA_
      include the name of the master sink in the name for piggy-backed virtual sinks
      minor optimization
      use O_NOFOLLOW when creating PID file, to avoid symlink vulnerability
      use O_NOFOLLOW when creating lock files, too
      instead of using the mixer ioctl()s on the dsp fd, open a seperate fd for the mixer. This allows us the keep the mixer fd open while closing the dsp device while suspending.
      drop the PA_SOURCE_CAN_SUSPEND and PA_SINK_CAN_SUSPEND flags, since they were a bad idea in the first place. All sinks/sources are now *required* to handle suspending in one way or another. Luckily all current sink/source implementations handle it fine anyway.
      don't count streams using the monitor source in pa_sink_used_by(), because this would disallow suspending a sink ehn an rtp stream is connected
      fix stream corking: ignore pa_sink_input() when we are in corked state
      add hooks for name/description changes of sinks/source and streams
      rework zeroconf service publishing, to use synchronous hooks instead of asynchronous subscription events. Don't push autoload entries anymore.
      fix IDLE vs. RUNNING state handling of sinks/sources when changing cork status for streams
      * add new state changed hook for streams
      only post data into the monitor source when it is not suspended
      * decouple suspending of monitor sources and their sinks
      fix suspending in module-combine.c
      fix make dist
      work around newest open() magic in fedora glibc
      make sure when can shutdown PA cleanly without segfault
      fix build with compilers that lack __thread
      Use Linux eventfd() if kernel supports it
      speed up semaphore allocation with an flist
      don't free silence memblocks that don't exist
      only do IO if we are RUNNING or IDLE, but not when we are in INIT
      Allocate rtsigs from back to front, to avoid clashes with other libraries makeing use of rtsigs
      use the full range of RTSIGS for our stuff
      Move the poll() call outside the #ifdef checking for ppoll, since we want the poll in all cases. Prior to this change the check for negative return values of poll/ppoll was never actually executed when ppoll() was available
      rework module-combine once again. We now run the data generation always in a seperate thread. This should help use to avoid all the awful race conditions we had in previously
      treat timer_enabled like a real, grown-up boolean variable
      fix silence initializer for alaw and ulaw
      fix trivial typo
      Fix race condition between IO thread creation and pa_sink_put(). Move activation of rtpoll fds when we change the state INIT->IDLE.
      Move request size handling into pa_memblockq, function pa_memblockq_pop_missing()
      update native protocol to make use of pa_memblockq_pop_missing
      fix poll.h check, bad boy ossman broke
      Fix build; change return value of pa_rtclock_hrtimer() to pa_bool
      add new API function pa_timeval_store()
      fix build
      s/timespec/timeval
      add missing poll.h inclusion
      add missing poll.h inclusion
      add missing poll.h inclusion
      fix url
      Properly handle if ALSA sends us an POLLERR event, this should allow us to survive a system suspend cycle better
      add interleaving/deinterleaving APIs
      minor fixup
      Port JACK sink module over from old core
      enable jack sink in Makefile
      also port over JACK source to new core
      properly copy error string
      add definition of PA_USEC_PER_MSEC
      add better time interpolator: use linear regression to determine gradient from
      fix alsa mmap initialization bogosity, discovered by Jyri Sarha
      hide smoother test
      add pa_timeval_load() API
      add pa_rtclock_usec() API
      add missing pa_smoother destructor
      modernize pa_iochannel a bit, add pa_iochannel_get_send_fd()
      add ability to "pause" the input time temporarily. don't accidently overwrite variables we still need.
      minor fixups, to make the test more deterministic
      minor fix to make gcc shut up
      minor cleanup
      don't use SIGRTMAX, for compatibility with valgrind which apparently uses this signal
      port module-esound-sink to new core
      don't use errno on EOF
      fix error handling
      Merge r1473 from trunk (mixer ioctls on /dev/dsp)
      Merge r1503 from trunk: Make -no-undefined actually work (and fix up error found by it).
      Merge r1505 from trunk: Make sure we link to the core to get all symbols.
      Merge r1504 from trunk: Solaris hides inet_ntop in nsl
      Merge r1502 from trunk: Move pthreads detection as it gets confused by things in LIBS.
      merge 'lennart' branch back into trunk.
      add missing dependency on socket-util
      make speex-float-3 the default resampler
      add new pa_readlink() API
      make use of new pa_readlink() where applicable
      use real path of binary instead of /proc/self/exe to execute ourselves
      properly deal with time pausing
      downgrade a few log messages
      bring back module-tunnel, yay!
      fail on name clash
      export pa_namereg_is_valid_name()
      publish dns-sd subtypes to allow distinction of virtual, hardware and monitor sinks/source
      add new module module-zeroconf-discover
      add new API pa_strlist_reverse()
      reverse server order for PULSE_SERVER x11 property, to follow order in which modules are loaded
      we don't want to include assert.h anymore
      make gcc shut up a bit more
      ignore network sinks/sources
      don't try to send pause request before our stream is properly set up
      don't announce monitor sources
      keep track of configured tunnels and make sure to unload them when they disappear from zeroconf again
      deal properly with signals interrupting us when we wait for data from gconf helper
      remove libltdl from SVN
      initialize userdata struct with 0
      rework the tunnel naming scheme, and make it follow the description changes of the underlying devices; never check for tagstruct eof, to ease later extensions
      ignore updates not relevant to us
      rename stream names too, when the sink name changes
      handle tcp4: prefix for server specs correctly. (Closes #136)
      rename 'length' parameters in the API to 'bytes', to make their unit clear
      make make distcheck pass
      make sjoerd happy: include ChangeLog built from svn logs in tarball
      bump sonames
      save and restore errno in the sig handler
      add new function pa_yes_no()
      fix comment
      make the bool config parser actually parse bools
      more pa_boolization
      pa_boolize the client config
      add nice and rtprio resource limit support; make rtprio and nice level to use configurable; some minor updates
      save and restore errno in sig handler
      add new option --realtime
      drop rt scheduling before we start our helper process
      make rtprio and nice level actually configurable
      make disallow-module-loading config option work again (original patch from Diego Petteno)
      add missing pthread libs
      comment the library versions a bit
      Add linker version script to hide non-ABI stable symbols in the client
      Properly terminate pa_readlink() strings. Patch from Sjoerd Simons. Closes #149
      add eventfd syscall nr for arm; patch from Sjoerd Simons; Closes #150
      pa_boolization
      fix two alignment issues found by the debian buildd gcc on sparc
      add a man page for the pulseaudio binary. More will follow.
      add a couple of more man pages
      minor cleanups of --help texts
      complete pactl man page
      add man pages for padsp, pabrowse, pasuspender
      warn if the sound server is not local
      add remaing man pages
      strip most comments from the default configuration files, since the man page is now more elaborate and we don't want to maintain those docs redundantly at two places
      parse the pasuspend argument like any other boolean in PulseAudio
      add support for likely()/unlikely() type macros
      add PA_CLAMP_LIKELY and PA_CLAMP_UNLIKELY macros
      add a few missing macro definitions
      add missing #include
      fix CLAMP_LIKELY/UNLIKELY definition
      add support for 32bit integer samples
      .la files for modules can probably be removed safely on all archs now
      remove PA_CLAMP_LIKELY macro because it doesn't really make sense.
      replace a few CLAMPs by PA_CLAMP_UNLIKELY
      optimize mixing code a bit. Add mixers for S32LE, S32BE, ULAW, ALAW and FLOAT32BE. Add volume adjusters for FLOAT32BE, ALAW, ULAW.
      minor typo
      tag modules that may only be loaded once at most especially, and enforce that in the module loader
      add a simple fully-automatic fully-linearupmixer/downmixer and enable it by default
      add new function pa_strnull() to simplify passing null strings to non-linux printf()
      pull code for starting helper processes out of module-gconf, clean it up, and stick into a new API pa_start_child_for_read()
      Port module-gconf to make use of the new API pa_start_child_for_read()
      add new fun module that automatically mutes your audio devices when you leave with your bluetooth phone, and unmutes when you come back
      fix loading of load-once modules if no other modules was loaded before
      Completely rework ALSA device selection code: choose the device to open depending on the requested number of channels and channel map. In most cases it will now suffice to set default-channels=6 to enable 5.1 sound for all devices that support it
      increase the pacmd timeout a bit
      don't touch RLIMIT:MEMBLOCK by default. This should improve out-of-the-box comaptibility with JACK
      don't fail if the bt-proximity-helper is not built
      add array size to increase chance of detecting missing updates
      Rework ALSA mixer channel detection code. This time we actually care about the channel names the ALSA mixer exports for us
      add missing pa_boolization
      use a free list for allocating reply_info structs
      use a free list for allocation pa_operation objects
      use a prio inheriting mutex for the threaded mainloop, to ease writing of RT clients
      add interface to PolicyKit
      build PolicyKit support
      detect whether PolicyKit support is available
      add API to allow runtime reconfiguration of memblockqs
      add a couple of new opcodes, and document the versions the opcodes where added
      add short version history of the PA protocol
      minor typo fix
      - Check process name when dealing with PID files
      increment api and protocol version
      when speaking to a client with a version < 12, hide S32 sample specs, and make them appaear as FLOAT32
      update man pages a bit
      bump version and soname
      Tagging release 0.9.8
      update speex resampler with newer snapshot from Speex SVN
      fix uploading of samples into PA. Problem discovered by Colin Guthrie
      make sure to create ~/.pulse before using any configuration file from it
      add new endianess macros for FLOAT32
      add new pa_mutex_try_lock() API
      rearrange #includes
      Add new subsystem for applying envelopes (such as volume ramps) to audio signals
      add new property list implementation
      hide proplist-test
      wrap speex_resampler_reset_mem()
      add API for resetting allocated resamplers
      add new function pa_proplist_contains()
      convert argument to boolean value before passing it on to __builtin_expect in PA_LIKELY
      use __BYTE_ORDER macro for detecting byte order, as suggested on http://unixpapa.com/incnote/byteorder.html
      prepare 0.9.9
      fix CVE-2008-0008.patch
      bump revision
      deal with a possibly failing pa_channel_map_init_auto() correctly
      Improve compatibility with applications which like to pass invalid strings to the libc functions we overwrite, by handing directly to the original function. Patch by Colin Guthrie and Gustavo De Nardin, Closes #227
      print pa version id each time we start up, so that it is easier to identify the version people are reporting bugs again
      look for timer_create in librt, Closes #210, patch supplied by matthijs
      explicitly recommend the usage of -- in the pasuspender command line, Closes #203
      allow compilation on systems that lack POSIX shared memory. Patch from matthijs, closes #200
      only call pa_ltdl_done() if we called pa_ltdl_init() before
      change policy file to not show polkit auth dlg by default
      work around solaris printf %s and NULL string brain damage
      create glitch-free branch
      really create glitch-free branch
      commit glitch-free work
      commit glitch-free work
      commit glitch-free work
      commit glitch-free work
      commit glitch-free work
      remaining bits and pieces
      add proper arm atomic ops support, patch from Jyri Sarha
      Abort instead of cleanly exiting, so we can obtain a core dump and find out
      add vendor data to pk policy file
      rename polkit policy file to org.pulseaudio.policy to follow upstream guidelines
      modernize polkit code a bit, use new functions from pk 0.7 instead of our home-grown ones
      Attempt to resolve the multilib conflicts by getting all the config files
      Double maximum sample size for some overly huge samples some distros ship
      make loading of a few more modules non-fatal
      create branch for 0.9.10
      bump revision
      merge r2078 from trunk
      merge r2074 from trunk
      merge r2073 from trunk
      merge r2075 from trunk
      merge r2076 from trunk
      merge r2077 from trunk
      merge r2079 from trunk
      merge r2081 from trunk
      Enable per-user esound sockets by default. Esound CVS already enables this by default, and all sane distributions ship a patched esd anyway. And those which do not should get a life and start patching esd
      copy originial l2ping license from bluez into bt helper
      merge r2083 from trunk
      merge r2145 from trunk
      merge r2084 from trunk
      merge r2090 from trunk
      merge r2091 from trunk
      remove a redundant if check
      merge r2092,r2093,r2094,r2152 from trunk
      merge r2095 from trunk
      merge r2096 from trunk
      merge r2097 from trunk
      merge r2098 from trunk
      merge r2104 from trunk
      merge r2105 from trunk
      merge r2106 from trunk
      merge r2107 from trunk
      merge r2108 from trunk
      merge r2109 from trunk
      merge r2110 from trunk
      merge r2111 from trunk
      merge r2112 from trunk
      merge r2113,r2214,r2115 from trunk
      merge r2116 from trunk
      merge r2117 from trunk
      merge r2127 from trunk
      merge r2128 from trunk
      merge r2129 from trunk
      merge r2130 from trunk
      merge r2131 from trunk
      merge r2132 from trunk
      merge r2133 from trunk
      merge r2134 from trunk
      merge r2146 from trunk
      initialize gconf module before we publish our X11 credentials -- because gconf might cause network support enabled in the first place
      merge r2179 from prepare-0.9.10
      properly notify clients about suspended state when moving source output streams. Closes #244. Patch from slicer
      work around yet another solaris braindamage
      Fix ioctl() definition for solaris compat. Patch from yippi. Closes #253
      actually set lennart to the user name, not the group name. Set lennart too.
      if we are run as root, always use 'root' as username, regardless of any env vars
      don't segfault when module-tunnel is used without a sink_name/source_name parameter. Closes #197
      don't fail on init if the default device does not exist and .nofail is active
      merge r2187 from trunk
      bump soname
      require autoconf 2.60 since we use AC_PROG_MKDIR_P
      fix compiler warning
      avoid name clash with libc's remove() function
      make pa_drop_caps() abort on failure
      rework pa_assert_se() to make sure it never gets optmized away, even if NDEBUG is defined
      fix buildsystem to provide pa_log() in all binaries
      merge r2182 from prepare-0.9.10
      merge r2183 from prepare-0.9.10
      merge r2184 from prepare-0.9.10
      merge r2185 from prepare-0.9.10
      merge r2186 from prepare-0.9.10
      merge r2187 from prepare-0.9.10
      merge r2190 from prepare-0.9.10
      merge r2189 from prepare-0.9.10
      merge r2191 from prepare-0.9.10
      merge r2192 from prepare-0.9.10
      merge r2193 from prepare-0.9.10
      merge r2194 from prepare-0.9.10
      merge r2195 from prepare-0.9.10
      merge r2136 from prepare-0.9.10
      update copyright year
      fix caps stuff for crazy people who disable caps
      catch up with trunk HEAD (i.e. 2118:2213)
      - deprecate autoload stuff
      mark libpulse-browse as obsolete
      drop support for periodic timers, cleanup code a bit
      propery calculate min_avail in frames instead of bytes. don't use device_id= parameter in alsa modules if parameter wasn't specified
      add utility functions to dump alsa PCM state
      fix bug where we silently dropped data that didn't fit into one mempool tile
      call snd_pcm_hwsync() expclicitly before we access any of the status fields, since this seems to be necessary. try to find the right mixer device via the card index
      include proplist.h in doxygen docs
      bump protocol version
      add new latency argument
      export both min and max latency that is configured for a sink; add API for querying the requested latency of a sink/source from the main thread
      show configured latency and its ranges
      init min/max latency properly; fix avail_min updating
      remove doxygen \since tag for API changes older than 0.9; properly implement new latency query APIs
      implement server side of new sink/source reconfiguration commands
      add new pa_proplist_setf() API function
      add new describe-module CLI command
      move gccmacro from pulsecore/ to pulse/
      fix proplist serialization
      add new API pa_rtclock_from_wallclock()
      increase version of required ALSA to 1.0.16. check for gdbm
      add new module module-device-restore
      add gccmacro.h to doxygen docs
      fix bad memory access when initializing client proplist
      remove gcc macros from cdecl.h because we have them in gccmacro.h now
      add new API function pa_timeval_add()
      fix bit depth guarantee for pa_usec_t
      add C++ safety to header file
      remove misplaced PA_GCC_PURE
      mark autoload functions as deprecated
      make use of new alsa SND_PCM_NO_AUTO_xxx flags; redirect alsa errors to normal PA log system
      redirect alsa errors to normal PA log system; export buffer settings in device props
      don't use fqdn if we don't have to
      fix linker warning macro code, move pa_strnull() to core-util.h, move PA_LIKELY definitions here from gccmacro.h
      don't print 'signal' each time a rtpoll poll() call is canceled
      update list-xxx commands a bit
      don't fail if a signalled writability of STDOUT is no longer true when we try it because some other thread already wrote something
      make shm magic marker compat with multiarch systems where 64bit and 32bit processes might share SHM areas
      add new PA_GCC_PACKED macro
      mark shm marker struct as packed, to guarantee identical sizes between archs
      fix packet formatting for a few commands
      fix help string for volume commands
      add new pa_get_state_dir() function, move pa_strnull() here
      properly initialize ->memblockq
      dump all info we know about sinks/sources/... in pactl
      register sink/source name as first step when creating a new sink/source so that we can hand the valid name string to the hook functions; se tup props for monitor sources correctly; fix implicit flag setting logic
      s/pulsecore\/gccmacro.h/pulse\/gccmacro.h/
      add missing 'break's in switch
      add _cb suffix to _max_rewind function like with all other functions, too
      make sure to clear all queued RT signals before arm a new timer
      properly ask the sink to rewind on new sink inputs and when they disappear
      the pointer to rewind() may actually be NULL
      define PA_xxxSEC_PER_yyySEC for usec, too
      add new rtstutter tool which can be used generate artifical scheduling latencies in the OS to trigger buffer underrun events in your software. it's an awesome debug tool for glitch-free; also move test programs from automake's check_ back to noinst_ to make sure it is built everytime Lennart presses F9 in his emacs
      print a message on xrun
      add new API function pa_memchunk_memcpy()
      add new silence memblock caching subsystem
      remove debug messages
      add new pa_pstream_get_shm() API, rename pa_pstream_use_shm() to pa_pstream_enable_shm(); pa_bool_t-ization
      follow pa_pstream_use_shm->pa_pstream_enable_shm rename
      add lower boundary for artifical latencies
      increase the default pool size to 16MB because we now need to keep a lot more memory around due to glitch-free.
      split user supplied data in multiple memory blocks if necessary to fit in one mempool tile. If the caller supplied a free_cb and we use shm it's better to copy the data immediately to the shm region instead of keeping it around as user memblock
      update to recent changes of proplist api
      we have not periodic timers anymore
      fix for new location of gccmacro.h
      maintain a global silence memblock cache
      Big pile of dependant changes:
      rename sink_input->rewind to process_rewind() and set_max_rewind to update_max_rewind()
      drop a redundant pa_init_proplist(), properly set MEDIA_NAME property on stream, not on context
      use the sink description instead of the name to choose the description for the monitor source
      initialize properties for ALSA sinks/sources more elaborately, re #277
      fix C++ compat
      improve dB volume calculation
      properly initialize memblock->is_silence for imported memory blocks; make is_silence and read_only a bit field
      - Change meaning of special values of latency request: 0 -> "minimal latency, please"; (pa_usec_t)-1 -> "don't care"
      make sure the client buffer has space for 2*minreq+tlength. Explain why
      implement --process-time
      add new function pa_alsa_recover_from_poll() to merge common core from module-alsa-sink and module-alsa-source
      if no latency was configure for a sink/source, fill in the max latency automatically
      if no timer was armed, we don't need to disarm it
      some beautification updates, show msec instead of usec everywhere
      show configure latency metrics
      * don't increase tsched_watermark on underrun without limits
      do not fix automatic buffer attrs anymore, the new protocol version doesn't need this anymore and it creates more problems than it solves. Also drop the initial timing info query. Correct programs shouldn't depend on it anyway
      drop a misplaced newline
      unify code that fixes up buffering metrics
      add new function pa_alsa_build_pollfd() to alsa-util to unify a bit more common code from the sink and the source
      add missing header definitions for last commit
      respect the resampler's maximum block size to avoid that we get kicked out of the memory pool due to resampling. actually drop data from the delay queue after we used it
      pa_bool_t'ization
      add new tool 'stripnul' which can be used to drop leading zeros from a file which is useful to do byte-by-byte comparison of what goes in and comes out of PA
      Big pile of interdependant changes:
      add stripnul to build
      fix build for auxiliary modules
      fix size of requested_latency
      define minimal and maximal wakeup/sleep times; check for underrun condition only once during buffer fillup
      save errno before calling free()
      a bit of pa_bool_t'ization
      make check for $DISPLAY=="" more readable, pa_bool_tization
      * Increase history set to 64 to simplify reduction of indexes
      strip CRLF line breaks from read CLI commands. This should fix the cli interface for people accessing it via telnet.
      add new function pa_sample_clamp()
      port pa_sample_clamp() to liboil
      don't allow overwriting of callback pointers when we're already dead
      check for $PULSE_INTERNAL before enabling padsp
      minor reformat
      save and restore errno in log functions
      change pa_rtpoll_set_timer_absolute() to take a pa_usec_t instead of struct timeval
      install gccmacro.h properly, drop  unused core-def.h file
      parse boolean parameters as boolean instead of int wherever applicable. add new function pa_cli_command_execute_file_stream()
      some minor updates
      move unlinking code to operation_unlink()
      Yes, yet another evil all-in-one commit of intervowen changes. I suck.
      don't enable prebuffering if we just call is_readable()
      add multiarch paths to default LADSPA search path
      some modernizations
      fix a compiler warning
      reorderer a few things
      a few modernizations
      only send PA_SINK_MESSAGE_SET_STATE if there's still an asyncmsqg around to do so
      don't require a module name when resolving a dl symbol
      make sure to call sink->update_requested_latency() always when we change latency, same for source
      send PA_SINK_MESSAGE_REMOVE_INPUT only when an asyncmsgq is available, reset resampler only when we really need to
      follow _unlink() changes from sink-input
      when rewinding after the end of an underrun, make sure to rewind as much as we can, so that we deal properly with changed latencies of the sink
      explain why a rewind was requested
      update LADSPA module for glitch-free moed
      fix remapping sink for glitch-free
      add a few more asserts, don't allow pa_limit_caps() to fail
      rename 'routing' to 'filter'
      explain why changing rlimits at this time is safe
      define callback function types; allow pa_signal_done() to be called even without prior pa_signal_init()
      decrease verbosity a bit
      rework the rewinding logic once again, fixing
      update to new rewinding logic
      beefup proplist handling for sound events
      make memchunk/memblockq streams work with glitch-free
      fix a memory leak
      apparently alsa expects us to free the memory for card names
      fix a race condition when tearing down the ladspa/remap sink
      double default asyncq size
      fix recording
      fix some comments
      bah, english sucks
      make sure the smoother code can deal with incoming data that is out-of-order; start smoothing only when we have at least a configurable number of entries in our history
      modify test to generate data events out-of-order
      - Fix moving of sink inputs between sinks
      fix module-sine for glitch-free
      if zero is passed to pa_memblock_new() allocate largest memory block possible from mempool
      store peer name in native-protocol.peer property
      some fixes to make the simple protocol work on glitch-free again
      some fixes to make the esound protocol work on glitch-free again
      fix braindead mistake
      fix pipe sink for glitch-free
      update pipe source for glitch-free, too
      don't spam us with wakeup msgs in non-tsched mode
      initialize volume properly, set more properties, modernizations
      modernizations
      modernizations
      add pa_memblockq_get_nblocks()
      add pa_ulog2()
      add PA_REFCNT_INIT_ZERO
      add 'stream' as media role
      use pa_bool_t
      more pa_bool_t'ization
      reduce number of allocated memblocks when receiving RTP data by reusing blocks
      increase shm size limit, modernizations
      increase default mempool size, make mempool_slot an abstract struct because the only fields it defined where actually unused
      export a few more properties for RTP streams
      add adaptive resampler to the RTP receiver, other modernizations
      add pa_vsnprintf()
      reduce malloc() usage when logging, to minimize the hit of logging in RT threads. Not complete yet, i18n still uses malloc
      Print message when stream started playback, use terminal sequence to clear line when printing that message
      export a couple of more functions from libpulse
      fix suspend for alsa sink
      don't access stream before it is valid
      fix moving of record streams
      fix up requested latency when we move a record stream
      decrease default tsched buffer to 2s to reduce overall memory consumption
      follow recent alsa sink changes in the alsa source
      update protocol spec
      merge glitch-free branch back into trunk
      also update PROTOCOL
      bump so revisions
      declare the explicit type for our PA_xSEC_PER_ySEC constants
      fix a minor compiler warning
      type fixes for constants
      type fixes for constants
      fix pa_stream flag checking
      fix peak detection pseudo resampler
      dump latency metrics for recording streams, too
      only unref memblock if there is one
      add new function pa_source_set_latency_range(), fix type of requested_latency
      link latency of monitor source to sink
      use pa_sink_set_latency_range() where applicable
      use pa_source_set_latency_range()/pa_sink_set_latency_range() in the ALSA drivers; fix sleep time calculation
      use pa_source_set_latency_range()/pa_sink_set_latency_range() in the ALSA drivers; fix sleep time calculation
      add another assert to catch sleep time miscalculations easier
      fix return value of noop pa_limit_caps()
      fix a misplaced assert
      fix pa_close_all() to make it actually work as advertised
      make sure we don't hit an assert when autospawning
      remove a misplaced assert
      add a small test program for pa_close_all()
      ignore close-test binary
      fix daemon shutdown with active monitor streams
      add new functions pa_state_path()/pa_get_state_dir(), change return value of pa_startswith()/pa_endswith() pa_bool, add pa_in_system_mode() and pa_streq(); alow pa_unlock_lockfile() without file name spec
      add O_NOCTTY
      fix a compiler warning
      make state and config path for system instance configurable
      properly handle if pa_runtime_path() fails
      deal with failing pa_runtime_path()
      define PA_SYSTEM_CONFIG_PATH and PA_SYSTEM_STATE_PATH for C
      move volume restore table from runtime to state dir, fix another compiler warning
      move default device from runtime to state dir
      move device volume file to state dir
      big mumbo jumo of interleaved patches.
      fix a minor memory leak
      readd name field to upload datagram
      fix esound proto to not crash
      always expect name field in upload datagram
      never hand out more data from a sink input than requested. Otherwise the resampler might run for too long and we get a heavy delay/underrun
      allow on-the-fly deleting of hashmap entries wile we iterate through them
      update props
      fix a compiler warning on ARM due to missing cast, patch from Jyri Sarha
      update well-known property list
      replace pa_atof() by pa_atod() because floats are lame
      add new module module-position-event-sounds for positioning event sounds in space
      add new module-console-kit which tracks ck sessions to avoid termination when there is still some session using the PA instance
      install auto unload time event only when we have at least one auto unload module
      reformat things
      move pa_core_check_quit() a bit later
      don't exit when the XSM signals us a session exit. instead just unload all X11 modules
      add new switch --start to the PA binary which allows starting PA if it is not running yet. In contrast to normal startup an already running PA will not be considered an error. Also, take the autospawn lock so we can guarantee that after this call returns PA is ralive and running
      enable ConsoleKit support and positioned event sounds by default
      enable auto-spawning by default
      merge Colin Guthrie's module-always-sink module, and add priorization to the hook subsystem while doing so.
      drop hal inclusion from module-console-kit.c
      fix a minor memory leak when unloading m-c-k
      sometimes a simple memset() is much faster
      consider passing the same argument twice to a module an error, also consider a variable name without following = an error
      rearrange things
      fix a bad memory access pulsecore/client.c
      update todo
      avoid division by zero when informing user about unloaded lazy samples in the sample cache
      minor modernizations, increase unload timeout to 60s
      add missing inclusion
      add new functions pa_socket_is_local() and pa_socket_address_is_local()
      make use of the new pa_socket_address_is_local() function
      add new function pa_iochannel_socket_is_local()
      a few modernizations
      use new pa_sink_set_latency_range() in null sink
      check for packet size on server info data
      add Nokia copyright
      add pa_memblockq_get_base()
      add missing const to a few functions
      move pa_init_proplist() to proplist-util.[ch]
      make use of the pa_init_proplist() version in proplist-util.[ch]
      minor modernizations
      rework shm usage negotiation; merge a few pa_bool_t in a single bit field to save a bit of memory; drop redundant implementation of pa_init_proplist()
      server side of new shm negotiation scheme; fix a bad memory access
      bring module-tunnel back to life
      limit the prebuf value by tlength
      reset prebuf if it is too large
      fix man page xml
      if building a man page fails remove the output to make sure that calling make repeatedly will actually work
      Add a small README with the new git URLs and stuff
      Add a .gitignore file for the src/ directory.
      add another .gitignore file, this time for pulse/
      add missing gitignore files
      get rid of svn $ keywords
      remove remaining $
      ignore tarballs
      add new API pa_channel_map_init_extend() to synthesize a channel map if noone is known
      make user of pa_channel_map_init_extend() wherever it makes sense
      remove trailing spaces
      add new remix= parameter to remap sink
      add new function pa_smoother_reset()
      add new abstract device class
      fix interpretation of remix parameter
      Rework module-combine to work with glitch-free core; add new max_request field to pa_sink
      Request a rewrite immediately after we have been linked, so that playback starts immediately
      allow sinks to be created with max_request initialized to 0, so that the data can be filled in later when attaching to some piggybacked sink
      execute detach callback before we change the state to UNLINKED
      since the sink is unlinked before the sink input we need to make sure we don't call any function for unlinked sinks from any sink input callback
      call the right function in the right context
      Don't fail when we cannot determine the lock file path
      Properly check for home directory
      fix deadlock when resuming oss sinks
      support file-based capabilities instead of SUID root for giving PA rights to acquire RT/HP scheduling: setcap cap_sys_nice=ep /usr/bin/pulseaudio
      include proplist.h in pulseaudio.h
      don't refer to nonexisting pa_stream_read() function
      call update_source_requested_latency callback for source outputs only when it is set to non-NULL
      Merge branch 'master' of git://git.debian.org/git/pkg-pulseaudio/pulseaudio-upstream
      choose more sensible default buffer sizes for old clients
      fix return value of pa_namereg_make_valid_name()
      call the enum PA_STREAM_NOT_MONOTONIC and make PA_STREAM_NOT_MONOTONOUS an alias for that
      fix up monotonicity of input to _get() instead of hitting an assert
      fix up if the smoother shall be resumed 'before' it was actually paused
      use the bight lighter _silence() instead of _flush() when destructing our little q
      comment two functions in memblockq.c
      split pa_memblockq_flush() into two flush commands, one which fixes up the read ptr, and one which fixes up the write ptr
      properly initialize pa_stream::corked based on the flags
      remove redundant check
      use the newer name for monotonic/monotonous
      make sure to call process_rewind() under all circumstances before we do the next loop iteration
      convert to double only once, and make sure we can deal with negative results of -y
      unify smoother pause/resume handling in a single function check_smoother_status()
      move initialization order of validity bools around a bit
      add a FIXME
      reorder a few things to get rid of an uneeded comparison
      rework logic to request automatic timing updates a bit
      some svn->git updates in the Makefile
      always forward rewind requests to the sink, and don't abort on nbytes=0
      cork/uncork before we ask for the rewrite, to make sure the rewrite actually gets trhough
      fix crash when using sync'ed streams
      use (uint32_t) -1 to signify default buffer_attr values instead of 0, to allow prebuf=0
      fix underrun detection for prebuf=0 streams
      fix typo in man page, closes rhbz #447355
      some modernizations
      save some memory by increasing the dynamic array at a slower rate
      rename pa_queu_is_empty() to pa_queue_isempty() to follow idxset/hashmap nomenclatura
      some modernizations
      rework the flist implementation to halve memory consumption by merging the state field and the pointer in the flist cells
      modernize hashmap implementation a bit, reduce memory consumption a bit
      halve memory consumption of mempool flist, since we know we cannot have more than n_blocks entries in it
      modernize idxset a bit, reduce memory consumption, get rid of pa_idxset_foreach()
      save a bit of memory
      handle rewind requests
      handle rewind requests
      simplify handling of rewrite requests
      update ffmpeg resampler from upstream SVN
      update speex resampler
      add additional file when updating speex resampler
      ignore ~ files
      make sure we call pa_sink_process_rewind() under all circumstances if a rewind was requested before we call pa_sink_render()
      add proper update_max_request handler to native protocol streams
      get rid of our internal copy of the speex resampler. Instead, link against a system-installes libspeexdsp
      try to bypass alsa softvol, since it is broken when used with snd_pcm_rewind()
      forward process_msg calls to the generic source handler, not the generic sink handler
      fix gconf autoconf check
      prepare doxygen docs for 0.9.11
      enable exit-on-idle by default
      don't drop caps if we are started as normal root user
      make missing gdbm fatal (spotted by Betelgeuse)
      bump alsa dep to 1.0.17
      don't break if we fail to resume access to an audio device
      allow module-x11-xsmp to be loaded more than once
      follow consolekit's recent D-Bus API change, original patch from William Jon McCan
      bump api verson
      add missing pieces for new startup logic
      reset dbus error struct before retrying parsing messages
      hide start-pulseaudio-x11
      fix destruction of dbus modules: make sure we don't leave filter function registered after unreffing the dbus connection
      make module-hal and module-ck live together in peace

Pierre Ossman (422):
      Creating branch for patches from Pierre Ossman
      Big cleanup of the build structure.
      Since README is generated conditionally we must make sure there are no
      Remove unused automake conditional.
      Check for OSS by looking for its header. Win32 isn't the only platform
      Abstract the gettimeofday call into a utility function to ease porting.
      Remove unnecessary dependency on timeval definition.
      We have a generic function for extracting the filename, let's use it.
      Fallbacks for systems that do not have getaddrinfo(). Does not handle
      Glob is not present on all systems.
      SIXCPU isn't present on all platforms. Replace cpulimit with dummy functions
      Syslog is not present on all platforms.
      To access the new pa_gettimeofday() we need to include util.h.
      The standard declares some signals as optional. Make sure we handle
      Remove any warnings about incorrect type to setsockopt() (char* vs void*).
      AF_UNIX and PF_UNIX is more portable than the _LOCAL equivalent.
      Handle when the platform doesn't have UNIX sockets.
      PIPE_BUF has nothing to do with the esound buffers.
      Fix some compiler warnings about unused variables.
      inet_ntop can't be found on all platforms. Do a stupid emulation when
      Fix warning.
      Two variables with the same name causing corrupt strings.
      Esound latency should not include buffer length. This added an extra second
      Don't include sys/socket.h in the header when we do not need to.
      Fix correct type.
      Old kernel headers didn't define the input_id structure. Therefore we cannot
      Fix printf string.
      Make sure the array is never too small.
      Compiler warning about uninitialized variable.
      SIGQUIT is an optional signal.
      Fall back to signal() when sigaction isn't supported.
      There was a race condition here that caused latency calculation to fail
      Handle platforms that do not support the UNIX user/group database.
      Fix indentation.
      Remove ftruncate test since we're not doing anything with the result.
      Fix test for mkfifo(). HAVE_MKFIFO is only generated as a config.h define by
      Emulate poll() through select() where needed.
      Use pa_get_path_filename() instead of duplicating code.
      Make sure all socket headers are protected by ifdefs.
      Protect sys/wait.h with an ifdef.
      We need explicit actions here.
      Add possibility for linking semi-static executables (libtools definition
      No need for conditional generation of symdef files.
      Add option to select which modules get linked in during static builds.
      Make it possible to disable caps support since it breaks fully static
      ifdef-protect setpgid and setsid.
      config.h should always be included so that necessary fixes can take effect.
      Stub uses socket defines so include the header.
      PATH_MAX is defined in limits.h.
      No regexp funtions are used in this file.
      Protect getuid() with an ifdef.
      c was used before it was assigned.
      ctime_r() is not available everywhere.
      Replace paths with defines.
      Protect sched.h with ifdef.
      Protect sys/resource.h with an ifdef.
      Protect pthread.h with an ifdef.
      Port to Windows. This is mostly glue layers for the poor POSIX support
      The Windows sound interface module.
      Solaris support.
      Ignore windows exe:s.
      Use autoconf detected define for getgroups() type.
      Reversing incorrect commit.
      Make sure the data gets endianness conversion.
      Make the tagstruct handling safe on machines with alignment restrictions.
      Condense winsock includes and defines into one header.
      Generalise lstat fallback.
      Merge with trunk.
      Update comment for pa_lock_fd() to reflect that locks are mandatory
      Put inet_ntop() emulation in a seperate file.
      getopt_long resides in libiberty on many platforms.
      Move library checks to a separate section and make sure it's before
      Static libs bork the creation of dlls and AC_CHECK_LIB isn't very bright,
      Make sure socklen_t is defined.
      Add some required headers.
      Unfortunately Windows has two different values for EBADF depending on
      Add needed error code.
      buf is needed on Windows aswell.
      Accidental use of a swapped int.
      Store previous reported time in order to assure a monotonic clock.
      Make sure the caps header check can also be disabled.
      Handle Windows paths when normalizing authkey path.
      Our makefiles work just fine on older automakes (1.7 tested). Let's keep
      Remove the old compiler flag test now that we have a new shiny one.
      Many (FSF and Sun at least) have interpreted the C99 standard in a way
      If the card couldn't do duplex when required we would incorrectly return
      Used 0 as an invalid fd. Changed to -1.
      Some drivers (via82xx) doesn't start recording until we read something.
      Some crappy hardware generate noise on the output when reading input. To
      Under win32 we freed the wrong pointer causing a segmentation fault.
      We need a logical, not an arithmetic shift here. So use unsigned types when
      Ugly hack to get around Solaris particularly brain dead sound system.
      Open the device in non-blocking mode.
      Fix so that peer name can be determined on Windows. We do not support console
      Use AC_SEARCH_LIBS instead of AC_CHECK_LIBS since it is a lot smarter and
      We get the -lcap through LIBS, so no need for CAP_LIBS.
      Remove the version number from the module directory. Makes life easier
      Print an error message before aborting.
      Breaks missing from conversion to a switch statement.
      Fixes for the new infrastructure so that the solaris module compiles.
      Fixes for the new infrastructure so that the waveout module compiles.
      Reverting an incorrect checkin.
      Volume adjustment must be done _after_ dropping the chunk since drop will
      Use defines and not hard coded values for volume levels. Caused incorrect
      Fix endian conversion macros and reformat them to be a bit more readable.
      Let's have just one endian conversion macro suite.
      Install the new headers for channels and volume.
      Fix some new alignment bugs in the tagstruct handling.
      Split mainloop_iterate() into three, distinct parts. Allows for more flexible
      Add function to "wake up", i.e. interrupt, a running poll(). This is needed
      Fix api. Setting volume is done through a pa_cvolume struct, not a pa_volume_t
      Reorganised the source tree. We now have src/ with a couple of subdirs:
      Move the util libs to the modules section since they're in that directory.
      Cleaned up the includes after the restructuring. Indicate which headers are
      Make sure that all polypcore headers are installed.
      Integrate error routines into libpolyp. Not much point in having this as a
      Fix typo in #ifndef.
      Fix path to poll.h.
      Module needs stuff in libpolypcore.
      Ignore generated win32 binaries.
      Have a memblock queue on the client side during recording. This makes the
      That's a delta parameter, not a size parameter.
      Properly clear members during init.
      util.c uses some socket functions so we need winsock on Windows.
      Remove a debug fprintf that was left in.
      Detect support for Solaris (/dev/audio).
      Detect support for Windows' waveout.
      Add mute switch to todo.
      Fixes for the Solaris detection.
      Hardware volume support for Solaris.
      Fix some warnings by making sure we have the right signedness on things.
      Add aligment fix in esound to todo.
      Hardware volume support on Windows.
      update todo
      Remove polyplib-error and polyplib-mainloop for requirements.
      Support for setting volume on sources.
      Wrong userdata used to init operation.
      Hardware source volume support in OSS.
      Make sure hardware volume gets a correct initial value.
      Wrong function name.
      Update hardware volume to a correct initial value.
      Add inet_pton emulation for platforms that lack it. Only support IPv4 at
      inet_pton expects in[6]_addr structures, nothing else.
      Hardware source volume support.
      update todo
      update todo
      Mute switch for sinks and sources. This is independent of the volume
      Some new additions were mislabeled as '\since 0.9'.
      IGAIN is a better choice than IMIX for source volume.
      Hardware sink mute support.
      Make local function static.
      Call correct function.
      Tweak the handling of missing credential support so that we minimise non-POSIX
      Wrong variable used for port.
      This wasn't supposed to be checked in.
      Do an explicit cast to shut up gcc.
      Hardware volume support in ALSA modules.
      Fix correct default device.
      Handle ALSA file descriptors more correctly. This means a bit more overhead,
      Get notifications about mixer changes from ALSA.
      update todo
      Function prototype didn't match actual definition.
      Fix some signed/unsigned warnings.
      64-bit fixes.
      Catch volume update events.
      We have both sink and source in this module.
      update todo
      update todo
      typo fix
      Handle the new latency protocol. This is just a quick fix and does not
      Fix warnings on 64-bit systems.
      The tag argument is no longer unused.
      Negotiate protocol version between server and client. Will allow smoother
      Alignment safe protocol handling in esound module.
      update todo
      Fix warning caused by missing return in main().
      Update module-tunnel to the new protocol.
      Tried to get the volume information even upon init failure.
      Return the proper error code so that we get a correct error message.
      It's safer to set buffer size than to try setting number of periods.
      Volume support in tunnel module.
      update todo
      Fetch sound card name into sink/source description.
      update todo
      Trying to listen on an IPv6 socket by default and only do IPv4 if that fails
      We've already set an initial reference count of 1 so don't count it up again.
      The extra stream ref actually did some good. Re-add it, but with some more
      We filled the volume with the wrong channel count (we used the input, not
      Remember to store the struct with module info.
      We no longer guarantee that an operation object is returned. Need to tweak
      update todo
      Large file support. Polypaudio probably doesn't need it, but it causes warnings
      Fix some warnings caused by size_t having varying size.
      Some memcpy arithmetic that wasn't removed when doing the redesign to update
      Big documentation update. Describe the client API in a more tutorial like
      Use the modern Ki/Mi/Gi prefixes to clarify that 1024 is the base.
      Clarify behaviour of deferred events.
      Fix ALSA fd handling to be compatible with blocking deferred events.
      C99 requires explicit marking of integer literals' size.
      Avoid including non-portable header sys/poll.h.
      We need to emulate sendmsg/recvmsg to support rtp on Windows. Will do
      update todo
      More fixes caused by Sun's complete inability to follow any standard
      Clarify that JACK libs are optional.
      Make the probe for RNG sources at runtime since the configure script isn't
      Reverse order of IPv6/IPv4 binding to handle systems without IPV6_V6ONLY.
      Having constant deferred events isn't allowed and causes problems. Use timers
      Win32 needs to have the socket subsystem initialised.
      WaveOut needs to have rather large chunks. This is about as low as we can
      Minor fixes for the way Windows handles sockets.
      Sun's documentation about SIGPOLL on EOF:s is wrong, so use a timer based
      Tweaks for the solaris module. The sound system requires complete frames
      update todo
      Undo invalid automake version requirement.
      chown() and chmod() aren't available on Windows.
      glibc <= 2.2 has a broken unistd.h, lacking setresuid().
      Fall back to software volume if hardware mixer cannot control all channels.
      update todo
      update todo
      update todo
      Channel map argument support for waveout.
      Channel map argument support for solaris.
      Clarify how the automatic channel map is generated.
      Zero the fd list since we do a memcmp on it later.
      When a control is removed, all bits are set so we need to test for that first.
      Windows doesn't have POSIX thread. ifdef out things for now.
      We need to read the cookie in binary mode for things to work correctly.
      Fix control flow in pa_oss_open(). Also fall back to half duplex when device doesn't
      update todo
      Use pa_msleep() to get platform independence.
      Add stubs for the threaded main loop so that we can compile it on
      Do WSAStartup() in the DLL entry routine instead of at context creation.
      ANSI codes aren't supported on Windows terminals.
      Include log header to get rid of warnings.
      Handle pipes on platforms where they are non-existant of broken.
      pa_write() should use a const pointer.
      Remove some debug code that wasn't supposed to be committed.
      Windows support for the threaded API.
      Include utf8.h for the validation function.
      module-volume-restore uses regexp() so make sure it's only built on systems
      Clean up the UTF-8 validation code.
      Add function to filter a string of any invalid UTF-8 sequences. User must
      Use default channel map for Solaris module. There doesn't seem to be a standard
      Add Microsoft's WAVEFORMWATEEXTENSIBLE channel mapping.
      Set default channel map system for waveout module.
      Documentation for the threaded main loop API.
      Update documentation to contain the UTF-8 requirement.
      update todo
      Move xmalloc to the public side (libpolyp).
      Move utf8 to the public part (libpolyp).
      Move timeval calculation functions into their own file.
      update todo
      PATH_MAX needs limits.h.
      Don't include util.h from core-util.h as it is not needed by many users.
      Missing include of util.h.
      And functions for convertion to and from current locale and UTF-8.
      Make paplay convert names to UTF-8 before sending to the server.
      Convert log text to current locale before passing it on to stderr or syslog.
      update todo
      Sort source files.
      Fix which headers get installed for libpolyp.
      Fix some missing headers.
      update todo
      Wrap strerror() in a function that makes it thread safe and converts the
      Fix TLS on Win32 to something a bit more safe and portable (compiler-wise).
      Fix some warnings.
      Cast size_t to long to be more compatible with 64-bit systems.
      Fix stray \
      Remove the exceedingly anal warnings. It's impossible to write a non-trivial
      Fix warnings.
      padsp needs dlsym & co so make sure we get that lib included.
      Move libpolypdsp in the makefile to avoid the libtool bug where it must come
      Use only the basename of libpolypdsp.so so that it will work on multi-arch
      Fix padsp script so that it accepts parameters, setting relevant environment
      We only need the so for libpolypdsp.
      Wrong prefix used in the padsp script.
      Explicitly check version number when determining which fields are in a stream
      Returned buffer attr is const.
      Fix typos.
      Fix the fix_metrics() function so that we don't get a tiny buffer by default.
      update todo
      Try the ltdl mangled name ourselves so that .la files for modules are optional.
      update todo
      Add all the preopen libs to the polypaudio binary's dependency list as they
      Properly escape the m4 macros and make the code a bit more readable.
      Also look in winsock2.h for INADDR_NONE. (solves #18)
      Fix AC_CHECK_DEFINE so that we can look in different files for the same
      Use AM_ICONV to determine what needs to be done for iconv support. (closes #19)
      Handle pretty printing of IPv6 socket names.
      Tweak the printing of client connections a bit so that it's more apparent
      Make sure our inet_ntop() implementation gets linked into the new users.
      Catch the access() system call as some applications do this to test if they
      Make a copy of the va_list as vsnprintf() is free to change it.
      Make debug output in padsp a bit less verbose. Specifying -d twice will give
      Record support.
      Creating a stream might take some time, so check that it's in the right state
      /dev/dsp should default to U8, not mulaw.
      Handle clients that just want to set fragment size (and not count).
      Fix the final few occurences of polyp.
      Make interpol-test build on Win32 and non-pthread systems.
      Check for pthread_yield() as not all platforms have that.
      Make sure we do not use pthread_yield() on platforms that do not have them.
      Make fix_metrics() exit early so that it doesn't spam the output needlessly.
      Warn when applications use SNDCTL_DSP_GET[IO]PTR even when they shouldn't.
      Fix handling of the io flags in duplex mode.
      Make sure we print the file name we actually use.
      Fix typo.
      Remove some unused m4 files.
      Make sure the win32 default conf gets shipped.
      Restore SIGPIPE warning when the platform doesn't have MSG_NOSIGNAL.
      Forgot to protect one access to with_creds with an ifdef.
      Remove unneeded headers.
      Protect platform dependent headers with ifdefs.
      Make -1 mean "current group/user" so that some platform dependent calls
      Add missing header.
      Make sure parse_rlimit is only used when rlimits are supported.
      Handle user switch in a more platform independent manner.
      Move check for SUID into the caps functions.
      Centralise check if we're running as root.
      Only warn when running as root and not --system.
      Fix incorrect call to nonexistant pa_log_warning().
      Get ACL:s to work on Win32.
      Use proper @libdir@ in pc.in files to handle x86_64 machines.
      update todo
      Add an ifdef for when we do not have creds.
      Fix call to pa_pstream_send_tagstruct().
      Add header for pa_cstrerror().
      Fix calls to pa_memblock_new().
      Fix missing header for timeval helpers.
      Fix detection of page size for non-POSIX systems.
      Fix call to pa_memblock_new().
      Add missing header.
      Fix typo.
      Fix detection of shared memory support and proper fallback.
      Fix up portability of memory pool handling a bit.
      Improve error messages a bit.
      Fall back to creating a "normal" memory pool if unable to get a shared one.
      Log when there is a problem opening the waveOut/waveIn device.
      Fix memory leak in waveout module.
      Proceed with connect even when no cookie is loaded. Allows you to connect
      Remove silence generation in waveout module.
      Remove silence generation in solaris module.
      Make the recording a bit more chunky so that we can fit in the pool and have
      fix typo
      Add missing header.
      update todo
      Add PulseAudio logo to tree.
      We need to have a callback when changing volume or we might deadlock.
      Remove check for libatomic_ops library as some systems have no (zero, nada)
      Make sure the libatomic_ops lib is included.
      Add AO_REQUIRE_CAS as we do.
      Also wrap yield functionality so that it can be platform independent.
      Make sure libatomic_ops.a isn't included in win32 builds as libtool doesn't
      Thread implementation for Win32.
      Add pthread_once() equivalent support.
      Fix call to pa_mutex_new().
      Fix typo.
      Use platform independent sleep.
      Fix up build structure for platform dependent modules. Also add implementation
      Fix debug output for SNDCTL_DSP_SETFRAGMENT.
      Stop using x86-isms and use ISO C (oversized shifts are undefined).
      No need to create these dirs as they're part of the source tree.
      Revert r1398 as it broke the srcdir != builddir patch. New fix that doesn't
      Handle when threaded mainloop is freed before it is started.
      The OSS spec is unclear what should happen when a reset is requested. Let's
      Create branch for lock free memblock implementation.
      Revert r1404 and keep it on a development branch until it is fully tested.
      Fix some missing line breaks.
      Check correct variable for return value. Closes #37.
      Support reversed endian floats. (closes #28) (closes #35)
      Yet again try to fix the creation of necessary directories when srcdir !=
      Make sure we package version.h.in.
      Add atomic.h as a dependency at relevant places.
      Fix incorrect assert.
      Fix silly copy-and-paste error. (closes #45)
      Huge trailing whitespace cleanup. Let's keep the tree pure from here on,
      Fix error messages for failure connecting streams.
      Free stream objects when they've been invalidated.
      Report IO error on ioctl() when we're in a fatal error state.
      Make sure we report success for SNDCTL_DSP_SETDUPLEX.
      Don't abort config loading when the user specific cannot be loaded.
      Allow specification of device number.
      Make sure we get proper host identifiers.
      Add copyright notices to all relevant files. (based on svn log)
      Prefix log lines with a character indicating level.
      Allow a formatted string in the validation warning.
      Add a wrapper around close() to work around Windows' ass backwards way of
      Add some debugging output from sample cache subsystem.
      Handle when ALSA tweaks our sample spec so much that the frame size changes.
      Revert stuff from commit 1431 that wasn't supposed to be there.
      Handle suspended alsa devices. Based on patch by ranma. (closes #26)
      Don't fail if hal doesn't currently contain any devices. (closes #55)
      Pulsecore should be linked into all modules.
      Fix some instances where we printed a string without first checking that
      Add support for SNDCTL_DSP_SETTRIGGER. (closes #56)
      We now use gid unconditionally, so make sure it's defined.
      Add support for the poorly documented SNDCTL_DSP_GETTRIGGER.
      Support stat() and friends as some programs (audacity) likes to check if
      Make sure mixer ioctls work on /dev/dsp aswell.
      Move pthreads detection as it gets confused by things in LIBS.
      Make -no-undefined actually work (and fix up error found by it).
      Solaris hides inet_ntop in nsl.
      Make sure we link to the core to get all symbols.
      POSIX realtime clock functions are in time.h so make sure to include it.
      Monotonic clock is optional so treat is as such.
      TIOCINQ isn't present on all systems.
      Remove mkdir_p again...
      posix_madvise and posix_fadvise aren't present on all systems.
      NSIG is not defined by neither C99 nor POSIX so we can't rely on it.
      Make sure the header file is only included on linux (as this is a linux-only
      Emulate lrintf with simple truncation if it isn't available.
      NSIG seems to be more common than _NSIG.
      strtof() is a rather recent addition to C. Fall back to strtod() if it isn't
      Incorrectly used str2sig() instead of sig2str().
      Update module-solaris to new structure.
      Replace all references to sys/poll.h with poll.h as that's what POSIX defines.
      Adapt rtpoll and friends to Windows by replacing timespec with timeval and
      Add stubs when RT signals aren't available.
      Assorted minor Windows compatibility fixes for recent code updates.
      Platform dependent semaphore implementation for Windows.
      module_ladspa used libltdl so make sure it links against it.
      Don't call pa_rtsig_configure() when we lack the necessary defines.

Shahms E. King (3):
      clean up hal patch to use pa_xnew and timeval compatibility wrappers
      add HAL support for OSS devices and capability changes
      increase module argument buffer size to prevent truncating names

Sjoerd Simons (4):
      Add forgotted #ifdef __linux__ and only use SIGRTMIN if it is defined. Fixes
      Implement opcodes in the tunnel modules that were added in version 12 of
      Don't send opcodes introduced in protocol versions 12 to clients using protocol
      Let bootstrap.sh require version 1.10 of the various autofoo bits. Otherwise things will break during compilation

Tanu Kaskinen (18):
      Modified the JACK sink heavily:
      Corrected a bogus comment.
      Changed PA_SAMPLE_S16_NE to PA_SAMPLE_S16NE in the example code in the Simple API Doxygen documentation.
      Correct the parameter positions with the pa_cvolume_set() call.
      Fix the assignment of control values by using the right variable for indexing.
      Comment typo fix.
      Added an assertion for the case when the sink programmer hasn't installed the thread_mq properly.
      Fixed PA_GCC_CONST definition.
      A couple of comment typo fixes.
      Add "support" for plugins that have control output ports, i.e. don't crash on them anymore (the plugins correctly assume that every port is connected to a buffer, so we connect them to a dummy buffer that isn't used anywhere).
      Increase the maximum line length of default.pa from 256 to 1024. Load commands of modules that need multiple channel maps may grow rather long.
      Downgraded the priority of a message, because it's really quite uninteresting.
      Fix the parsing of trailing default values in the "control" module argument.
      The previous commit introduced a new bug: giving too many values in the "control" argument wasn't detected any more. Fixed.
      Add a missing pa_xfree.
      Clarify the explanation of the in_action field in pa_autoload_entry.
      Fix setrlimit() return value comparsion.
      Fix typo: "now"->"not".

-----------------------------------------------------------------------

-- 
hooks/post-receive
PulseAudio Sound Server



More information about the pulseaudio-commits mailing list