From 6b1d9b8d6ae3634caa31c20397ce8510a028dd55 Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Wed, 10 Aug 2011 10:39:57 +0200 Subject: [PATCH] alsa: Ensure that volumes are written to the h/w at startup. If the device support SYNC_VOLUMES then we need to do an additional push to get the actual change on to the h/w. --- src/modules/alsa/alsa-sink.c | 3 +++ src/modules/alsa/alsa-source.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index c1655d4..00eb33a 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -2176,6 +2176,9 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca u->sink->get_mute(u->sink); } + if ((data.volume_is_set || data.muted_is_set) && u->sink->write_volume) + u->sink->write_volume(u->sink); + pa_sink_put(u->sink); if (profile_set) diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c index 6b6f513..6438c33 100644 --- a/src/modules/alsa/alsa-source.c +++ b/src/modules/alsa/alsa-source.c @@ -1935,6 +1935,9 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p u->source->get_mute(u->source); } + if ((data.volume_is_set || data.muted_is_set) && u->source->write_volume) + u->source->write_volume(u->source); + pa_source_put(u->source); if (profile_set) -- 2.7.4