[pulseaudio-discuss] [PATCH] bluetooth: Remove pa_bluetooth_discovery_sync().

Tanu Kaskinen tanuk at iki.fi
Sun Dec 16 23:01:03 PST 2012


pa_bluetooth_discovery_sync() waited until all pending method calls
had completed. I don't understand what the benefit of that could be,
so I removed the function. We should avoid blocking as much as
possible, and the code that used pa_bluetooth_discovery_sync() didn't
look like it really needed to wait for anything.
---
 src/modules/bluetooth/bluetooth-util.c            |   13 -------------
 src/modules/bluetooth/bluetooth-util.h            |    2 --
 src/modules/bluetooth/module-bluetooth-discover.c |   15 ++++-----------
 3 files changed, 4 insertions(+), 26 deletions(-)

diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c
index 392f4a5..b87a87c 100644
--- a/src/modules/bluetooth/bluetooth-util.c
+++ b/src/modules/bluetooth/bluetooth-util.c
@@ -1049,9 +1049,6 @@ pa_bluetooth_device* pa_bluetooth_discovery_get_by_address(pa_bluetooth_discover
     pa_assert(PA_REFCNT_VALUE(y) > 0);
     pa_assert(address);
 
-    if (!pa_hook_is_firing(&y->hooks[PA_BLUETOOTH_HOOK_DEVICE_CONNECTION_CHANGED]))
-        pa_bluetooth_discovery_sync(y);
-
     while ((d = pa_hashmap_iterate(y->devices, &state, NULL)))
         if (pa_streq(d->address, address))
             return device_is_audio_ready(d) ? d : NULL;
@@ -1066,9 +1063,6 @@ pa_bluetooth_device* pa_bluetooth_discovery_get_by_path(pa_bluetooth_discovery *
     pa_assert(PA_REFCNT_VALUE(y) > 0);
     pa_assert(path);
 
-    if (!pa_hook_is_firing(&y->hooks[PA_BLUETOOTH_HOOK_DEVICE_CONNECTION_CHANGED]))
-        pa_bluetooth_discovery_sync(y);
-
     if ((d = pa_hashmap_get(y->devices, path)))
         if (device_is_audio_ready(d))
             return d;
@@ -1763,13 +1757,6 @@ void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) {
     pa_xfree(y);
 }
 
-void pa_bluetooth_discovery_sync(pa_bluetooth_discovery *y) {
-    pa_assert(y);
-    pa_assert(PA_REFCNT_VALUE(y) > 0);
-
-    pa_dbus_sync_pending_list(&y->pending);
-}
-
 pa_hook* pa_bluetooth_discovery_hook(pa_bluetooth_discovery *y, pa_bluetooth_hook_t hook) {
     pa_assert(y);
     pa_assert(PA_REFCNT_VALUE(y) > 0);
diff --git a/src/modules/bluetooth/bluetooth-util.h b/src/modules/bluetooth/bluetooth-util.h
index 59db33c..b7c5973 100644
--- a/src/modules/bluetooth/bluetooth-util.h
+++ b/src/modules/bluetooth/bluetooth-util.h
@@ -141,8 +141,6 @@ pa_bluetooth_discovery* pa_bluetooth_discovery_get(pa_core *core);
 pa_bluetooth_discovery* pa_bluetooth_discovery_ref(pa_bluetooth_discovery *y);
 void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *d);
 
-void pa_bluetooth_discovery_sync(pa_bluetooth_discovery *d);
-
 pa_bluetooth_device* pa_bluetooth_discovery_get_by_path(pa_bluetooth_discovery *d, const char* path);
 pa_bluetooth_device* pa_bluetooth_discovery_get_by_address(pa_bluetooth_discovery *d, const char* address);
 
diff --git a/src/modules/bluetooth/module-bluetooth-discover.c b/src/modules/bluetooth/module-bluetooth-discover.c
index 41981f6..f6e3b83 100644
--- a/src/modules/bluetooth/module-bluetooth-discover.c
+++ b/src/modules/bluetooth/module-bluetooth-discover.c
@@ -40,15 +40,14 @@
 PA_MODULE_AUTHOR("Joao Paulo Rechi Vita");
 PA_MODULE_DESCRIPTION("Detect available bluetooth audio devices and load bluetooth audio drivers");
 PA_MODULE_VERSION(PACKAGE_VERSION);
-PA_MODULE_USAGE("async=<Asynchronous initialization?> "
-                "sco_sink=<name of sink> "
+PA_MODULE_USAGE("sco_sink=<name of sink> "
                 "sco_source=<name of source> ");
 PA_MODULE_LOAD_ONCE(TRUE);
 
 static const char* const valid_modargs[] = {
     "sco_sink",
     "sco_source",
-    "async",
+    "async", /* deprecated */
     NULL
 };
 
@@ -128,7 +127,6 @@ static pa_hook_result_t load_module_for_device(pa_bluetooth_discovery *y, const
 int pa__init(pa_module* m) {
     struct userdata *u;
     pa_modargs *ma = NULL;
-    pa_bool_t async = FALSE;
 
     pa_assert(m);
 
@@ -137,10 +135,8 @@ int pa__init(pa_module* m) {
         goto fail;
     }
 
-    if (pa_modargs_get_value_boolean(ma, "async", &async) < 0) {
-        pa_log("Failed to parse async argument.");
-        goto fail;
-    }
+    if (pa_modargs_get_value(ma, "async", NULL))
+        pa_log_warn("The 'async' argument is deprecated and does nothing.");
 
     m->userdata = u = pa_xnew0(struct userdata, 1);
     u->module = m;
@@ -155,9 +151,6 @@ int pa__init(pa_module* m) {
     u->slot = pa_hook_connect(pa_bluetooth_discovery_hook(u->discovery, PA_BLUETOOTH_HOOK_DEVICE_CONNECTION_CHANGED),
                               PA_HOOK_NORMAL, (pa_hook_cb_t) load_module_for_device, u);
 
-    if (!async)
-        pa_bluetooth_discovery_sync(u->discovery);
-
     return 0;
 
 fail:
-- 
1.7.10.4



More information about the pulseaudio-discuss mailing list