summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pulsecore/source.c14
-rw-r--r--src/pulsecore/source.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
index 0e448f60..30a45cb6 100644
--- a/src/pulsecore/source.c
+++ b/src/pulsecore/source.c
@@ -320,6 +320,7 @@ void pa_source_set_mute(pa_source *s, int mute) {
pa_source_assert_ref(s);
changed = s->muted != mute;
+ s->muted = mute;
if (s->set_mute && s->set_mute(s) < 0)
s->set_mute = NULL;
@@ -438,3 +439,16 @@ int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, int64_
return -1;
}
+
+int pa_source_suspend_all(pa_core *c, int suspend) {
+ uint32_t idx;
+ pa_source *source;
+ int ret = 0;
+
+ pa_core_assert_ref(c);
+
+ for (source = PA_SOURCE(pa_idxset_first(c->sources, &idx)); source; source = PA_SOURCE(pa_idxset_next(c->sources, &idx)))
+ ret -= pa_source_suspend(source, suspend) < 0;
+
+ return ret;
+}
diff --git a/src/pulsecore/source.h b/src/pulsecore/source.h
index fe59e584..ffe51079 100644
--- a/src/pulsecore/source.h
+++ b/src/pulsecore/source.h
@@ -152,4 +152,6 @@ static inline int PA_SOURCE_OPENED(pa_source_state_t x) {
return x == PA_SOURCE_RUNNING || x == PA_SOURCE_IDLE;
}
+int pa_source_suspend_all(pa_core *c, int suspend);
+
#endif