From 95d3faaac8038116d8008477dcf1034a25ab30a0 Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Mon, 29 Jun 2009 17:46:30 +0300 Subject: bluetooth: don't connect on unconnected profile --- src/modules/bluetooth/module-bluetooth-device.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c index f7dbfd9c..0560ef32 100644 --- a/src/modules/bluetooth/module-bluetooth-device.c +++ b/src/modules/bluetooth/module-bluetooth-device.c @@ -2085,6 +2085,15 @@ static int add_card(struct userdata *u, const pa_bluetooth_device *device) { u->card->userdata = u; u->card->set_profile = card_set_profile; + d = PA_CARD_PROFILE_DATA(u->card->active_profile); + + if ((device->headset_state < PA_BT_AUDIO_STATE_CONNECTED && *d == PROFILE_HSP) || + (device->audio_sink_state < PA_BT_AUDIO_STATE_CONNECTED && *d == PROFILE_A2DP)) { + pa_log_warn("Default profile not connected, selecting off profile"); + u->card->active_profile = pa_hashmap_get(u->card->profiles, "off"); + u->card->save_profile = FALSE; + } + d = PA_CARD_PROFILE_DATA(u->card->active_profile); u->profile = *d; -- cgit