summaryrefslogtreecommitdiff
path: root/android/a2dp.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2014-01-16 15:28:09 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2014-01-16 16:01:40 +0200
commitb4d7dd4351c55c0524c53d2855accb5b1c1c90b2 (patch)
tree4a071ffa05bd32cecfb321b00f5e7b3b5dc337a9 /android/a2dp.c
parent484fba70190a56d1ae74b03cd527db049f80acd3 (diff)
downloadbluez-b4d7dd4351c55c0524c53d2855accb5b1c1c90b2.tar.gz
android/A2DP: Send stream fd in open stream response
This adds support of sending stream fd within open stream response.
Diffstat (limited to 'android/a2dp.c')
-rw-r--r--android/a2dp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/android/a2dp.c b/android/a2dp.c
index 7c98c5f1c..e778d5655 100644
--- a/android/a2dp.c
+++ b/android/a2dp.c
@@ -1222,6 +1222,7 @@ static void bt_stream_open(const void *buf, uint16_t len)
const struct audio_cmd_open_stream *cmd = buf;
struct audio_rsp_open_stream *rsp;
struct a2dp_setup *setup;
+ int fd;
DBG("");
@@ -1232,12 +1233,18 @@ static void bt_stream_open(const void *buf, uint16_t len)
return;
}
+ if (avdtp_stream_get_transport(setup->stream, &fd, NULL, NULL, NULL)) {
+ error("avdtp_stream_get_transport: failed");
+ audio_ipc_send_rsp(AUDIO_OP_OPEN_STREAM, AUDIO_STATUS_FAILED);
+ return;
+ }
+
len = sizeof(struct audio_preset) + setup->preset->len;
rsp = g_malloc0(len);
rsp->preset->len = setup->preset->len;
memcpy(rsp->preset->data, setup->preset->data, setup->preset->len);
- audio_ipc_send_rsp_full(AUDIO_OP_OPEN_STREAM, len, rsp, -1);
+ audio_ipc_send_rsp_full(AUDIO_OP_OPEN_STREAM, len, rsp, fd);
g_free(rsp);
}