[pulseaudio-discuss] [PATCH] bluetooth: Always initialize profile->available

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Mon Aug 11 02:47:46 PDT 2014


If the transport for the profile doesn't exist, the old behaviour was
to leave cp->available at the default value, which is
PA_AVAILABLE_UNKNOWN, but if there's no transport, the profile should
be marked as unavailable.
---
 src/modules/bluetooth/module-bluez5-device.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/modules/bluetooth/module-bluez5-device.c b/src/modules/bluetooth/module-bluez5-device.c
index 57b2791..03f84d5 100644
--- a/src/modules/bluetooth/module-bluez5-device.c
+++ b/src/modules/bluetooth/module-bluez5-device.c
@@ -1542,8 +1542,12 @@ static pa_card_profile *create_card_profile(struct userdata *u, const char *uuid
         *p = PA_BLUETOOTH_PROFILE_A2DP_SOURCE;
     }
 
-    if (cp && u->device->transports[*p])
-        cp->available = transport_state_to_availability(u->device->transports[*p]->state);
+    if (cp) {
+        if (u->device->transports[*p])
+            cp->available = transport_state_to_availability(u->device->transports[*p]->state);
+        else
+            cp->available = PA_AVAILABLE_NO;
+    }
 
     return cp;
 }
-- 
1.9.3



More information about the pulseaudio-discuss mailing list