[pulseaudio-discuss] [PATCH 3/4] card: Add hook before profile changes

David Henningsson david.henningsson at canonical.com
Wed Sep 18 07:01:51 PDT 2013


This is useful to modules that want to do things just before a
profile becomes inactive.

Note that the object sent with the hook is the *new* profile, not
the old profile or the card. (This is a difference from the
PA_CORE_HOOK_CARD_PROFILE_CHANGED hook.)
---
 src/pulsecore/card.c |    2 ++
 src/pulsecore/core.h |    1 +
 2 files changed, 3 insertions(+)

diff --git a/src/pulsecore/card.c b/src/pulsecore/card.c
index e6e0836..4614d8a 100644
--- a/src/pulsecore/card.c
+++ b/src/pulsecore/card.c
@@ -272,6 +272,8 @@ int pa_card_set_profile(pa_card *c, const char *name, bool save) {
         return 0;
     }
 
+    pa_hook_fire(&c->core->hooks[PA_CORE_HOOK_CARD_PROFILE_CHANGING], profile);
+
     if ((r = c->set_profile(c, profile)) < 0)
         return r;
 
diff --git a/src/pulsecore/core.h b/src/pulsecore/core.h
index f268e42..179cbb9 100644
--- a/src/pulsecore/core.h
+++ b/src/pulsecore/core.h
@@ -116,6 +116,7 @@ typedef enum pa_core_hook {
     PA_CORE_HOOK_CARD_PUT,
     PA_CORE_HOOK_CARD_UNLINK,
     PA_CORE_HOOK_CARD_PROFILE_CHANGED,
+    PA_CORE_HOOK_CARD_PROFILE_CHANGING,
     PA_CORE_HOOK_CARD_PROFILE_ADDED,
     PA_CORE_HOOK_CARD_PROFILE_AVAILABLE_CHANGED,
     PA_CORE_HOOK_PORT_AVAILABLE_CHANGED,
-- 
1.7.9.5



More information about the pulseaudio-discuss mailing list