pulseaudio/src/pulse
Jyri Sarha 5391daf8df core: Add infrastructure for synchronizing HW and SW volume changes
To make concurrent use of SW and HW volume glitchles their application
needs to be synchronized. For accurate synchronization the HW volume
needs to be applied in IO thread. This patch adds infrastructure to
delay the applying of HW volume to match with SW volume timing. To
avoid synchronization problems this patch moves many of the volume and
mute related functions from main thread to IO thread. All these
changes become active only if the sync volume flag for a sink has been
set. So, for this patch to have any effect it needs to be taken into
use by sink implementor.

Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
2010-10-16 11:53:38 +01:00
..
.gitignore add another .gitignore file, this time for pulse/ 2008-06-18 00:47:32 +02:00
browser.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
browser.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
cdecl.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
channelmap.c channelmap: Use "Subwoofer" as pretty name for LFE 2010-02-21 17:48:36 +01:00
channelmap.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
client-conf-x11.c x11: Use the default screen for X11 properties. 2010-09-18 12:05:38 +01:00
client-conf-x11.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
client-conf.c client: introduce auto-connect-display= following the scheme of auto-connect-localhost= 2010-01-13 22:15:52 +01:00
client-conf.h client: introduce auto-connect-display= following the scheme of auto-connect-localhost= 2010-01-13 22:15:52 +01:00
client.conf.in client.conf.in: Typo. s/a/are/ 2010-02-02 09:02:21 +01:00
context.c dbus: remove filter functions only if they were actually set before 2010-02-09 22:28:17 +00:00
context.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
def.h core: Add infrastructure for synchronizing HW and SW volume changes 2010-10-16 11:53:38 +01:00
error.c libpulse: add new error code PA_ERR_BUSY 2009-09-11 01:20:45 +02:00
error.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
ext-device-manager.c device-manager: Rather than flagging the device as available, just include the sink/source index with PA_INVALID_INDEX meaning unavailable 2009-10-10 15:45:49 +01:00
ext-device-manager.h device-manager: Update docs version -> 0.9.20 2009-11-11 17:24:57 +00:00
ext-stream-restore.c Fix checking for NULL after usage 2009-08-28 17:12:44 +02:00
ext-stream-restore.h libpulse: add missing includes 2009-10-12 21:21:26 +02:00
fork-detect.c add pa_assert_cc() for compile time assertions 2009-03-23 21:03:52 +01:00
fork-detect.h try to detect when stupid clients forks and refuse all service from then on 2009-03-05 04:33:40 +01:00
gccmacro.h gccmacro: enable weakrefs only on ELF 2009-09-15 04:31:54 +02:00
glib-mainloop.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
glib-mainloop.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
i18n.c add i18n support 2008-08-06 18:54:13 +02:00
i18n.h import version.h in all header files to make sure that version-based feature testing works 2009-01-27 02:36:42 +01:00
internal.h dbus: remove filter functions only if they were actually set before 2010-02-09 22:28:17 +00:00
introspect.c introspect: Include whether a stream is corked in the info callback. 2010-10-06 09:17:01 +01:00
introspect.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
mainloop-api.c don't use PA_GCC_UNUSED anymore 2008-08-09 16:20:29 +02:00
mainloop-api.h Base mainloop on pa_rtclock_now() 2009-06-20 17:29:31 +03:00
mainloop-signal.c use cloexec wrappers wherever applicable 2009-10-30 03:32:38 +01:00
mainloop-signal.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
mainloop.c poll() is totally broken on Mac OS X 2009-12-16 16:11:36 +08:00
mainloop.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
Makefile big s/polyp/pulse/g 2006-06-19 21:53:48 +00:00
operation.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
operation.h client: extend documentation on pa_operation_cancel() a bit 2009-08-03 23:07:59 +02:00
proplist.c Merge branch 'master' of git://0pointer.de/pulseaudio into dbus-work 2009-08-30 20:07:31 +03:00
proplist.h proplist: explicitly mention a role 'test' 2010-02-21 17:48:42 +01:00
pulseaudio.h doxygen: add rtclock.h to documentation 2009-09-11 01:49:39 +02:00
rtclock.c pulse: move pa_rtclock_now in pulsecommon 2009-06-20 17:29:08 +03:00
rtclock.h rtclock: document that we fallback to wallclock time if monotonic time is not supported 2009-06-23 00:15:57 +02:00
sample.c sample: manually inline table lookups 2009-08-20 11:31:04 +02:00
sample.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
scache.c volume: Use a macro to check if a volume is valid 2010-10-15 01:10:00 +05:30
scache.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
simple.c simple: check for == RUNNING instead of != DONE when waiting for operations 2009-08-05 01:05:35 +02:00
simple.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
stream.c AC3 passthrough support 2010-08-12 18:20:27 +01:00
stream.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
subscribe.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
subscribe.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
thread-mainloop.c thread: name all threads so that the names appear in /proc/$PID/task/$TID/comm 2010-05-07 23:58:59 +02:00
thread-mainloop.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
timeval.c timeval: make timeval conversion routines handle PA_USEC_INVALID special 2009-09-18 04:14:39 +02:00
timeval.h doxygen: Fix documentation typos 2010-10-13 09:07:39 +01:00
utf8.c utf8: minor simplification 2009-09-08 23:49:42 +02:00
utf8.h add new API pa_ascii_valid(), pa_ascii_filter() 2009-02-04 17:11:56 +01:00
util.c freebsd: implement pa_get_binary_name 2009-11-21 01:13:35 +01:00
util.h util: if NULL is passed to pa_path_get_filename() just hand it through 2009-04-19 19:02:16 +02:00
version.h.in version: fix prefix in PA_CHECK_VERSION macro 2009-06-17 03:06:13 +02:00
volume.c volume: Clamp volume to PA_VOLUME_MAX 2010-10-15 01:10:00 +05:30
volume.h volume: Decrease PA_VOLUME_MAX to be < 2^31 2010-10-15 01:10:00 +05:30
xmalloc.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
xmalloc.h malloc: implement pa_xrenew() 2009-06-17 03:07:42 +02:00