[pulseaudio-commits] src/modules

David Henningsson diwic at kemper.freedesktop.org
Wed Apr 4 05:37:14 PDT 2012


 src/modules/alsa/alsa-sink.c   |    9 +++++++--
 src/modules/alsa/alsa-source.c |    9 +++++++--
 2 files changed, 14 insertions(+), 4 deletions(-)

New commits:
commit 87edc1ccb0846066424f9158acd8fb9e089db0e5
Author: David Henningsson <david.henningsson at canonical.com>
Date:   Tue Apr 3 21:35:07 2012 +0200

    alsa-sink/source: Really set volumes on port change
    
    If deferred volumes were activated, set_volume does not really set
    the volume, and is probably only meant to be called from the main
    thread.
    As we're currently really setting the port and the mute here (i e
    modifying ALSA), we should really modify the volume as well.
    
    Signed-off-by: David Henningsson <david.henningsson at canonical.com>

diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index ea5188c..65f12c2 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -1465,8 +1465,13 @@ static int sink_set_port_cb(pa_sink *s, pa_device_port *p) {
 
     if (s->set_mute)
         s->set_mute(s);
-    if (s->set_volume)
-        s->set_volume(s);
+    if (s->flags & PA_SINK_DEFERRED_VOLUME) {
+        if (s->write_volume)
+            s->write_volume(s);
+    } else {
+        if (s->set_volume)
+            s->set_volume(s);
+    }
 
     return 0;
 }
diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
index 2680302..ab7335d 100644
--- a/src/modules/alsa/alsa-source.c
+++ b/src/modules/alsa/alsa-source.c
@@ -1368,8 +1368,13 @@ static int source_set_port_cb(pa_source *s, pa_device_port *p) {
 
     if (s->set_mute)
         s->set_mute(s);
-    if (s->set_volume)
-        s->set_volume(s);
+    if (s->flags & PA_SOURCE_DEFERRED_VOLUME) {
+        if (s->write_volume)
+            s->write_volume(s);
+    } else {
+        if (s->set_volume)
+            s->set_volume(s);
+    }
 
     return 0;
 }



More information about the pulseaudio-commits mailing list