Heya! I have just tagged and rolled the first test release of PA 0.9.16. http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-0.9.16-test1.tar.gz Shortlog: Diego Elio Petten? (5): 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. Erich Boleyn (1): reserve-device: allow building without D-Bus Finn Thain (1): solaris: 0.9.15 solaris module build failure 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 (233): 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 Merge commit 'origin/master-tx' 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 Merge commit 'flameeyes/master' modules: add {sink|source|card}_properties argument to all modules modules: introduce PA_MODULE_DEPRECATED() macro for marking modules deprecated Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio 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 Merge commit 'origin/master-tx' 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 Merge commit 'origin/master-tx' 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 Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio daemon: enable module-intended-roles by default build-sys: dropo shave support, depend on automake's new silent build support instead Merge most of elmarco/rtclock2 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 Marc-Andr? Lureau (10): 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 aalam (1): Sending translation for Punjabi beckerde (1): Sending translation for Spanish dennistobar (1): Sending translation for Spanish fab (3): Sending translation for German Sending translation for po/de_CH.po Sending translation for po/LINGUAS jassy (2): Sending translation for Punjabi Sending translation for Punjabi marionline (1): Sending translation for Italian mvdz (1): Sending translation for po/uk.po pmkovar (1): Sending translation for Czech rajesh (1): Sending translation for po/hi.po raven (2): Sending translation for Polish Sending translation for Polish ruigo (6): 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 troubi51 (2): Sending translation for French Sending translation for French warrink (2): Sending translation for Dutch Sending translation for Dutch xconde (1): Sending translation for Catalan Lennart -- Lennart Poettering Red Hat, Inc. lennart [at] poettering [dot] net http://0pointer.net/lennart/ GnuPG 0x1A015CC4