Other modules need to listen to these events. (The current subscription mechanism is asynchronous and might therefore be racy.) Signed-off-by: David Henningsson <david.henningsson at canonical.com> --- src/pulsecore/core.h | 2 ++ src/pulsecore/namereg.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/pulsecore/core.h b/src/pulsecore/core.h index 7d896bb..9bde225 100644 --- a/src/pulsecore/core.h +++ b/src/pulsecore/core.h @@ -126,6 +126,8 @@ typedef enum pa_core_hook { PA_CORE_HOOK_CARD_PROFILE_AVAILABLE_CHANGED, PA_CORE_HOOK_PORT_AVAILABLE_CHANGED, PA_CORE_HOOK_PORT_LATENCY_OFFSET_CHANGED, + PA_CORE_HOOK_DEFAULT_SINK_CHANGED, + PA_CORE_HOOK_DEFAULT_SOURCE_CHANGED, PA_CORE_HOOK_MAX } pa_core_hook_t; diff --git a/src/pulsecore/namereg.c b/src/pulsecore/namereg.c index b2320c0..26e93c4 100644 --- a/src/pulsecore/namereg.c +++ b/src/pulsecore/namereg.c @@ -257,6 +257,7 @@ pa_sink* pa_namereg_set_default_sink(pa_core*c, pa_sink *s) { if (c->default_sink != s) { c->default_sink = s; + pa_hook_fire(&c->hooks[PA_CORE_HOOK_DEFAULT_SINK_CHANGED], s); pa_subscription_post(c, PA_SUBSCRIPTION_EVENT_SERVER|PA_SUBSCRIPTION_EVENT_CHANGE, PA_INVALID_INDEX); } @@ -271,6 +272,7 @@ pa_source* pa_namereg_set_default_source(pa_core*c, pa_source *s) { if (c->default_source != s) { c->default_source = s; + pa_hook_fire(&c->hooks[PA_CORE_HOOK_DEFAULT_SOURCE_CHANGED], s); pa_subscription_post(c, PA_SUBSCRIPTION_EVENT_SERVER|PA_SUBSCRIPTION_EVENT_CHANGE, PA_INVALID_INDEX); } -- 1.9.1