core: Add infrastructure for synchronizing HW and SW volume changes
authorJyri Sarha <jyri.sarha@nokia.com>
Fri, 15 Oct 2010 10:05:14 +0000 (13:05 +0300)
committerColin Guthrie <cguthrie@mandriva.org>
Sat, 16 Oct 2010 10:53:38 +0000 (11:53 +0100)
commit5391daf8dfcae45c6abb74c0a5ff9b7c50e3c000
tree15c43282a7b2be2d4fc2a73b251d5ec90926236c
parent179b291b18b9a7366955948ce0ddfb2e65a6b66e
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>
src/pulse/def.h
src/pulsecore/sink.c
src/pulsecore/sink.h