On 26.04.2017 14:19, Luiz Augusto von Dentz wrote:
From: Luiz Augusto von Dentz <[email protected]>

This means something went wrong, which in case of ofono backend it is
probably due to the profile not connecting immediately but it can be
safely in that case.

Is there something missing in the commit message? I don't understand
the last part. Do you mean that in this case it can be safely assumed
that the profile is connected now?

---
  src/modules/bluetooth/module-bluez5-device.c | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/modules/bluetooth/module-bluez5-device.c 
b/src/modules/bluetooth/module-bluez5-device.c
index a96da17..2f0ec97 100644
--- a/src/modules/bluetooth/module-bluez5-device.c
+++ b/src/modules/bluetooth/module-bluez5-device.c
@@ -2060,8 +2060,14 @@ 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)
+    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);
+        }
          handle_transport_state_change(u, t);
+    }
return PA_HOOK_OK;
  }


_______________________________________________
pulseaudio-discuss mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to