]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/sink.c
Merge remote branch 'origin/merge-queue'
[pulseaudio] / src / pulsecore / sink.c
index 971436d3055b283afdd9c30cddc0808be6ff8e09..24fad34dd049897f4a8dc2866fd35d91c5a5bf6d 100644 (file)
@@ -1731,10 +1731,14 @@ static void sync_input_volumes_within_thread(pa_sink *s) {
     pa_sink_assert_io_context(s);
 
     PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state) {
+        if (pa_atomic_load(&i->before_ramping_v))
+            i->thread_info.future_soft_volume = i->soft_volume;
+
         if (pa_cvolume_equal(&i->thread_info.soft_volume, &i->soft_volume))
             continue;
 
-        i->thread_info.soft_volume = i->soft_volume;
+        if (!pa_atomic_load(&i->before_ramping_v))
+            i->thread_info.soft_volume = i->soft_volume;
         pa_sink_input_request_rewind(i, 0, TRUE, FALSE, FALSE);
     }
 }