Milestone 0.9.16
For a high-level overview see my blog.
Alam Arias (2):
update pulse-daemon.conf.5.xml.in about exit-idle-time
update pulse-daemon.conf.5.xml.in about realtime-scheduling
Andy Shevchenko (3):
raop: Fix memory leak
core-util: Fix logic of pa_make_path_absolute()
Fix checking for NULL after usage
Colin Guthrie (5):
udev: Don't install the udev rules if we're not compiling udev support
combine: Do not set (and update) description if the user passed one in during load.
introspect: Fix a bug in sink/source info protocol handling related to ports.
bootstrap: Ship git-version-gen with the tarball.
introspect: Fix two memory issues in port handling code.
Daniel Mack (1):
make bootstrap.sh aware of Darwin environment
Diego Elio Pettenò (32):
Don't use == for comparison in tests. Fix build with non-bash shells.
When MAP_ANONYMOUS is missing, fallback to MAP_ANON.
Add missing include directory path for OSS modules.
Add missing headers' include to build on FreeBSD 7.1.
Use the _ONCE variation of AC_CHECKs where applicable.
Make it more clear that PulseAudio needs libtool 2.2.
Update attributes.m4 file from xine-lib.
Check for and use flags to reject undefined symbols in libraries.
Properly link module-zeroconf-publish against libnative-protocol.
Use the new CC_CHECK_CFLAGS_APPEND macro instead of a manual for.
Ignore IPv6 tests, if IPv6 was built in but the system doesn't have it.
Use static constants to keep the generated sample blocks.
Implement mix-test for s24le and s24be sample formats.
Don't try to compile the rtkit sources when dbus is not enabled.
Add a missing sys/stat.h include for FreeBSD to declare umask().
Also alias MAP_ANONYMOUS to MAP_ANON in shm.c, for FreeBSD.
Fix the moved rtclock.h header in the Solaris module.
Remove the call for pa_rtpoll_install() in the Solaris module.
Rename the wait parameter to wait_op, to avoid shadowing wait().
Only declare saved_errno when it's going to be used (on Linux).
Rename the flock variable to f_lock.
Add missing headers includes for FreeBSD.
Check for the library containing the backtrace() function.
Remove exploitable LD_BIND_NOW hack (CVE-2009-1894).
Check for support of -z nodelete LD flag, don't use it unconditionally.
Request explicitly POSIX.1-2001 for clock_gettime.
Also request Darwin extensions, as they are needed for stuff like NSIG.
Further simplify on Daniel's patch for bootstrap.sh.
Make the rtstutter tests mostly pointless without CLOCK_REALTIME.
Again make sure that the wait() definition is not shadowed.
Split OSS support in output and wrapper.
Update the end-of-configuration summary for OSS output/wrapper split.
Erich Boleyn (1):
reserve-device: allow building without D-Bus
Finn Thain (6):
solaris: 0.9.15 solaris module build failure
Solaris: bootstrap portability
Solaris: build fixes (resent)
Solaris: use smoother (resent)
Solaris: fixed latency (resent)
Solaris: debug my latest enbugging, take 2
João Paulo Rechi Vita (2):
bluetooth: handle bluetooth source
bluetooth: add discover of bluetooth sources
Juho Hämäläinen (1):
database: simple hashmap based database implementation
Jyri Sarha (4):
bluetooth-device: Add safe guard against BT streaming irregularities.
core: optimize pa_sink_render_full()
core: Take samples from silence cache rather than write zeros
optimization: Optimized pa_sink_render_full.
Lennart Poettering (497):
rescue-streams: when one stream move fails try to continue with the remaining ones
core-util: handle EINTR already inside of pa_read/pa_write
object: keep refcount at 1 while destructing objects
util: if NULL is passed to pa_path_get_filename() just hand it through
log: print file name only when we have it
log: use pa_logl() instead of pa_log_level()
alsa: properly convert return values of snd_strerror() to utf8
alsa: remove debug code
object: fix ref counting of objects on destruction
object: revert to old unref() behaviour
llist: add PA_LLIST_FOREACH
mutex: when we fail to fill in mutex into static mutex ptr free it again
mutex: add initializer for static mutexes
semaphore: introduce static semaphores
memtrap: add new logic to trap and handle SIGBUS
memtrap: when we fail to handle sigbus say so
memtrap: make installation of SIGBUS handler explicit to ease integration into libraries
memtrap: hook up core to memtrap system
memtrap: fix parameter type
memtrap: add a bit of documentation for memtrap
i18n: add missing file to LINGUAS ... again
i18n: run make update-po
memtrap,aupdate: split atomic update from memtrap into seperate aupdate framework
start-pulseaudio-x11: don't start a local sound server if a remote sound server is configured
build-system: run make update-shave
build-system: hide .version from git
build-system: move x11 and jack modules into subdirectories
idxset: add enumeration macro PA_IDXSET_FOREACH
strbuf: add new call pa_strbuf_putc()
shm: page align shm size when mmap()ing it
shm: minor modernizations
macro: add new macro pa_align_ptr()
macro: make pa_page_align roung up instead of down
memtrap: implicitly page align memory areas
core-util: introduce pa_get_host_name_malloc() and pa_get_user_name_malloc()
protocol-native,proplist-util: port to pa_get_{user|host}_name_malloc()
alsa: allow configuration of fallback device strings in profiles
protocol-http: substantial modernizations
simple-protocol: don't hit an assert when we call connection_unlink() early
ioline: add callback that can be called when the ioline object is fully drained
ioline: add new calls pa_ioline_detach_iochannel() and pa_ioline_is_drained()
protocol-http: allow listening into sinks/sources via HTTP
http: split out mime type handling calls
rygel: add module that interfaces with Rygel UPnP
rygel: make server name configurable
parseaddr: add new call pa_is_ip_address()
strlist: add new calls pa_strlist_{next|data}()
http: export information about currently active server strings
rygel: instead of always handing out wildcard address find out the actual address we are listening on
rygel: get rid of forgotten debug trap
headers: minor cleanups
zeroconf: computer native protocol port automatically
zeroconf: copy more sink/source properties into DNS-SD TXT data
zeroconf: use pa_get_{user|host}_name_malloc() where applicable
alsa: don't hit an assert when invalid module arguments are passed
sample: correctly pass s24-32 formats
zeroconf: properly unref native protocol object
endian: fix LE/BE order for 24 bit accessor functions
sample-util: properly allocate silence block for s24-32 formats
sample-util: fix iteration loop when adjusting volume of s24 samples
alsa: initialize buffer size before number of periods to improve compat with some backends
resampler-test: use global PA_FLOAT32_SWAP implementation
resampler-test: add tests for 24bit sample formats
sconv: fix a few minor conversion issues
macro: add macros for initializing memory
core: introduce pa_{sink,source}_set_fixed_latency()
core: make sure we fix up flags/monitor flags already in pa_sink_new() instead of pa_sink_put()
core: cache requested latency only when we are running, not while we are still constructing
core: liberalize 99a6a4 a bit
channelmap: add pa_channel_map_has_position()
mime: drop additional whitespace from mime types
upnp: fix URL of MediaServer spec
upnp: update to newest spec, generate 'Updated' signal
upnp: properly issue method not found exception when we don't now it
upnp: use new rygel @HOSTNAME@ wildcard for server name
upnp: rework property handling
git: activate default commit hook
http: fix segfault on connection termination
alsa: include mixer name in sink/source properties
core: automatically add icons for headsets/headphones/speakers for devices
volume: introduce pa_cvolume_{get|set}_position()
database: add abstracted database API
database: add gdbm backend
database: add tdb backend
macro: include string.h because we need it for memset
database: port restore modules to new database API
alsa: be a bit more verbose when a hwparam call fails
upnp: implement item-count/container-count properties
rescue: make we don't end up in an endless loop when we can't move a sink input
upnp: convert all property names to CamelCase to follow D-Bus spec
shm: rework alignment when punching memory
upnp: update to newest spec
upnp: s/url/URL/ in GetAll() D-Bus call
volume: change pa_volume_t mapping to cubic
tests: show dB in volume-ui.py
core-util: fall back to sysconf(_SC_OPEN_MAX) to find maximum file descriptor
channelmap: document how apple's/microsoft's channel names map to ours
upnp: s/org.Rygel./org.gnome.UPnP/ following the newest version of the spec
sample: introduce pa_sample_format_is_{le,be,ne,re}()
sample: introduce pa_proplist_setp()
channelmap: introduce pa_channel_map_mask() and pa_channel_position_mask_t
proplist: add two new generic properties, media.copyright and media.software
map-file: add missing channel map/cvolume position functions
volume: implement pa_cvolume_{scale|max|avg}_mask()
cli: allow easy repeating of commands with '/'
core-util: introduce pa_disable_sigpipe()
sndfile: big rework of libsndfile interfacing code
alsa: fix wording, we are speaking of card profiles, not output profiles
oss: don't deadlock when we try to resume an OSS device that lacks a mixer
libpulse: introduce PA_CHECK_VERSION macro
modargs: introduce pa_modargs_get_proplist()
simple: set ADJUST_LATENCY by default
null: introduce sink_properties= argument
modules: add {sink|source|card}_properties argument to all modules
modules: introduce PA_MODULE_DEPRECATED() macro for marking modules deprecated
utils: use pa_path_get_filename() where applicable
tdb: include signal.h before tdb.h for compat reasons
reserve: update reserve.[ch] from upstream git
reserve: wrap device reservation monitor reference implementation
core: add a suspend cause flags field
alsa: monitor device reservation status and resume automatically when device becomes unused
augment: try to deduce the media role from the menu category
rtp: remove gcc warning
udev: add module-udev-detect for discovering and configuring devices
hal,udev: deprecate HAL support in favour of udev
hashmap: introduce PA_HASHMAP_FOREACH macro
core: suppress suspending/resume when we are already in the right state
core: monitor sources need to inherit the suspend cause from their sinks
udev: try to unsuspend devices whenever they are closed by other processes
build-sys: bump libsndfile dependency
udev: properly initialize userdata to 0
daemon: optionally call mlockall() on startup
conf: remove obsolete module-idle-time directive from default config file/man page
man: document log related daemon.conf options
man: document 24bit sample types in man page
man: document that tsched doesn't use fragment settings
rtstutter: increase log level by default
core: make sure soft mute status stays in sync with hw mute status
core: replace tabs by spaces
i18n: update po data
prop: introduce new PA_PROP_DEVICE_INTENDED_ROLES property
udev: reshuffle the properties we read from udev a bit
sample: fix build on BE archs
alsa: fix bad memory access for devices that lack a mixer
daemon: write a warning blurb to syslog when folks use --system mode
idxset: implement pa_idxset_copy()
hashmap: implement api to iterate a hashmap backwards
hashmap: implement pa_hashmap_last()
volume: implement functions for multiplicating a cvolume with a scalar
channelmap: implement pa_channel_position_from_string()
version: fix prefix in PA_CHECK_VERSION macro
channelmap: make sure a mask is generated is 64 bit int
malloc: implement pa_xrenew()
channelmap: define a couple of standard channel masks
volume,channelmap: reimplement a couple of calls based on channel masks
conf-parse: implement .include directive
core-util: implement pa_xstrfreev()
core-util: implement pa_split_spaces_strv()
core-util: implement pa_maybe_prefix_path()
rtp: fix s/recieve/receive/ typo
card: some modernizations
card: make sure to always hand failure code back in some calls
card: get rid of description field which is unused
gdbm: set default block size to 1K
pstream: fix s/recieve/receive/ typos
pdispatch: fix s/recieve/receive/ typos
alsa: rework mixer logic
alsa: allow placing device id in alsa device strings at arbitrary positions
bluetooth: return sensible error code in set_profile()
native: implement command to change sink/source port
libpulse: implement client side for sink/source port selection commands
pactl: implement pactl set-{sink|source}-port
raop: move all raop files to subdir
native-protocol: allow enumerating ports
pactl: show list of supported ports
i18n: update i18n
stream-restore: e don't need to save stream data that came from the database
card-restore: we don't need to save card data that came from the database
device-restore: save last used port in database
card,stream-restore: minor cleanups
core: be a bit more verbose when registering a sink/source fails
device-restore: properly check save_muted flag when storing muted state
alsa: when creating alsa sinks/sources include mapping name in device name to allow profiles mit multiple sinks or multiple sources
alsa: fix duplicate mapping detection
alsa: properly count mappings of manually defined profiles
alsa: add profile set for Native Instruments Audio 8 DJ sound card
alsa,core: include mapping name in description strings
alsa: merge mic boost into volume slider
alsa: unify alsa log handling and snd_config_update_free_global() handling in one place
alsa: add profile set for Native Instruments 4 DJ
alsa: document default profile set a bit better
alsa: move mixer config files to subdir in /usr/share
alsa: move udev rules file behind the other sound related rules
alsa: add copyright blobs and comments to all mixer paths/profile sets
alsa: document alsa mixer path/profile sets a bit more
alsa: synthesize volume values more sensibly for channels that are not controllable in hw
core: ask RealtimeKit for RT scheduling
core: use rtkit to acquire high-priority scheduling
daemon: strip all special suid/caps log from our startup code, we'll now rely on RealtimeKit for all high-priority/RT scheduling policy issues
mergo
daemon: enable real-time by default
core: get rid of rt sig/timer handling since modern Linux' ppooll() is finally fixed for granularity
restore: change 'save' flag behaviour to reflect whether an entry shall and/or is in the on-disk databases
modules: add module-intended-roles that automatically puts streams marked with a role on devices that are intended for that role
module-stream-restore: recheck stream database on hotplug/unplug and potentially move streams
rescue: make sure module-rescue-streams is used only as last fallback
daemon: enable module-intended-roles by default
build-sys: dropo shave support, depend on automake's new silent build support instead
rtclock: fix build after merge
rtclock: enable rtclock for our own mainloop implementations
rtclock: document that we fallback to wallclock time if monotonic time is not supported
timeval: don't create the wrong illusion that nsecs should be stored in pa_usec_t
rtclock: fix type of PA_TIMEVAL_RTCLOCK
build-sys: bump udev revision to pull in new rules files
builds-sys: work around automake 1.11 borkage
build-sys: use pax tar format to allow longer file names
intended-roles: fix symdef header inclusion
rtclock: make use of constants when converting between nsec and usec
intended-roles: properly initialize split state
modules: pass properly initialized userdata pointers to various hooks
intended-roles: drop quite a few unnecessary includes
build-sys: drop compat with old git versions so that tarballs for -test1 style evrsions are properly created
build-sys: teacch git versioning script to not kill - in version strings
build-sys: properly drop '-' from major/minor/micro strings
build-sys: don't make pulseaudio binary suid on install anymore
sndfile: fix build on BE archs
reserve: fix build without D-Bus
bluetooth: handle absence of bluez D-Bus service properly
bluetooth: don't busy loop when device is not writable but we want to write
native: don't hit assert when user uploads zero-sized sample
libpulse: minor cleanups
build-sys: add missing dependency to libcli
alsa: fix a few comments
reserve: update from upstream git repo
memblock: rearrange locking order
memtrap: properly lock access to memtrap changer
stream-restore: mark volume changes from instant apply as saved ones
daemon: before exec'ing ourselves, make sure nobody plays games with /proc/self/exe
client: allow zero-copy writing to the stream
memtrap: clarify that we are not interested in the return value of write()
alsa: deal properly with IO functions asking us to write 0 bytes
daemon: reset personality, to make the autospawn env cleaup complete
udev: don't fail if /dev/snd is not available right-away
po: run make update-po
alsa: control 'Speaker' element as well
build-sys: add a couple of stub Makefiles
daemon: replace colons by dash in per-machine directory names for compat with weird filesystems
alsa: don't reset volume/mute when selecting path
client: include zerocopy write calls in map file
pacat: use zero-copy write calls when playing audio file
alsa: handle correctly if alsa returns us 0 or EAGAIN on snd_pcm_mmap_begin if we didn't call snd_pcm_avail immediately before
udev: explain what happened when inotify_add_watch() returned ENOSPC, rhbz #513571
memblock: try to hit an assert earlier when ref counting doesn't work
autospawn: refuse autospawning if process disabled waitpid()
alsa: throw timing data away after device resume
client: make volume struct const
client: limit block size for zero-copy operations to mempool block size
interpol-test: allow configuration of latency
client: if a child we created was already reaped, assume that it was successful
client: minor modernizations
i18n: run make-update-po
build-sys: bump binary version
threaded-mainloop: loop around pa_cond_wait() invocation in pa_threaded_mainloop_signal()
tunnel: don't assert on misaligned reads, closes #597 and rhbz #496310
alsa: revert to first set number of periods, then set buffer size
client: fix documentation for threaded mainloop
client: documented that pa_stream_drain() may only have a single operation active at a time
hal: add option to initialize all subdevices of an OSS device
pipe: replace PIPE_BUF macro pa pa_pipe_buf call
core-util: rework pa_strlcpy() to not rely on strncpy()
core-util: replace remaining fixed size destination string functions by _malloc() versions
autospawn: if creating the lock file fails, pass error code cleanly back to main process
build-sys: take preset CFLAGS into account
client: extend documentation on pa_operation_cancel() a bit
alsa: properly treat ESTRPIPE as system suspend
simple: use PA_xxx_IS_GOOD for state checks
simple: use pa_xnew0 instead of manual reset to 0
simple: always loop around pa_threaded_mainloop_wait() to handle spurious wakeups properly
simple: call pa_context_disconnect() just to be sure
simple: split data/length validity checks into two
simple: check for == RUNNING instead of != DONE when waiting for operations
smoother: readd #ifdef protection
simple: bump libpulse-simple library revision
run make update-po
core: save volume/mute changes coming from the hardware automatically
ladspa/remap: make sure we process all requested rewinds unconditionally
build-sys: drop libcap checks, since we don't use caps anymore
mix-test: fix test for s24-32 samples
Revert "build-sys: drop libcap checks, since we don't use caps anymore"
hal: add stub module that loads module-udev-detect instead of module-hal-detect
udev: drop definition of LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE
hal: replace subdevs= parameter by subdevices= parameter
volume-restore: forward module load return value of stream-restore back to caller
alsa: adjust priority bonus of mappings that match the configured default channel map
alsa: enable ext. amplifier by default
daemon: install D-Bus system policy file for PA system instances
conf: add pa_config_parse_not_bool() for parsing inverse boolean configuration options
conf: invert all negative boolean configuration option
daemon: unconditionally clean up priviliges
core-util: move personality resetting into core-util
daemon: reset scheduling priority on startup, too
context: document why we only do minimal cleanups before the autospawn exec()
memblock: rate limit 'Pool full' message
pacmd: port pacmd from select() to poll() so that we notice writer side hangups
start-child: clean up child environment a bit better
core: add assert macros for verifying calling context
core: add functions to query max_rewind/max_request values from streams
pacmd: handle multi word commands in argv[] properly
shm: bump shm size limit to 1GB
memblockq: add pa_memblockq_get_maxrewind() API
asyncmsgq: add pa_asyncmsgq_flush() call
thread-mq: never drop queued messages for the main loop
resampler: round up when estimating input/output sizes
daemon: reset gids too, not just uids
protocol-native: log explicitly each time a client triggers a volume change
volume: guarantee dB/linear conversion is reversible
module-stream-restore: don't fiddle with sinks/sources/streams that are not fully set up yet
core: introduce pa_{sink_input|source_output}_fail_move()
native: handle moving() callback with NULL destination properly
core: split of FAIL_ON_SUSPEND into KILL_ON_SUSPEND and NO_CREATE_ON_SUSPEND
rescure-stream: handle failed moves as well as dying sinks/sources
log: place more rate limit invocations
core: move rtpoll to thread_info sub structure
core: make fixed latency dynamically changeable
core: call pa_sink_get_latency_within_thread() instead of going directly via process_msg()
core: don't update latency range if not changed
core: document difference between IO and main thread view on requested latency
native-protocol: downgrade volume change log messages
hook-list: make use of PA_LLIST_FOREACH
remap: unify argument order with other modules
ladspa: move LADSPA_Data size check to compile time
module-remap: allow moving of sink, forward fixed latency
module-ladspa: allow moving of sink, forward fixed latency
ladspa: name sink after human readable plugin name, not the id string
combine: drop adjust_timestamp variable because it is unused
combine: big rework
combine: warn when the latency of a stream gets too high
core: introduce pa_{sink|source}_update_flags()
ladspa/remap: sync latency flags from master sink when moving between sinks
asyncmsgq: introduce pa_asyncmsgq_dispatching()
thread-mq: do final q flush only when we aren't dispatching anyway
bluetooth: drop PA_BT_AUDIO_STATE_LAST since it is unused and we normally call that _MAX anyway
bluetooth: recognize only those BT devices that implement both the Audio and either AudioSink or Headset interfaces
bluetooth: ask first for Headset and AudioSink properties, followed by Audio
bluetooth: move installation of mq's earlier to avoid context asserts to be triggered
modules: add various checks to avoid selecting objects that are not linked or in another unclear state
core: add to FIXMEs
aupdate: implicitly call _write_swap() if it wasn't called explicitly
volume: add pa_cvolume_merge() call
reserver: update from upstream git
channelmap: adjust RFC3551 channel maps to follow spec more closely
channelmap: document where the WAVEX channelmap is documented
channelmap: minor doxygen fix
libpulse: some minor optimizations when checking equality
volume: document when arguments of certain functions may overlap
bluetooth: make NameOwnerChanged filter matches more focussed
bluetooth: fix match syntax
macro: add PA_ROUND_UP/PA_ROUND_DOWN macros
macro: simplify page/word alignment macros a bit
volume: introduce pa_cvolume_min() and pa_cvolume_min_mask()
volume: simplify volume multiplifactions, do them in integer only
volume: round properly when showing human readable volume percentages
dbus: never return DBUS_HANDLER_RESULT_HANDLED in filter callbacks, since other callbacks might stell want to have the messages
voltest: extend test to verify correctness of _multiply() and _divide()
macro: extend comments a bit
source: rework volume handling
udev: allow passing of ignore_dB= parameter to alsa modules
volume: use PA_VOLUME_MAX instead of (pa_volume_t) -1
volume: introduce pa_cvolume_{inc|dec}()
match: document how broken the module-match logic is
sink: volume handling rework, new flat volume logic
mmkbd: replace manual code by pa_cvolume_{inc|dec}()
lirc: replace manual code by pa_cvolume_{inc|dec}()
i18n: add ko to LINGUAS
i18n: run make update-po
core: check return value of getgrnam_r() instead of errno
sink-input: add callbacks that are called whenever the mute/volume changes
ladspa: forward volume changes from ladspa sink to stream and hence via flat volume logic to master sink
adjust various data/library paths automatically if we are run from a build tree
combine: quieten gcc a bit
alsa: leave headphone jack enabled in normal mixer paths
udev: when a device appears that we cannot access right-away try again later on inotify
object: speed up type verification by not relying on strcmp()
gconf: use correct path for gconf-helper tool when running from build tree
udev: always verify access before loading modules
udev: don't access string after free()
udev: watch for both ACL changes and processes closing devices
udev: tell inotify to actually inform us about ACL changes
i18n: run make update-po
daemon: don't free script_commands twice
add usergroup-test to .gitignore
ladspa/remap: handle failing stream moves properly
core: relex validity checks when destructing half-set up source outputs/sink inputs
udev: process all inotify events queued up, not just the first one in the queue
udev: check busy status of alsa cards before loading alsa modules and hence initiating profile probing
port a few things over to use xmalloc and friends instead of low-level libc malloc/free directly
alsa: increase interval between smoother updates exponentially for alsa sources, following the scheme for sinks
alsa: automatically decrease watermark after a time of stability
i18n: run make update-po
build-sys: add missing header files to tarball
detect: recommend module-udev-detect instead of module-hal-detect
remap: fix build for non-x86 builds
macro: add PA_CLIP_SUB() for saturated subtraction
loopback: add loopback module for direct connections of sinks and sources
combine: store adjust time in usec
loopback: make sure a monitor can't be looped back to its sink
loopback: update description and icons when moving loopback streams
loopback: quieten gcc on 32bit
llist: add PA_LLIST_FOREACH_SAFE macro for iteration that allows deleting
pdispatch: add missing commands to command table
pdispatch: various modernizations
protocol-native: compare uint64_t variable with (uint64_t) -1 instead of (size_t) -1 for compat with 32bit archs
protocol-native: print more volume change debug messages to easy tracking down of feedback loops
sink-input: extend comments on rewinding logic a bit
proplist: allow setting of zero-length data properties
bluetooth: remove left-over debug line
build-sys: make proximity helper properly suid
core: move 'flags' field into 'pa_sink_input_new_data' structure so that hooks can access it
suspend-on-idle: don't resume devices for corked streams
sconv: quieten gcc a bit
core: add priority field to pa_sink/pa_source
namereg: add new pa_namereg_is_valid_name_or_wildcard() call
protocol-native: replace use of pa_namereg_is_valid_name() by pa_namereg_is_valid_name_or_wildcard() where applicable to allow use of @@ wildcards
namereg: select default sink by priority
core: initialize sink/source priorities automatically based on their proplists
native: make sure clients cannot trigger an assert by sending us invalid volume info
core: always allow volume setting with single-channel pa_cvolume
cli: apply single-channel volume changes equally to all channels
cli: make sure 'dump' uses pa_cvolume_max() to deduce a single-channel volume from a multi-channel volume
pactl: implement pactl commands for changing volumes/mute stati
pactl: drop unnecessary newlines from pa_log() invocations
daemon: don't override path env vars if they are already set
alsa: distuingish real underruns from left_to_play=0
alsa: by default increase watermarks only on real underruns, don't try to be smart
ladspa,remap: make description of sink follow moves
core: add missing sink_unref()
core: handle suspended state in pa_sink_render_full() similar to the other render functions
core: fill up memblock with pa_sink_render_into_full() in pa_sink_render_full() instead of doing our own loop
core-util: add api for setting env vars and record them so that we can undo them n fork
daemon: clean up environment when forking off children
sink: simplify pa_sink_render_full() by replacing it by a pa_sink_render() plus a couple of pa_sink_render_full()
build-sys: drop LIBOIL_{FLAGS|LIBS} from Makefile.am since we don't use the library anymore
core-util: call dbus_connection_set_exit_on_disconnect() on shared busses to make sure dbus_shutdown() isn't fatal
core-util: don't leak memory in pa_unset_env_recorded()
daemon: drop polkit code from git repo we weren't using anymore
remap_sse: reindent macro so that diff to MMX is nicer
remap_sse: fix inner loop increment on SSE
daemon: make use of SIMD optional via config variable to ease debugging
core: drop unnecessary variable initialization
remap: build sse code only on x86
i18n: fix LINGUAS
i18n: run make update-po
alsa: add more input sources to path set
null: make name of null sink translatable
always-sink: rename null sink created to 'dummy sink' and make it translatable
daemon: disable CPU load limiter by default
libpulse: introduce PA_BYTES_SNPRINT_MAX and make use of it wherever applicable
introspect: rearrange order of functions a bit
volume: fix definition of PA_VOLUME_MAX and introduce PA_VOLUME_INVALID and use it wherever applicable
volume: add a couple of validity checks for pa_volume_t arguments
volume: drop some redundant but expensive validity checks
volume: when passing NULL as channel map to pa_cvolume_scale_mask() handle this the same way as pa_cvolume_scale()
volume: if pa_cvolume_set_{balance|fade}() is called with invalid fade/balance value log, but don't assert
vala: add vala .vapi file for the PulseAudio APIs, but don't include them in the tarball for now
vala: s/PropList/Proplist/g since the C version does not use an underscore there
vector: don't try to build vector stuff on altivec
vala: reindent
libpulse: allow invocation of pa_context_play_sample_with_proplist() with NULL proplist
i18n: move \r out of translatable string
llvm-clang-analyzer: drop a few unnecessary assignments and other trivial fixes
alsa-sink: init after_avail earlier (llvm-clang-analyzer)
blueooth: actually honour 'room' variable (llvm-clang-analyzer)
hal: check properly for failure of libhal_find_device_by_capability() (llvm-clang-analyzer)
rtsp: document that rtsp_exec() needs fixing (llvm-clang-analyzer)
utf8: minor simplification
cli-command: modernizations
cli-command: don't necessarily ovveride failure code of files (llvm-clang-analyzer)
conf-parser: properly initialize variable we free() later (llvm-clang-analyzer)
core-util: properly fill in exception array for pa_reset_sigs() (llvm-clang-analyzer)
protocol-native: log explicitly when someone asks us to quit
stripnul: initialize 'found' bool properly (llvm-clang-analyzer)
pacat: don't convert stream name twice (llvm-clang-analyzer)
padsp: properly return return values (llvm-clang-analyzer)
ratelimit: allow non-static ratelimit structs
udev: ratelimit device initializations
sample-util: add pa_convert_size() call for converting sizes between two sample specs
simd: be more precise which SIMD optimizations we activate
alsa: rework buffer/period configuration
alsa: pass SND_PCM_NONBLOCK when opening device during unsuspend, the same way we do it for initial opening
alsa: when probing for profiles configure buffer/period sizes since some broken drivers apparently need that
alsa: disable tsched for software devices before we configure the buffer metrics so that we don't accidently set a buffer size that is suitable for tsched where we don't use tsched
add ml to LINGUAS
i18n: get rid of ko.po/ru.po since they contain exactly 0 translated strings
i18n: run make update-po
i18n: run make update-po
native: send PA_COMMAND_PLAYBACK_BUFFER_ATTR_CHANGED messages only to clients that understand it
libpulse: don't support pa_context_get_card_info_list() on servers that cannot handle it
Lubomir Rintel (1):
Recover stream when it's suspended upon rewind
Luiz Augusto von Dentz (1):
Handle DisconnectRequested in bluetooth module.
Luke Yelavich (1):
POTFILES - Remove references to more non-existant files in the source tree
Maarten Bosmans (1):
combine: determine sample parameters of combined sink from underlying sinks
Marc-André Lureau (15):
pulse/context: when NOFAIL, don't try_next_connection() if c->client
bluetoth-device: be less strict on CONNECTED state to switch profile
build: generate git tarball using git describe
build: there is no such thing as SHAVE_OUTPUT anymore
suspend-on-idle: add per-device timeout property
context: don't fail if session bus is not there
perl -p -i -e 's/pa_rtclock_usec/pa_rtclock_now/g' `find . -name '*.[ch]'`
pulse: move pa_rtclock_now in pulsecommon
Base mainloop on pa_rtclock_now()
rtclock: fix issues found by Lennart
bluetooth: warn on EAGAIN after POLLOUT
bluetooth: don't connect on unconnected profile
bluetooth: don't call pa_sink_render with 0 bytes request
bluetooth: fix typo with service_{read,write}_type
pulse: even in case of record stream, let's initialize req_bytes to 0
Maxim Levitsky (1):
Correctly deal with events in the past in calc_next_timeout
Scott Reeves (1):
daemon: fix leak of script_commands
Ted Percival (2):
core: Add thread-safe group info functions with dynamic buffers
core: Remove wrong doc on how to free returned data
Wim Taymans (51):
protocol-native: use the right samplerate
sample-utils: split out functions from case
sample-utils: coding style cleanup
sample-util: move some functions around
sample-util: move volume code to separate file
samples-util: add padding to volume array
volume: add first mmx optimized function
volume_mmx: fix mmx code a bit
volume_sse: add sse optimisations
svolume: improve SSE and MMX code
cpu-x86: add cpu detection code and helpers
main: hook up cpu detection code
cpu-x86: guard header with ifdef
svolume: add some comments
volume: make the benchmark more meaningfull
volume: improved comments
volume: remove ref functions
Get rid of liboil
resampler: cache integer channel_map
svolume: remove unneeded compare
svolume: add ARM optimized volume scaling
svolume: add CPU guards around code
resample: refactor the channel remapping a little
resample: fix counters
resampler: fix identity check
sample: manually inline table lookups
svolume: fix compilation in 32bits
x86: keep the cpu flags local
arm: implement ARM cpu detection
svolume: add comment
resampler: avoid some multiplies when we can
whitespace fixes
svolume: cleanups
alsa-sink: reduce the amount of smoother updates
sconv: allow for setting custom functions
resamples; refactor the channel remapping bits
remap: move remapping code in separate file
remap: allow specialisations to install NULL
remap: init the do_remap function to NULL
remap: add MMX mono to stereo
remap: make the MMX code pretier
sconv: fix indentation
remap: add sse optimized mono to stereo
sample-util: avoid stack overrun
remap: cleanup assembler a little
macro: add macro to align variables
convert: add sse/sse2 s16 to float32ne conversions
remap: fix counters for mmx and sse remap
sconv_sse: fix leftover counter
x86: only install some functions when SSE2
x86: also call see init for SSE2
Xabier Rodriguez Calvar (3):
Modification of the glib-mainloop doc to ensure that nobody frees the api as it is owned by the loop.
Modification of the mainloop doc to ensure that nobody frees the api as it is owned by the loop.
Modification of the thread-mainloop doc to ensure that nobody frees the api as it is owned by the loop.
aalam (1):
Sending translation for Punjabi
anipeter (1):
Sending translation for po/ml.po
barney (1):
Sending translation for German
beckerde (4):
Sending translation for Spanish
Sending translation for Spanish
Sending translation for Spanish
Sending translation for Spanish
dennistobar (1):
Sending translation for Spanish
eukim (1):
Sending translation for po/ko.po
fab (3):
Sending translation for German
Sending translation for po/de_CH.po
Sending translation for po/LINGUAS
giallu (1):
Sending translation for Italian
ifelix (2):
Sending translation for Tamil
Sending translation for Tamil
igor (4):
Sending translation for Brazilian Portuguese
Sending translation for Brazilian Portuguese
Sending translation for Brazilian Portuguese
Sending translation for Brazilian Portuguese
jassy (3):
Sending translation for Punjabi
Sending translation for Punjabi
Sending translation for Punjabi
kkrothap (1):
Sending translation for Telugu
kmilos (2):
Sending translation for Serbian
Sending translation for Serbian (Latin)
logan (3):
Sending translation for Spanish
Sending translation for Spanish
Sending translation for Spanish
marionline (1):
Sending translation for Italian
mgiri (2):
Sending translation for Oriya
Sending translation for Oriya
mvdz (3):
Sending translation for po/uk.po
Sending translation for Ukrainian
Sending translation for Ukrainian
perplex (1):
Sending translation for Italian
pmkovar (5):
Sending translation for Czech
Sending translation for Czech
Sending translation for Czech
rajesh (2):
Sending translation for po/hi.po
Sending translation for Hindi
raven (9):
Sending translation for Polish
Sending translation for Polish
Sending translation for Polish
Sending translation for Polish
Sending translation for Polish
Sending translation for Polish
Sending translation for Polish
Sending translation for po/LINGUAS
Sending translation for Polish
ruigo (9):
Sending translation for po/pt.po
Sending translation for po/LINGUAS
Sending translation for Portuguese
Sending translation for Portuguese
Sending translation for Portuguese
Sending translation for Portuguese
Sending translation for Portuguese
Sending translation for Portuguese
Sending translation for Portuguese
runab (2):
Sending translation for Bengali (India)
Sending translation for Bengali (India)
sandeeps (2):
Sending translation for Marathi
Sending translation for Marathi
shanky (2):
Sending translation for Kannada
Sending translation for Kannada
soko (2):
Sending translation for Serbian
Sending translation for Serbian (Latin)
swkothar (1):
Sending translation for Gujarati
troubi51 (2):
Sending translation for French
Sending translation for French
vpv (3):
Sending translation for Finnish
Sending translation for Finnish
Sending translation for Finnish
warrink (4):
Sending translation for Dutch
Sending translation for Dutch
Sending translation for Dutch
Sending translation for Dutch
xconde (3):
Sending translation for Catalan
Sending translation for Catalan
Sending translation for Catalan
ypoyarko (1):
Sending translation for po/ru.po
Note: See
TracRoadmap for help on using
the roadmap.
