From: Jyri Sarha <jyri.sarha@xxxxxxxxx> These are all pretty obvious fixes, but maybe the "core: Use volume_change_safety_margin when rewinding sync-volume events" A volume change always triggers a rewinding on the sink. This is sometimes a problem when the flat-volume is turning HW volume down and compensating with SW volume. The rewind gets the samples with the new SW-volume very close to HW-pointer and we may not have enough headroom to process rewinding on the streams and monitor source before the first samples are played out. With the patch I first of all rewind the volume changes differently depending on whether volume is going up or down. The volume events are rewound as soon as possible after DMA-buffer rewinding and immediately after it there is a check if we should write something to HW. Cheers, Jyri Jyri Sarha (5): core: Change sematics of pa_flist_new_with_name() core: Use volume_change_safety_margin when rewinding sync-volume events core: Use pa_sink_get_latency_within_thread() in sync-volume code alsa-sink: Fix double use of string alsa-sink: Don't assume we were able to enable hw-volume or sync-volume src/modules/alsa/alsa-sink.c | 53 ++++++++++++++++++++++------------------- src/pulsecore/flist.c | 5 +++- src/pulsecore/flist.h | 4 +- src/pulsecore/sink.c | 33 ++++++++++++++------------ 4 files changed, 52 insertions(+), 43 deletions(-)