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
}
}
-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
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
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))