Diff between f7b45bd851b6b73ee24e1953f5a8e43cdd13af34 and 0f615355d3baab8147d009fa17a6cb733300696a

Changed Files

File Additions Deletions Status
profiles/audio/avdtp.c +6 -1 modified
profiles/audio/avdtp.h +1 -1 modified
profiles/audio/device.c +3 -4 modified

Full Patch

diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c
index ea56110..406e071 100644
--- a/profiles/audio/avdtp.c
+++ b/profiles/audio/avdtp.c
@@ -3197,10 +3197,15 @@ static gboolean avdtp_parse_rej(struct avdtp *session,
 	}
 }
 
-gboolean avdtp_is_connected(const bdaddr_t *src, const bdaddr_t *dst)
+gboolean avdtp_is_connected(struct audio_device *device)
 {
 	struct avdtp_server *server;
 	struct avdtp *session;
+	const bdaddr_t *src;
+	const bdaddr_t *dst;
+
+	src = adapter_get_address(device_get_adapter(device->btd_dev));
+	dst = device_get_address(device->btd_dev);
 
 	server = find_server(servers, src);
 	if (!server)
diff --git a/profiles/audio/avdtp.h b/profiles/audio/avdtp.h
index 9117e89..e014623 100644
--- a/profiles/audio/avdtp.h
+++ b/profiles/audio/avdtp.h
@@ -218,7 +218,7 @@ struct avdtp *avdtp_get(struct audio_device *device);
 void avdtp_unref(struct avdtp *session);
 struct avdtp *avdtp_ref(struct avdtp *session);
 
-gboolean avdtp_is_connected(const bdaddr_t *src, const bdaddr_t *dst);
+gboolean avdtp_is_connected(struct audio_device *device);
 
 struct avdtp_service_capability *avdtp_service_cap_new(uint8_t category,
 							void *data, int size);
diff --git a/profiles/audio/device.c b/profiles/audio/device.c
index 9979b36..a0ace5e 100644
--- a/profiles/audio/device.c
+++ b/profiles/audio/device.c
@@ -323,14 +323,13 @@ gboolean audio_device_is_active(struct audio_device *dev,
 						const char *interface)
 {
 	if (!interface) {
-		if ((dev->sink || dev->source) &&
-				avdtp_is_connected(&dev->src, &dev->dst))
+		if ((dev->sink || dev->source) && avdtp_is_connected(dev))
 			return TRUE;
 	} else if (!strcmp(interface, AUDIO_SINK_INTERFACE) && dev->sink &&
-				avdtp_is_connected(&dev->src, &dev->dst))
+				avdtp_is_connected(dev))
 		return TRUE;
 	else if (!strcmp(interface, AUDIO_SOURCE_INTERFACE) && dev->source &&
-				avdtp_is_connected(&dev->src, &dev->dst))
+				avdtp_is_connected(dev))
 		return TRUE;
 	else if (!strcmp(interface, AUDIO_CONTROL_INTERFACE) && dev->control &&
 				control_is_active(dev))