From 69eab1e057e000951516cfd381846c33abc8aaf1 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 6 Jun 2009 15:31:46 +0200 Subject: core: suppress suspending/resume when we are already in the right state --- src/pulsecore/sink.c | 3 +++ src/pulsecore/source.c | 3 +++ 2 files changed, 6 insertions(+) (limited to 'src') diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c index 3c4adc6c..a087e42d 100644 --- a/src/pulsecore/sink.c +++ b/src/pulsecore/sink.c @@ -510,6 +510,9 @@ int pa_sink_suspend(pa_sink *s, pa_bool_t suspend, pa_suspend_cause_t cause) { else s->suspend_cause &= ~cause; + if ((pa_sink_get_state(s) == PA_SINK_SUSPENDED) == !!s->suspend_cause) + return 0; + pa_log_debug("Suspend cause of sink %s is 0x%04x, %s", s->name, s->suspend_cause, s->suspend_cause ? "suspending" : "resuming"); if (s->suspend_cause) diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c index 4ade18f6..abb5f4d1 100644 --- a/src/pulsecore/source.c +++ b/src/pulsecore/source.c @@ -441,6 +441,9 @@ int pa_source_suspend(pa_source *s, pa_bool_t suspend, pa_suspend_cause_t cause) else s->suspend_cause &= ~cause; + if ((pa_source_get_state(s) == PA_SOURCE_SUSPENDED) == !!s->suspend_cause) + return 0; + pa_log_debug("Suspend cause of source %s is 0x%04x, %s", s->name, s->suspend_cause, s->suspend_cause ? "suspending" : "resuming"); if (suspend) -- cgit