Signed-off-by: David Henningsson <david.henningsson at canonical.com> --- src/modules/alsa/alsa-sink.c | 8 ++++++-- src/modules/alsa/alsa-source.c | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index c868453..3a95251 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -1751,8 +1751,12 @@ static void thread_func(void *userdata) { if (u->sink->flags & PA_SINK_DEFERRED_VOLUME) { pa_usec_t volume_sleep; pa_sink_volume_change_apply(u->sink, &volume_sleep); - if (volume_sleep > 0) - rtpoll_sleep = PA_MIN(volume_sleep, rtpoll_sleep); + if (volume_sleep > 0) { + if (rtpoll_sleep > 0) + rtpoll_sleep = PA_MIN(volume_sleep, rtpoll_sleep); + else + rtpoll_sleep = volume_sleep; + } } if (rtpoll_sleep > 0) diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c index d544828..46b89a7 100644 --- a/src/modules/alsa/alsa-source.c +++ b/src/modules/alsa/alsa-source.c @@ -1452,8 +1452,12 @@ static void thread_func(void *userdata) { if (u->source->flags & PA_SOURCE_DEFERRED_VOLUME) { pa_usec_t volume_sleep; pa_source_volume_change_apply(u->source, &volume_sleep); - if (volume_sleep > 0) - rtpoll_sleep = PA_MIN(volume_sleep, rtpoll_sleep); + if (volume_sleep > 0) { + if (rtpoll_sleep > 0) + rtpoll_sleep = PA_MIN(volume_sleep, rtpoll_sleep); + else + rtpoll_sleep = volume_sleep; + } } if (rtpoll_sleep > 0) -- 1.7.5.4