]> code.delx.au - pulseaudio/commitdiff
implement hook_source_disconnect
authorLennart Poettering <lennart@poettering.net>
Sun, 13 Aug 2006 19:53:18 +0000 (19:53 +0000)
committerLennart Poettering <lennart@poettering.net>
Sun, 13 Aug 2006 19:53:18 +0000 (19:53 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1248 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/source.c

index ae72f040daae05c2e3fb7e13134b1eb61d5f934c..0d55da448d83a63d61a0d1fbb0d6280ed6ab4982 100644 (file)
@@ -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);
 }