diff options
author | Colin Guthrie <colin@mageia.org> | 2011-08-10 10:39:57 +0200 |
---|---|---|
committer | Colin Guthrie <colin@mageia.org> | 2011-08-11 10:36:11 +0200 |
commit | 6b1d9b8d6ae3634caa31c20397ce8510a028dd55 (patch) | |
tree | 1fd2a08537199b87a4d7e85837186230b9a75e04 | |
parent | 0b5a181e1bebdbe6221ae324f98b22ab5a136590 (diff) |
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.
-rw-r--r-- | src/modules/alsa/alsa-sink.c | 3 | ||||
-rw-r--r-- | src/modules/alsa/alsa-source.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index c1655d49..00eb33ae 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 6b6f513c..6438c338 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) |