From 46b99c89b0a56cd0ff7c1bec2960bdfe92492663 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Wed, 19 Aug 2020 17:29:58 +0200 Subject: [PATCH] avdtp_util: add avdtp_signaling_emit_accept_for_stream_endpoint --- src/classic/avdtp_util.c | 16 ++++++++++++++++ src/classic/avdtp_util.h | 3 +++ 2 files changed, 19 insertions(+) diff --git a/src/classic/avdtp_util.c b/src/classic/avdtp_util.c index b047560e4..a68c669c3 100644 --- a/src/classic/avdtp_util.c +++ b/src/classic/avdtp_util.c @@ -546,6 +546,22 @@ void avdtp_signaling_emit_accept(uint16_t avdtp_cid, uint8_t local_seid, avdtp_s avdtp_emit_sink_and_source(event, pos); } +void avdtp_signaling_emit_accept_for_stream_endpoint(avdtp_stream_endpoint_t * stream_endpoint, uint8_t local_seid, avdtp_signal_identifier_t identifier, bool is_initiator){ + uint8_t event[8]; + int pos = 0; + event[pos++] = HCI_EVENT_AVDTP_META; + event[pos++] = sizeof(event) - 2; + event[pos++] = AVDTP_SUBEVENT_SIGNALING_ACCEPT; + little_endian_store_16(event, pos, stream_endpoint->connection->avdtp_cid); + pos += 2; + event[pos++] = local_seid; + event[pos++] = is_initiator ? 1 : 0; + event[pos++] = identifier; + + btstack_packet_handler_t packet_handler = avdtp_packet_handler_for_stream_endpoint(stream_endpoint); + (*packet_handler)(HCI_EVENT_PACKET, 0, event, pos); +} + void avdtp_signaling_emit_reject(uint16_t avdtp_cid, uint8_t local_seid, avdtp_signal_identifier_t identifier, bool is_initiator) { uint8_t event[8]; int pos = 0; diff --git a/src/classic/avdtp_util.h b/src/classic/avdtp_util.h index 23a22687d..d23e75578 100644 --- a/src/classic/avdtp_util.h +++ b/src/classic/avdtp_util.h @@ -79,6 +79,9 @@ void avdtp_signaling_emit_sep_done(uint16_t avdtp_cid); void avdtp_signaling_emit_accept(uint16_t avdtp_cid, uint8_t local_seid, avdtp_signal_identifier_t identifier, bool is_initiator); +void avdtp_signaling_emit_accept_for_stream_endpoint(avdtp_stream_endpoint_t * stream_endpoint, uint8_t local_seid, + avdtp_signal_identifier_t identifier, bool is_initiator); + void avdtp_signaling_emit_general_reject(uint16_t avdtp_cid, uint8_t local_seid, avdtp_signal_identifier_t identifier, bool is_initiator); void avdtp_signaling_emit_reject(uint16_t avdtp_cid, uint8_t local_seid, avdtp_signal_identifier_t identifier,