]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/dbus-shared.c
sink-input/source-output: Fix LFE remixing suddenly enabled
[pulseaudio] / src / pulsecore / dbus-shared.c
index b52c14cbbde180a1512f9b2e0da1b7df988c10a5..2a5c5173cd44a22c887eec541285ee77d7b031f0 100644 (file)
 #include <config.h>
 #endif
 
-#include <stdarg.h>
-
 #include <pulse/xmalloc.h>
-#include <pulse/timeval.h>
-#include <pulsecore/log.h>
+
 #include <pulsecore/shared.h>
 
 #include "dbus-shared.h"
@@ -41,7 +38,7 @@ struct pa_dbus_connection {
     const char *property_name;
 };
 
-static pa_dbus_connection* pa_dbus_connection_new(pa_core *c, pa_dbus_wrap_connection *conn, const char *name) {
+static pa_dbus_connection* dbus_connection_new(pa_core *c, pa_dbus_wrap_connection *conn, const char *name) {
     pa_dbus_connection *pconn;
 
     pconn = pa_xnew(pa_dbus_connection, 1);
@@ -70,15 +67,13 @@ pa_dbus_connection* pa_dbus_bus_get(pa_core *c, DBusBusType type, DBusError *err
     if ((pconn = pa_shared_get(c, prop_name[type])))
         return pa_dbus_connection_ref(pconn);
 
-    if (!(conn = pa_dbus_wrap_connection_new(c->mainloop, type, error)))
+    if (!(conn = pa_dbus_wrap_connection_new(c->mainloop, true, type, error)))
         return NULL;
 
-    pconn = pa_dbus_connection_new(c, conn, prop_name[type]);
-
-    return pconn;
+    return dbus_connection_new(c, conn, prop_name[type]);
 }
 
-DBusConnection* pa_dbus_connection_get(pa_dbus_connection *c){
+DBusConnection* pa_dbus_connection_get(pa_dbus_connection *c) {
     pa_assert(c);
     pa_assert(PA_REFCNT_VALUE(c) > 0);
     pa_assert(c->connection);
@@ -93,7 +88,8 @@ void pa_dbus_connection_unref(pa_dbus_connection *c) {
     if (PA_REFCNT_DEC(c) > 0)
         return;
 
-    /* already disconnected, just free */
+    pa_dbus_wrap_connection_free(c->connection);
+
     pa_shared_remove(c->core, c->property_name);
     pa_xfree(c);
 }
@@ -106,6 +102,3 @@ pa_dbus_connection* pa_dbus_connection_ref(pa_dbus_connection *c) {
 
     return c;
 }
-
-
-