summaryrefslogtreecommitdiffstats
path: root/src/pulsecore
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-08-13 19:53:18 +0000
committerLennart Poettering <lennart@poettering.net>2006-08-13 19:53:18 +0000
commit79cb80c5740dd00fae89464e7d03f1a7ade6ccdd (patch)
tree89c191f4c5f2c1b063e5607c26ff29f49b060273 /src/pulsecore
parent8f91b1f4c4b47997ce4bfd70dc4e0f7fffe58a35 (diff)
implement hook_source_disconnect
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1248 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore')
-rw-r--r--src/pulsecore/source.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
index ae72f040..0d55da44 100644
--- a/src/pulsecore/source.c
+++ b/src/pulsecore/source.c
@@ -125,7 +125,10 @@ void pa_source_disconnect(pa_source *s) {
assert(s);
assert(s->state == PA_SOURCE_RUNNING);
+ s->state = PA_SOURCE_DISCONNECTED;
pa_namereg_unregister(s->core, s->name);
+
+ pa_hook_fire(&s->core->hook_source_disconnect, s);
while ((o = pa_idxset_first(s->outputs, NULL))) {
assert(o != j);
@@ -142,7 +145,6 @@ void pa_source_disconnect(pa_source *s) {
s->set_hw_mute = NULL;
s->get_hw_mute = NULL;
- s->state = PA_SOURCE_DISCONNECTED;
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE | PA_SUBSCRIPTION_EVENT_REMOVE, s->index);
}