diff options
author | Lennart Poettering <lennart@poettering.net> | 2006-08-12 02:19:36 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2006-08-12 02:19:36 +0000 |
commit | 3aba099fc3e515db5c4b1f2990c48fdb4160ff52 (patch) | |
tree | 3886b2232a19aa8ba598c453b80c8141f82cabb4 /src/pulsecore/sink.c | |
parent | 47d009afd69612aa97fd368fd481734f1c52909a (diff) |
clean up event generation a little: suppress unnecessary events and generate new ones on owner change
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1212 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore/sink.c')
-rw-r--r-- | src/pulsecore/sink.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c index eecf89cc..d1d9785a 100644 --- a/src/pulsecore/sink.c +++ b/src/pulsecore/sink.c @@ -446,11 +446,16 @@ pa_usec_t pa_sink_get_latency(pa_sink *s) { void pa_sink_set_owner(pa_sink *s, pa_module *m) { assert(s); assert(s->ref >= 1); - + + if (s->owner == m) + return; + s->owner = m; if (s->monitor_source) pa_source_set_owner(s->monitor_source, m); + + pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, s->index); } void pa_sink_set_volume(pa_sink *s, pa_mixer_t m, const pa_cvolume *volume) { |