summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--profiles/audio/avctp.c7
-rw-r--r--profiles/audio/avctp.h2
-rw-r--r--profiles/audio/avrcp.c4
-rw-r--r--profiles/audio/control.c2
4 files changed, 10 insertions, 5 deletions
diff --git a/profiles/audio/avctp.c b/profiles/audio/avctp.c
index 382e77de6..a9ac9fed2 100644
--- a/profiles/audio/avctp.c
+++ b/profiles/audio/avctp.c
@@ -1594,11 +1594,16 @@ gboolean avctp_unregister_browsing_pdu_handler(unsigned int id)
return FALSE;
}
-struct avctp *avctp_connect(const bdaddr_t *src, const bdaddr_t *dst)
+struct avctp *avctp_connect(struct audio_device *device)
{
struct avctp *session;
GError *err = NULL;
GIOChannel *io;
+ 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);
session = avctp_get_internal(src, dst);
if (!session)
diff --git a/profiles/audio/avctp.h b/profiles/audio/avctp.h
index c00a3fc4b..7314a04a7 100644
--- a/profiles/audio/avctp.h
+++ b/profiles/audio/avctp.h
@@ -93,7 +93,7 @@ gboolean avctp_remove_state_cb(unsigned int id);
int avctp_register(const bdaddr_t *src, gboolean master);
void avctp_unregister(const bdaddr_t *src);
-struct avctp *avctp_connect(const bdaddr_t *src, const bdaddr_t *dst);
+struct avctp *avctp_connect(struct audio_device *device);
struct avctp *avctp_get(const bdaddr_t *src, const bdaddr_t *dst);
int avctp_connect_browsing(struct avctp *session);
void avctp_disconnect(struct avctp *session);
diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c
index 8af681b21..ffa35196a 100644
--- a/profiles/audio/avrcp.c
+++ b/profiles/audio/avrcp.c
@@ -2173,7 +2173,7 @@ static struct avrcp *session_create(struct avrcp_server *server,
session = g_new0(struct avrcp, 1);
session->server = server;
- session->conn = avctp_connect(&dev->src, &dev->dst);
+ session->conn = avctp_connect(dev);
session->dev = dev;
server->sessions = g_slist_append(server->sessions, session);
@@ -2254,7 +2254,7 @@ gboolean avrcp_connect(struct audio_device *dev)
{
struct avctp *session;
- session = avctp_connect(&dev->src, &dev->dst);
+ session = avctp_connect(dev);
if (session)
return FALSE;
diff --git a/profiles/audio/control.c b/profiles/audio/control.c
index ef6df720d..31bbcf9a9 100644
--- a/profiles/audio/control.c
+++ b/profiles/audio/control.c
@@ -141,7 +141,7 @@ int control_connect(struct audio_device *dev, audio_device_cb cb, void *data)
if (control->connect)
return -EINPROGRESS;
- control->session = avctp_connect(&dev->src, &dev->dst);
+ control->session = avctp_connect(dev);
if (!control->session)
return -EIO;