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

Check the card Type property instead of assuming ofono would only be used
for HF role.
---
  src/modules/bluetooth/backend-ofono.c | 10 ++++++++--
  1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/modules/bluetooth/backend-ofono.c 
b/src/modules/bluetooth/backend-ofono.c
index e18772d..3fbf153 100644
--- a/src/modules/bluetooth/backend-ofono.c
+++ b/src/modules/bluetooth/backend-ofono.c
@@ -209,6 +209,7 @@ static void hf_audio_agent_card_found(pa_bluetooth_backend 
*backend, const char
      const char *key, *value;
      struct hf_audio_card *card;
      pa_bluetooth_device *d;
+    pa_bluetooth_profile_t p = PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY;
pa_assert(backend);
      pa_assert(path);
@@ -240,7 +241,12 @@ static void hf_audio_agent_card_found(pa_bluetooth_backend 
*backend, const char
          } else if (pa_streq(key, "LocalAddress")) {
              pa_xfree(card->local_address);
              card->local_address = pa_xstrdup(value);
-        }
+        } else if (pa_streq(key, "Type")) {
+               if (pa_streq(value, "gateway"))
+                       p = PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT;
+               else if pa_streq(value, "handsfree")
+                       p = PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY;
+       }

Missing parentheses around the "else if" condition. Do we need it at all?
Maybe just add a comment that we assume that the remote role is
PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY if the type is not
set to "gateway".

pa_log_debug("%s: %s", key, value); @@ -253,7 +259,7 @@ static void hf_audio_agent_card_found(pa_bluetooth_backend *backend, const char
          goto fail;
      }
- card->transport = pa_bluetooth_transport_new(d, backend->ofono_bus_id, path, PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY, NULL, 0);
+    card->transport = pa_bluetooth_transport_new(d, backend->ofono_bus_id, 
path, p, NULL, 0);
      card->transport->acquire = hf_audio_agent_transport_acquire;
      card->transport->release = hf_audio_agent_transport_release;
      card->transport->userdata = card;


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

Reply via email to