Hi Tanu,

On Tue, Nov 20, 2012 at 3:48 PM, Tanu Kaskinen <[email protected]> wrote:
> Without this patch, device modules will be left around after the
> device has been disconnected and when they are reconnected, the
> discovery module will load duplicate device module instances.
>
> BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=57239
> ---
>  src/modules/bluetooth/bluetooth-util.c          |    2 ++
>  src/modules/bluetooth/bluetooth-util.h          |    1 +
>  src/modules/bluetooth/module-bluetooth-device.c |   22 +++++++++++++++++++---
>  3 files changed, 22 insertions(+), 3 deletions(-)
>
> diff --git a/src/modules/bluetooth/bluetooth-util.c 
> b/src/modules/bluetooth/bluetooth-util.c
> index 6b3085b..1f40e81 100644
> --- a/src/modules/bluetooth/bluetooth-util.c
> +++ b/src/modules/bluetooth/bluetooth-util.c
> @@ -517,6 +517,8 @@ static void 
> device_update_any_audio_profile_connected(pa_bluetooth_device *d) {
>      else
>          pa_log_debug("Device %s doesn't have any audio profiles connected 
> anymore.", d->path);
>
> +    
> pa_hook_fire(&d->hooks[PA_BLUETOOTH_DEVICE_HOOK_ANY_AUDIO_PROFILE_CONNECTED_CHANGED],
>  NULL);
> +
>      run_callback(d, false);
>  }
>
> diff --git a/src/modules/bluetooth/bluetooth-util.h 
> b/src/modules/bluetooth/bluetooth-util.h
> index c865b93..bcc7be3 100644
> --- a/src/modules/bluetooth/bluetooth-util.h
> +++ b/src/modules/bluetooth/bluetooth-util.h
> @@ -95,6 +95,7 @@ typedef enum pa_bt_audio_state {
>  typedef enum pa_bluetooth_device_hook {
>      PA_BLUETOOTH_DEVICE_HOOK_REMOVED, /* Call data: NULL. */
>      PA_BLUETOOTH_DEVICE_HOOK_UUID_ADDED, /* Call data: const char *uuid. */
> +    PA_BLUETOOTH_DEVICE_HOOK_ANY_AUDIO_PROFILE_CONNECTED_CHANGED, /* Call 
> data: NULL. */

I would suggest you split this patch into two, in order to add to hook
in the first one without any further changes in
module-bluetooth-device.

Besides, I propose changing the hook to
PA_BLUETOOTH_DEVICE_HOOK_PROFILE_CONNECTED_CHANGED. I think this could
fit your idea and it would additionally be handy to server other
purposes, such as completely removing D-Bus code in
module-bluetooth-device (i.e. remove filter_cb).

Cheers,
Mikel
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to