diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2014-01-16 15:28:09 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2014-01-16 16:01:40 +0200 |
commit | b4d7dd4351c55c0524c53d2855accb5b1c1c90b2 (patch) | |
tree | 4a071ffa05bd32cecfb321b00f5e7b3b5dc337a9 /android/a2dp.c | |
parent | 484fba70190a56d1ae74b03cd527db049f80acd3 (diff) | |
download | bluez-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.c | 9 |
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); } |