]> code.delx.au - pulseaudio/commitdiff
follow _unlink() changes from sink-input
authorLennart Poettering <lennart@poettering.net>
Sat, 3 May 2008 01:33:33 +0000 (01:33 +0000)
committerLennart Poettering <lennart@poettering.net>
Sat, 3 May 2008 01:33:33 +0000 (01:33 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2355 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/source-output.c

index 7f5f374e7b5314837f691e5d915da647efd3b42c..836e30ed2920f8b36b3299cd1aa9e0cf0568f534 100644 (file)
@@ -273,12 +273,12 @@ void pa_source_output_unlink(pa_source_output*o) {
     if (pa_idxset_remove_by_data(o->source->outputs, o, NULL))
         pa_source_output_unref(o);
 
-    if (linked) {
-        pa_asyncmsgq_send(o->source->asyncmsgq, PA_MSGOBJECT(o->source), PA_SOURCE_MESSAGE_REMOVE_OUTPUT, o, 0, NULL);
-        source_output_set_state(o, PA_SOURCE_OUTPUT_UNLINKED);
-        pa_source_update_status(o->source);
-    } else
-        o->state = PA_SOURCE_OUTPUT_UNLINKED;
+    update_n_corked(o, PA_SOURCE_OUTPUT_UNLINKED);
+    o->state = PA_SOURCE_OUTPUT_UNLINKED;
+
+    if (linked)
+        if (o->source->asyncmsgq)
+            pa_asyncmsgq_send(o->source->asyncmsgq, PA_MSGOBJECT(o->source), PA_SOURCE_MESSAGE_REMOVE_OUTPUT, o, 0, NULL);
 
     reset_callbacks(o);