Ted Percival [Fri, 21 Aug 2009 22:02:57 +0000 (16:02 -0600)]
core: Add thread-safe group info functions with dynamic buffers
Provides getgrgid, getgrnam, getpwuid & getpwnam replacements that are
thread safe (a la getgrgid_r() and friends) that internally
handle allocating big-enough buffers to avoid ERANGE errors
on large users or groups.
Lennart Poettering [Fri, 21 Aug 2009 22:09:14 +0000 (00:09 +0200)]
i18n: run make update-po
Lennart Poettering [Fri, 21 Aug 2009 22:08:33 +0000 (00:08 +0200)]
Merge commit 'origin/master-tx'
Scott Reeves [Fri, 21 Aug 2009 21:59:39 +0000 (23:59 +0200)]
daemon: fix leak of script_commands
Lennart Poettering [Fri, 21 Aug 2009 21:24:40 +0000 (23:24 +0200)]
udev: tell inotify to actually inform us about ACL changes
Lennart Poettering [Fri, 21 Aug 2009 20:49:23 +0000 (22:49 +0200)]
udev: watch for both ACL changes and processes closing devices
Lennart Poettering [Fri, 21 Aug 2009 20:11:38 +0000 (22:11 +0200)]
udev: don't access string after free()
Lennart Poettering [Fri, 21 Aug 2009 20:06:23 +0000 (22:06 +0200)]
udev: always verify access before loading modules
Lennart Poettering [Fri, 21 Aug 2009 20:05:27 +0000 (22:05 +0200)]
gconf: use correct path for gconf-helper tool when running from build tree
Lennart Poettering [Fri, 21 Aug 2009 19:27:44 +0000 (21:27 +0200)]
object: speed up type verification by not relying on strcmp()
Instead of using string contents for type identification use the address
of a constant string array. This should speed up type verifications a
little sind we only need to compare one machine word instead of a full
string. Also, this saves a few strings.
To make clear that types must be compared via address and not string
contents 'type_name' is now called 'type_id'.
This also simplifies the macros for declaring and defining public and
private subclasses.
igor [Fri, 21 Aug 2009 14:27:24 +0000 (14:27 +0000)]
Sending translation for Brazilian Portuguese
Lennart Poettering [Fri, 21 Aug 2009 12:55:05 +0000 (14:55 +0200)]
udev: when a device appears that we cannot access right-away try again later on inotify
Lennart Poettering [Fri, 21 Aug 2009 01:45:58 +0000 (03:45 +0200)]
alsa: leave headphone jack enabled in normal mixer paths
Lennart Poettering [Fri, 21 Aug 2009 01:45:17 +0000 (03:45 +0200)]
combine: quieten gcc a bit
Lennart Poettering [Fri, 21 Aug 2009 01:43:53 +0000 (03:43 +0200)]
adjust various data/library paths automatically if we are run from a build tree
Lennart Poettering [Fri, 21 Aug 2009 00:59:26 +0000 (02:59 +0200)]
ladspa: forward volume changes from ladspa sink to stream and hence via flat volume logic to master sink
Lennart Poettering [Fri, 21 Aug 2009 00:56:17 +0000 (02:56 +0200)]
sink-input: add callbacks that are called whenever the mute/volume changes
Xabier Rodriguez Calvar [Tue, 30 Jun 2009 16:23:17 +0000 (18:23 +0200)]
Modification of the thread-mainloop doc to ensure that nobody frees the api as it is owned by the loop.
Xabier Rodriguez Calvar [Tue, 30 Jun 2009 16:22:44 +0000 (18:22 +0200)]
Modification of the mainloop doc to ensure that nobody frees the api as it is owned by the loop.
Xabier Rodriguez Calvar [Tue, 30 Jun 2009 16:20:03 +0000 (18:20 +0200)]
Modification of the glib-mainloop doc to ensure that nobody frees the api as it is owned by the loop.
Lennart Poettering [Wed, 19 Aug 2009 22:20:03 +0000 (00:20 +0200)]
core: check return value of getgrnam_r() instead of errno
According to POSIX getgrnam_r() returns the error code as return value,
and not in errno. Honour that.
Pointed out and inspired by a patch from Ted Percival.
raven [Wed, 19 Aug 2009 20:53:19 +0000 (20:53 +0000)]
Sending translation for Polish
beckerde [Wed, 19 Aug 2009 11:13:19 +0000 (11:13 +0000)]
Sending translation for Spanish
Lennart Poettering [Wed, 19 Aug 2009 02:16:35 +0000 (04:16 +0200)]
i18n: run make update-po
Lennart Poettering [Wed, 19 Aug 2009 02:15:36 +0000 (04:15 +0200)]
i18n: add ko to LINGUAS
Lennart Poettering [Wed, 19 Aug 2009 02:14:00 +0000 (04:14 +0200)]
Merge commit 'origin/master-tx'
Lennart Poettering [Wed, 19 Aug 2009 01:37:42 +0000 (03:37 +0200)]
lirc: replace manual code by pa_cvolume_{inc|dec}()
Lennart Poettering [Wed, 19 Aug 2009 01:37:29 +0000 (03:37 +0200)]
mmkbd: replace manual code by pa_cvolume_{inc|dec}()
Lennart Poettering [Wed, 19 Aug 2009 00:55:02 +0000 (02:55 +0200)]
sink: volume handling rework, new flat volume logic
- We now implement a logic where the sink maintains two distinct
volumes: the 'reference' volume which is shown to the users, and the
'real' volume, which is configured to the hardware. The latter is
configured to the max of all streams. Volume changes on sinks are
propagated back to the streams proportional to the reference volume
change. Volume changes on sink inputs are forwarded to the sink by
'pushing' the volume if necessary.
This renames the old 'virtual_volume' to 'real_volume'. The
'reference_volume' is now the one exposed to users.
By this logic the sink volume visible to the user, will always be the
"upper" boundary for everything that is played. Saved/restored stream
volumes are measured relative to this boundary, the factor here is
always < 1.0.
- introduce accuracy for sink volumes, similar to the accuracy we
already have for source volumes.
- other cleanups.
Lennart Poettering [Wed, 19 Aug 2009 00:37:35 +0000 (02:37 +0200)]
match: document how broken the module-match logic is
Lennart Poettering [Wed, 19 Aug 2009 00:32:36 +0000 (02:32 +0200)]
volume: introduce pa_cvolume_{inc|dec}()
Lennart Poettering [Wed, 19 Aug 2009 00:31:11 +0000 (02:31 +0200)]
volume: use PA_VOLUME_MAX instead of (pa_volume_t) -1
Lennart Poettering [Wed, 19 Aug 2009 00:29:59 +0000 (02:29 +0200)]
udev: allow passing of ignore_dB= parameter to alsa modules
Lennart Poettering [Tue, 18 Aug 2009 23:35:43 +0000 (01:35 +0200)]
source: rework volume handling
- drop the 'virtual_' prefix from s->virtual_volume since we don't
distuingish between reference and real volumes for sources
- introduce an accuracy for source volumes: if the hardware can control
the volume "close enough" don't necessarily adjust the rest in
software unless it is beyond a certain threshold. This should save a
little bit of CPU at the expensive of a bit of accuracy in volume
handling.
- other minor cleanups
Lennart Poettering [Tue, 18 Aug 2009 23:03:09 +0000 (01:03 +0200)]
macro: extend comments a bit
Lennart Poettering [Tue, 18 Aug 2009 23:02:32 +0000 (01:02 +0200)]
voltest: extend test to verify correctness of _multiply() and _divide()
Lennart Poettering [Tue, 18 Aug 2009 22:59:23 +0000 (00:59 +0200)]
dbus: never return DBUS_HANDLER_RESULT_HANDLED in filter callbacks, since other callbacks might stell want to have the messages
Lennart Poettering [Tue, 18 Aug 2009 22:58:20 +0000 (00:58 +0200)]
volume: round properly when showing human readable volume percentages
Lennart Poettering [Tue, 18 Aug 2009 22:57:58 +0000 (00:57 +0200)]
volume: simplify volume multiplifactions, do them in integer only
Lennart Poettering [Tue, 18 Aug 2009 22:56:16 +0000 (00:56 +0200)]
volume: introduce pa_cvolume_min() and pa_cvolume_min_mask()
Lennart Poettering [Mon, 17 Aug 2009 17:17:10 +0000 (19:17 +0200)]
macro: simplify page/word alignment macros a bit
Lennart Poettering [Mon, 17 Aug 2009 17:15:33 +0000 (19:15 +0200)]
macro: add PA_ROUND_UP/PA_ROUND_DOWN macros
Lennart Poettering [Mon, 17 Aug 2009 17:14:35 +0000 (19:14 +0200)]
bluetooth: fix match syntax
Lennart Poettering [Mon, 17 Aug 2009 01:51:17 +0000 (03:51 +0200)]
bluetooth: make NameOwnerChanged filter matches more focussed
Lennart Poettering [Mon, 17 Aug 2009 01:50:43 +0000 (03:50 +0200)]
volume: document when arguments of certain functions may overlap
Lennart Poettering [Mon, 17 Aug 2009 01:50:04 +0000 (03:50 +0200)]
libpulse: some minor optimizations when checking equality
Lennart Poettering [Mon, 17 Aug 2009 01:48:51 +0000 (03:48 +0200)]
channelmap: minor doxygen fix
Lennart Poettering [Mon, 17 Aug 2009 01:43:05 +0000 (03:43 +0200)]
channelmap: document where the WAVEX channelmap is documented
Lennart Poettering [Mon, 17 Aug 2009 01:42:34 +0000 (03:42 +0200)]
channelmap: adjust RFC3551 channel maps to follow spec more closely
Lennart Poettering [Mon, 17 Aug 2009 01:41:14 +0000 (03:41 +0200)]
reserver: update from upstream git
Lennart Poettering [Mon, 17 Aug 2009 01:40:36 +0000 (03:40 +0200)]
volume: add pa_cvolume_merge() call
pmkovar [Mon, 17 Aug 2009 00:19:25 +0000 (00:19 +0000)]
Sending translation for Czech
Lennart Poettering [Sun, 16 Aug 2009 00:02:51 +0000 (02:02 +0200)]
aupdate: implicitly call _write_swap() if it wasn't called explicitly
Lennart Poettering [Sat, 15 Aug 2009 22:45:56 +0000 (00:45 +0200)]
core: add to FIXMEs
Lennart Poettering [Sat, 15 Aug 2009 22:45:23 +0000 (00:45 +0200)]
modules: add various checks to avoid selecting objects that are not linked or in another unclear state
Lennart Poettering [Sat, 15 Aug 2009 22:43:22 +0000 (00:43 +0200)]
bluetooth: move installation of mq's earlier to avoid context asserts to be triggered
Lennart Poettering [Sat, 15 Aug 2009 20:25:53 +0000 (22:25 +0200)]
bluetooth: ask first for Headset and AudioSink properties, followed by Audio
Lennart Poettering [Sat, 15 Aug 2009 20:25:21 +0000 (22:25 +0200)]
bluetooth: recognize only those BT devices that implement both the Audio and either AudioSink or Headset interfaces
Lennart Poettering [Sat, 15 Aug 2009 20:24:13 +0000 (22:24 +0200)]
bluetooth: drop PA_BT_AUDIO_STATE_LAST since it is unused and we normally call that _MAX anyway
Lennart Poettering [Sat, 15 Aug 2009 20:23:42 +0000 (22:23 +0200)]
thread-mq: do final q flush only when we aren't dispatching anyway
Lennart Poettering [Sat, 15 Aug 2009 20:22:57 +0000 (22:22 +0200)]
asyncmsgq: introduce pa_asyncmsgq_dispatching()
Lennart Poettering [Sat, 15 Aug 2009 01:42:16 +0000 (03:42 +0200)]
ladspa/remap: sync latency flags from master sink when moving between sinks
Lennart Poettering [Sat, 15 Aug 2009 01:41:13 +0000 (03:41 +0200)]
core: introduce pa_{sink|source}_update_flags()
Marc-André Lureau [Mon, 20 Jul 2009 10:53:17 +0000 (13:53 +0300)]
pulse: even in case of record stream, let's initialize req_bytes to 0
Marc-André Lureau [Mon, 20 Jul 2009 10:44:27 +0000 (13:44 +0300)]
bluetooth: fix typo with service_{read,write}_type
Marc-André Lureau [Mon, 6 Jul 2009 14:50:51 +0000 (17:50 +0300)]
bluetooth: don't call pa_sink_render with 0 bytes request
Juho Hämäläinen [Wed, 12 Aug 2009 15:30:14 +0000 (18:30 +0300)]
database: simple hashmap based database implementation
Maarten Bosmans [Fri, 14 Aug 2009 23:35:53 +0000 (01:35 +0200)]
combine: determine sample parameters of combined sink from underlying sinks
http://pulseaudio.org/ticket/521
Lennart Poettering [Fri, 14 Aug 2009 23:16:57 +0000 (01:16 +0200)]
combine: warn when the latency of a stream gets too high
Lennart Poettering [Fri, 14 Aug 2009 23:07:37 +0000 (01:07 +0200)]
combine: big rework
Lennart Poettering [Fri, 14 Aug 2009 23:04:21 +0000 (01:04 +0200)]
combine: drop adjust_timestamp variable because it is unused
Lennart Poettering [Fri, 14 Aug 2009 23:02:16 +0000 (01:02 +0200)]
ladspa: name sink after human readable plugin name, not the id string
Lennart Poettering [Fri, 14 Aug 2009 23:01:52 +0000 (01:01 +0200)]
module-ladspa: allow moving of sink, forward fixed latency
Lennart Poettering [Fri, 14 Aug 2009 22:59:26 +0000 (00:59 +0200)]
module-remap: allow moving of sink, forward fixed latency
This is a bigger change reworking a number of things:
- We now allow moving of the remap sink betwween backend sinks like any
other stream.
- We forward the fixed latency parameter of the underlying sinks the
same way as the dynamic latency.
Lennart Poettering [Fri, 14 Aug 2009 22:58:19 +0000 (00:58 +0200)]
ladspa: move LADSPA_Data size check to compile time
Lennart Poettering [Fri, 14 Aug 2009 22:57:36 +0000 (00:57 +0200)]
remap: unify argument order with other modules
Lennart Poettering [Fri, 14 Aug 2009 22:55:31 +0000 (00:55 +0200)]
hook-list: make use of PA_LLIST_FOREACH
Lennart Poettering [Fri, 14 Aug 2009 22:54:51 +0000 (00:54 +0200)]
native-protocol: downgrade volume change log messages
Lennart Poettering [Fri, 14 Aug 2009 22:54:25 +0000 (00:54 +0200)]
core: document difference between IO and main thread view on requested latency
Lennart Poettering [Fri, 14 Aug 2009 22:54:02 +0000 (00:54 +0200)]
core: don't update latency range if not changed
Lennart Poettering [Fri, 14 Aug 2009 22:52:50 +0000 (00:52 +0200)]
core: call pa_sink_get_latency_within_thread() instead of going directly via process_msg()
Lennart Poettering [Fri, 14 Aug 2009 22:48:14 +0000 (00:48 +0200)]
core: make fixed latency dynamically changeable
This of course makes the name 'fixed' a bit of a misnomer. However the
definitions are now like this:
fixed latency: the latency may change during runtime, but is solely
controlled by the backend, the client has no influence.
dynamic latency: the latency may change during runtime, influenced by
the requests of the clients.
i.e. fixed vs. dynamic is from the perspective of the client.
Lennart Poettering [Fri, 14 Aug 2009 22:26:00 +0000 (00:26 +0200)]
core: move rtpoll to thread_info sub structure
Lennart Poettering [Fri, 14 Aug 2009 22:16:25 +0000 (00:16 +0200)]
log: place more rate limit invocations
Lennart Poettering [Fri, 14 Aug 2009 22:15:18 +0000 (00:15 +0200)]
rescure-stream: handle failed moves as well as dying sinks/sources
Lennart Poettering [Fri, 14 Aug 2009 22:12:53 +0000 (00:12 +0200)]
core: split of FAIL_ON_SUSPEND into KILL_ON_SUSPEND and NO_CREATE_ON_SUSPEND
Lennart Poettering [Fri, 14 Aug 2009 22:05:17 +0000 (00:05 +0200)]
native: handle moving() callback with NULL destination properly
Lennart Poettering [Fri, 14 Aug 2009 22:03:50 +0000 (00:03 +0200)]
core: introduce pa_{sink_input|source_output}_fail_move()
Lennart Poettering [Fri, 14 Aug 2009 21:55:32 +0000 (23:55 +0200)]
module-stream-restore: don't fiddle with sinks/sources/streams that are not fully set up yet
Lennart Poettering [Fri, 14 Aug 2009 18:03:30 +0000 (20:03 +0200)]
volume: guarantee dB/linear conversion is reversible
Lennart Poettering [Fri, 14 Aug 2009 17:31:05 +0000 (19:31 +0200)]
protocol-native: log explicitly each time a client triggers a volume change
Lennart Poettering [Fri, 14 Aug 2009 17:28:18 +0000 (19:28 +0200)]
daemon: reset gids too, not just uids
Lennart Poettering [Fri, 14 Aug 2009 02:21:09 +0000 (04:21 +0200)]
resampler: round up when estimating input/output sizes
Lennart Poettering [Fri, 14 Aug 2009 02:18:23 +0000 (04:18 +0200)]
thread-mq: never drop queued messages for the main loop
Previously we might have dropped messages from IO trheads to the main
thread. This tuend out to be problematic since this cause SHM release
messages to be lost. More visibly however this could cause playback
freezing when moving streams between sinks and removing the old sink
right away.
Lennart Poettering [Fri, 14 Aug 2009 02:17:48 +0000 (04:17 +0200)]
asyncmsgq: add pa_asyncmsgq_flush() call
Lennart Poettering [Fri, 14 Aug 2009 02:16:28 +0000 (04:16 +0200)]
memblockq: add pa_memblockq_get_maxrewind() API
Lennart Poettering [Fri, 14 Aug 2009 02:14:35 +0000 (04:14 +0200)]
shm: bump shm size limit to 1GB
Lennart Poettering [Fri, 14 Aug 2009 02:12:36 +0000 (04:12 +0200)]
pacmd: handle multi word commands in argv[] properly
eukim [Thu, 13 Aug 2009 12:20:50 +0000 (12:20 +0000)]
Sending translation for po/ko.po
Lennart Poettering [Thu, 13 Aug 2009 00:17:24 +0000 (02:17 +0200)]
core: add functions to query max_rewind/max_request values from streams