[pulseaudio-discuss] [PATCH v2] bluetooth: Fix possible adapter duplicates
Tanu Kaskinen
tanuk at iki.fi
Mon Feb 18 09:52:43 PST 2013
On Sun, 2013-02-17 at 10:04 +0100, Mikel Astiz wrote:
> From: Mikel Astiz <mikel.astiz at bmw-carit.de>
>
> The D-Bus signal AdapterAdded can be received during our call to
> GetProperties(), before the reply is received. In this case, the adapter
> will be listed twice and thus the endpoint registration will fail with
> "AlreadyExists" as follows:
>
> D: [pulseaudio] bluetooth-util.c: dbus: interface=org.bluez.Manager, path=/, member=AdapterAdded
> D: [pulseaudio] bluetooth-util.c: Adapter /org/bluez/21220/hci0 created
> D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPAG on adapter /org/bluez/21220/hci0.
> D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPHS on adapter /org/bluez/21220/hci0.
> D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSource on adapter /org/bluez/21220/hci0.
> D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSink on adapter /org/bluez/21220/hci0.
> D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPAG on adapter /org/bluez/21220/hci0.
> D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPHS on adapter /org/bluez/21220/hci0.
> D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSource on adapter /org/bluez/21220/hci0.
> D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSink on adapter /org/bluez/21220/hci0.
> E: [pulseaudio] bluetooth-util.c: RegisterEndpoint() failed: org.bluez.Error.AlreadyExists: Already Exists
> E: [pulseaudio] bluetooth-util.c: RegisterEndpoint() failed: org.bluez.Error.AlreadyExists: Already Exists
> E: [pulseaudio] bluetooth-util.c: RegisterEndpoint() failed: org.bluez.Error.AlreadyExists: Already Exists
> E: [pulseaudio] bluetooth-util.c: RegisterEndpoint() failed: org.bluez.Error.AlreadyExists: Already Exists
> ---
> src/modules/bluetooth/bluetooth-util.c | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
Applied, thanks.
> @@ -1015,6 +1024,7 @@ static DBusHandlerResult filter_cb(DBusConnection *bus, DBusMessage *m, void *us
>
> if (new_owner && *new_owner) {
> pa_log_debug("Bluetooth daemon appeared.");
> + y->adapters_listed = false;
I was still not entirely happy with the location of this assignment. I
moved it a few lines up, where we detect that the daemon disappeared.
--
Tanu
More information about the pulseaudio-discuss
mailing list