Linux bluetooth development
 help / color / mirror / Atom feed
* [BlueZ v2 01/12] audio/A2DP: Add implemention of SEP open indication
@ 2014-01-14 10:42 Luiz Augusto von Dentz
  2014-01-14 10:42 ` [BlueZ v2 02/12] audio/A2DP: Add implemention of SEP close indication Luiz Augusto von Dentz
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Luiz Augusto von Dentz @ 2014-01-14 10:42 UTC (permalink / raw)
  To: linux-bluetooth

From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

---
 android/a2dp.c | 49 +++++++++++++++++++++++++++++++++++--------------
 1 file changed, 35 insertions(+), 14 deletions(-)

diff --git a/android/a2dp.c b/android/a2dp.c
index 1f7678a..1a9adb8 100644
--- a/android/a2dp.c
+++ b/android/a2dp.c
@@ -581,9 +581,44 @@ static gboolean sep_setconf_ind(struct avdtp *session,
 	return TRUE;
 }
 
+static struct a2dp_setup *find_setup(uint8_t id)
+{
+	GSList *l;
+
+	for (l = setups; l; l = g_slist_next(l)) {
+		struct a2dp_setup *setup = l->data;
+
+		if (setup->endpoint->id == id)
+			return setup;
+	}
+
+	return NULL;
+}
+
+static gboolean sep_open_ind(struct avdtp *session, struct avdtp_local_sep *sep,
+				struct avdtp_stream *stream, uint8_t *err,
+				void *user_data)
+{
+	struct a2dp_endpoint *endpoint = user_data;
+	struct a2dp_setup *setup;
+
+	DBG("");
+
+	setup = find_setup(endpoint->id);
+	if (!setup) {
+		error("Unable to find stream setup for endpoint %u",
+								endpoint->id);
+		*err = AVDTP_SEP_NOT_IN_USE;
+		return FALSE;
+	}
+
+	return TRUE;
+}
+
 static struct avdtp_sep_ind sep_ind = {
 	.get_capability		= sep_getcap_ind,
 	.set_configuration	= sep_setconf_ind,
+	.open			= sep_open_ind,
 };
 
 static uint8_t register_endpoint(const uint8_t *uuid, uint8_t codec,
@@ -713,20 +748,6 @@ static void bt_audio_close(const void *buf, uint16_t len)
 	audio_ipc_send_rsp(AUDIO_OP_CLOSE, AUDIO_STATUS_SUCCESS);
 }
 
-static struct a2dp_setup *find_setup(uint8_t id)
-{
-	GSList *l;
-
-	for (l = setups; l; l = g_slist_next(l)) {
-		struct a2dp_setup *setup = l->data;
-
-		if (setup->endpoint->id == id)
-			return setup;
-	}
-
-	return NULL;
-}
-
 static void bt_stream_open(const void *buf, uint16_t len)
 {
 	const struct audio_cmd_open_stream *cmd = buf;
-- 
1.8.4.2


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-01-14 10:54 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-14 10:42 [BlueZ v2 01/12] audio/A2DP: Add implemention of SEP open indication Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 02/12] audio/A2DP: Add implemention of SEP close indication Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 03/12] audio/A2DP: Add implemention of SEP start indication Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 04/12] audio/A2DP: Add implemention of SEP suspend indication Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 05/12] android/A2DP: Discover endpoints when initiator Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 06/12] audio/A2DP: Add implemention of SEP set_configuration confirmation Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 07/12] audio/A2DP: Add implemention of SEP open confirmation Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 08/12] audio/A2DP: Add implemention of SEP start confirmation Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 09/12] audio/A2DP: Add implemention of SEP suspend confirmation Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 10/12] audio/A2DP: Add implemention of SEP close confirmation Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 11/12] audio/A2DP: Add implemention of SEP abort confirmation Luiz Augusto von Dentz
2014-01-14 10:42 ` [BlueZ v2 12/12] android/AVDTP: Fix invalid free of struct discover Luiz Augusto von Dentz
2014-01-14 10:54 ` [BlueZ v2 01/12] audio/A2DP: Add implemention of SEP open indication Szymon Janc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox