]> code.delx.au - pulseaudio/blobdiff - src/modules/alsa/alsa-source.c
alsa-sink/source: Really set volumes on port change
[pulseaudio] / src / modules / alsa / alsa-source.c
index 2680302c498109f3526a821174242534d86cd5a0..ab7335d8d137d6dd5c47e7f6f2d82aa44951a525 100644 (file)
@@ -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;
 }