[pulseaudio-discuss] [PATCH v2 4/5] bluetooth: Run the discovery hook only when necessary.
Tanu Kaskinen
tanuk at iki.fi
Tue Nov 20 06:48:12 PST 2012
This is a minor optimization too, but the main benefit is that it's
makes the code easier to understand (I hope), since run_callback()
won't be called at times when it's not needed.
---
src/modules/bluetooth/bluetooth-util.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c
index 393aec3..6b3085b 100644
--- a/src/modules/bluetooth/bluetooth-util.c
+++ b/src/modules/bluetooth/bluetooth-util.c
@@ -516,6 +516,8 @@ static void device_update_any_audio_profile_connected(pa_bluetooth_device *d) {
pa_log_debug("Device %s has now at least one audio profile connected.", d->path);
else
pa_log_debug("Device %s doesn't have any audio profiles connected anymore.", d->path);
+
+ run_callback(d, false);
}
static void get_properties_reply(DBusPendingCall *pending, void *userdata) {
@@ -553,7 +555,7 @@ static void get_properties_reply(DBusPendingCall *pending, void *userdata) {
if (dbus_message_is_error(r, DBUS_ERROR_SERVICE_UNKNOWN)) {
pa_log_debug("Bluetooth daemon is apparently not available.");
remove_all_devices(y);
- goto finish2;
+ goto finish;
}
if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) {
@@ -621,10 +623,6 @@ static void get_properties_reply(DBusPendingCall *pending, void *userdata) {
}
finish:
- if (d != NULL)
- run_callback(d, FALSE);
-
-finish2:
dbus_message_unref(r);
PA_LLIST_REMOVE(pa_dbus_pending, y->pending, p);
@@ -890,8 +888,6 @@ static DBusHandlerResult filter_cb(DBusConnection *bus, DBusMessage *m, void *us
device_update_any_audio_profile_connected(d);
}
-
- run_callback(d, FALSE);
}
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
--
1.7.10.4
More information about the pulseaudio-discuss
mailing list