diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index c1655d49a..00eb33aea 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 6b6f513ca..6438c3388 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)