summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-08-15 19:25:42 +0000
committerLennart Poettering <lennart@poettering.net>2007-08-15 19:25:42 +0000
commit6f714d988750336df036d8036cea9c01dfe6cf39 (patch)
tree9892730cac6742ec4d64ad7fe5772be2f1384366
parent44f91cfafa0c615f773095a822ab7c0c5bdcb585 (diff)
actually mute sinks when asked for i, add new function pa_sink_suspend_all
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1661 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r--src/pulsecore/sink.c14
-rw-r--r--src/pulsecore/sink.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
index cfead9be..2c7c661c 100644
--- a/src/pulsecore/sink.c
+++ b/src/pulsecore/sink.c
@@ -587,6 +587,7 @@ void pa_sink_set_mute(pa_sink *s, int mute) {
pa_sink_assert_ref(s);
changed = s->muted != mute;
+ s->muted = mute;
if (s->set_mute && s->set_mute(s) < 0)
s->set_mute = NULL;
@@ -819,3 +820,16 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
return -1;
}
+
+int pa_sink_suspend_all(pa_core *c, int suspend) {
+ pa_sink *sink;
+ uint32_t idx;
+ int ret = 0;
+
+ pa_core_assert_ref(c);
+
+ for (sink = PA_SINK(pa_idxset_first(c->sinks, &idx)); sink; sink = PA_SINK(pa_idxset_next(c->sinks, &idx)))
+ ret -= pa_sink_suspend(sink, suspend) < 0;
+
+ return ret;
+}
diff --git a/src/pulsecore/sink.h b/src/pulsecore/sink.h
index 8a6fa236..fadc76eb 100644
--- a/src/pulsecore/sink.h
+++ b/src/pulsecore/sink.h
@@ -163,4 +163,6 @@ static inline int PA_SINK_OPENED(pa_sink_state_t x) {
return x == PA_SINK_RUNNING || x == PA_SINK_IDLE;
}
+int pa_sink_suspend_all(pa_core *c, int suspend);
+
#endif