summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanu Kaskinen <tanuk@iki.fi>2017-06-13 19:02:37 +0300
committerTanu Kaskinen <tanuk@iki.fi>2017-06-17 17:46:49 +0300
commit5f29e670cb4eee3b6e885083a78c26e838877aa5 (patch)
tree11a4d0f1c9205207034cf1a83aa48a5eff0307dd
parentbbac59b0e42a81d4ca198cd0bd9449fca22ddfd9 (diff)
downloadpulseaudio-5f29e670cb4eee3b6e885083a78c26e838877aa5.tar.gz
Revert "bluetooth: Auto recover if profile is 'off'"
This reverts commit 69c212f8c13794f70899d1fe6baec1b6e3c92032. Reasons: The original reason for the patch was to work around some issue regarding the profile not connecting immediately (sorry, I don't really know the details), but that issue was fixed later by commit 998dfdf4cc, so the original reason doesn't apply any more. Automatically changing the profile when the transport state changes to PLAYING has traditionally been handled by module-bluetooth-policy, and as far as I can tell, there's no reason to change that. The assertion is unsafe. It's not guaranteed that the profile change will always succeed (at least pa_thread_mq_init() can fail due to reaching the maximum file descriptor limit).
-rw-r--r--src/modules/bluetooth/module-bluez5-device.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/modules/bluetooth/module-bluez5-device.c b/src/modules/bluetooth/module-bluez5-device.c
index 867def742..7e2b0d799 100644
--- a/src/modules/bluetooth/module-bluez5-device.c
+++ b/src/modules/bluetooth/module-bluez5-device.c
@@ -2126,14 +2126,8 @@ static pa_hook_result_t transport_state_changed_cb(pa_bluetooth_discovery *y, pa
if (t == u->transport && t->state <= PA_BLUETOOTH_TRANSPORT_STATE_DISCONNECTED)
pa_assert_se(pa_card_set_profile(u->card, pa_hashmap_get(u->card->profiles, "off"), false) >= 0);
- if (t->device == u->device) {
- /* Auto recover from errors causing the profile to be set to off */
- if (u->profile == PA_BLUETOOTH_PROFILE_OFF && t->state == PA_BLUETOOTH_TRANSPORT_STATE_PLAYING) {
- pa_log_debug("Switching to profile %s", pa_bluetooth_profile_to_string(t->profile));
- pa_assert_se(pa_card_set_profile(u->card, pa_hashmap_get(u->card->profiles, pa_bluetooth_profile_to_string(t->profile)), false) >= 0);
- }
+ if (t->device == u->device)
handle_transport_state_change(u, t);
- }
return PA_HOOK_OK;
}