summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzbt <huan.zheng@intel.com>2009-07-16 10:41:58 +0800
committerLennart Poettering <lennart@poettering.net>2009-08-05 20:10:47 +0200
commit897ef86b7fbb87ef17d30c584e6cd93abfc342bc (patch)
tree09b2637f1ac8244033884eb00e9a25a4415fb0a1
parent5318eb35ef3f91836084382a4f3d5ef08d322554 (diff)
Add volume ramping feature - sink modificationmerge-queue
-rw-r--r--src/pulsecore/sink.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
index d8f3c7d1..29500718 100644
--- a/src/pulsecore/sink.c
+++ b/src/pulsecore/sink.c
@@ -1599,10 +1599,14 @@ static void sync_input_volumes_within_thread(pa_sink *s) {
pa_sink_assert_ref(s);
while ((i = PA_SINK_INPUT(pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))) {
+ 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);
}
}