[pulseaudio-discuss] [ANNOUNCE] PulseAudio 0.9.16-test5
Lennart Poettering
lennart at poettering.net
Wed Aug 19 06:33:34 PDT 2009
Heya,
Forgot to mention that I released another snapshot of 0.9.16
yesterday:
http://0pointer.de/public/pulseaudio-0.9.16-test5.tar.gz
As mentioned this brings a revamped flat volume logic where stream
volumes can increase sink volumes but can never lower it. Restored
volumes are always measured relative to the sink volume. The sink
volume hence operates as upper limit of everything that is played
which I think makes a lot of sense. This turned out to be a much
bigger change than anticipated but otoh the flat vol handling code
actually got simpler.
The two now are:
1.) stream volume changes can 'push' the sink volume, i.e. increase it
to make sure the sink volume always stays >= the max of all stream
volumes. stream volume changes will however never decrease the sink
volume. a stream volume change of a stream A will never affect the
volume of a stream B.
2) sink volume changes scale all stream volumes equally. if you halve
the sink's volume this will halve the stream volume's too.
I'd like to ask everyone to test the new flat vol logic. It's quite a
big change this late in the game for 0.9.16 unfortunately, so it would
really help if this area gets some focussed testing love.
There's now only one thing left on my todo list before the final 0.9.16.
Diego Elio Pettenò (2):
Split OSS support in output and wrapper.
Update the end-of-configuration summary for OSS output/wrapper split.
Juho Hämäläinen (1):
database: simple hashmap based database implementation
Lennart Poettering (92):
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
Maarten Bosmans (1):
combine: determine sample parameters of combined sink from underlying sinks
Marc-André Lureau (3):
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
eukim (1):
Sending translation for po/ko.po
igor (2):
Sending translation for Brazilian Portuguese
Sending translation for Brazilian Portuguese
logan (1):
Sending translation for Spanish
pmkovar (1):
Sending translation for Czech
raven (1):
Sending translation for Polish
ruigo (3):
Sending translation for Portuguese
Sending translation for Portuguese
Sending translation for Portuguese
Lennart
--
Lennart Poettering Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/ GnuPG 0x1A015CC4
More information about the pulseaudio-discuss
mailing list