avdtp_sink.c (8b94010e12739aabcaac42189964e23fa45295e6) | avdtp_sink.c (522706d7b490f85207c492962f874b9f76884c09) |
---|---|
1/* 2 * Copyright (C) 2016 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright --- 178 unchanged lines hidden (view full) --- 187uint8_t avdtp_sink_set_configuration(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, uint16_t configured_services_bitmap, avdtp_capabilities_t configuration){ 188 return avdtp_set_configuration(avdtp_cid, local_seid, remote_seid, configured_services_bitmap, configuration, avdtp_sink_context); 189} 190 191uint8_t avdtp_sink_reconfigure(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, uint16_t configured_services_bitmap, avdtp_capabilities_t configuration){ 192 return avdtp_reconfigure(avdtp_cid, local_seid, remote_seid, configured_services_bitmap, configuration, avdtp_sink_context); 193} 194 | 1/* 2 * Copyright (C) 2016 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright --- 178 unchanged lines hidden (view full) --- 187uint8_t avdtp_sink_set_configuration(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, uint16_t configured_services_bitmap, avdtp_capabilities_t configuration){ 188 return avdtp_set_configuration(avdtp_cid, local_seid, remote_seid, configured_services_bitmap, configuration, avdtp_sink_context); 189} 190 191uint8_t avdtp_sink_reconfigure(uint16_t avdtp_cid, uint8_t local_seid, uint8_t remote_seid, uint16_t configured_services_bitmap, avdtp_capabilities_t configuration){ 192 return avdtp_reconfigure(avdtp_cid, local_seid, remote_seid, configured_services_bitmap, configuration, avdtp_sink_context); 193} 194 |
195uint8_t avdtp_sink_delay_report(uint16_t avdtp_cid, uint8_t local_seid, uint16_t delay_ms){ 196 printf("send delay_report\n"); | 195uint8_t avdtp_sink_delay_report(uint16_t avdtp_cid, uint8_t local_seid, uint16_t delay_100us){ |
197 avdtp_connection_t * connection = avdtp_connection_for_avdtp_cid(avdtp_cid, avdtp_sink_context); 198 if (!connection){ 199 log_error("delay_report: no connection for signaling cid 0x%02x found", avdtp_cid); 200 return AVDTP_CONNECTION_DOES_NOT_EXIST; 201 } | 196 avdtp_connection_t * connection = avdtp_connection_for_avdtp_cid(avdtp_cid, avdtp_sink_context); 197 if (!connection){ 198 log_error("delay_report: no connection for signaling cid 0x%02x found", avdtp_cid); 199 return AVDTP_CONNECTION_DOES_NOT_EXIST; 200 } |
202 printf("send delay_report 1\n"); | 201 |
203 if (connection->state != AVDTP_SIGNALING_CONNECTION_OPENED || 204 connection->initiator_connection_state != AVDTP_SIGNALING_CONNECTION_INITIATOR_IDLE) { 205 log_error("delay_report: connection in wrong state, state %d, initiator state %d", connection->state, connection->initiator_connection_state); 206 return AVDTP_CONNECTION_IN_WRONG_STATE; 207 } 208 | 202 if (connection->state != AVDTP_SIGNALING_CONNECTION_OPENED || 203 connection->initiator_connection_state != AVDTP_SIGNALING_CONNECTION_INITIATOR_IDLE) { 204 log_error("delay_report: connection in wrong state, state %d, initiator state %d", connection->state, connection->initiator_connection_state); 205 return AVDTP_CONNECTION_IN_WRONG_STATE; 206 } 207 |
209 printf("send delay_report 2\n"); | |
210 avdtp_stream_endpoint_t * stream_endpoint = avdtp_stream_endpoint_with_seid(local_seid, avdtp_sink_context); 211 if (!stream_endpoint) { 212 log_error("delay_report: no stream_endpoint with seid %d found", local_seid); 213 return AVDTP_SEID_DOES_NOT_EXIST; 214 } | 208 avdtp_stream_endpoint_t * stream_endpoint = avdtp_stream_endpoint_with_seid(local_seid, avdtp_sink_context); 209 if (!stream_endpoint) { 210 log_error("delay_report: no stream_endpoint with seid %d found", local_seid); 211 return AVDTP_SEID_DOES_NOT_EXIST; 212 } |
215 printf("send delay_report 3\n"); 216 | 213 |
217 if (stream_endpoint->state < AVDTP_STREAM_ENDPOINT_CONFIGURED){ 218 log_error("Stream endpoint seid %d in wrong state %d", local_seid, stream_endpoint->state); 219 return AVDTP_STREAM_ENDPOINT_IN_WRONG_STATE; 220 } | 214 if (stream_endpoint->state < AVDTP_STREAM_ENDPOINT_CONFIGURED){ 215 log_error("Stream endpoint seid %d in wrong state %d", local_seid, stream_endpoint->state); 216 return AVDTP_STREAM_ENDPOINT_IN_WRONG_STATE; 217 } |
221 printf("send delay_report 4\n"); 222 | 218 |
223 connection->initiator_transaction_label++; 224 connection->initiator_connection_state = AVDTP_SIGNALING_CONNECTION_INITIATOR_W2_SEND_DELAY_REPORT; | 219 connection->initiator_transaction_label++; 220 connection->initiator_connection_state = AVDTP_SIGNALING_CONNECTION_INITIATOR_W2_SEND_DELAY_REPORT; |
225 connection->delay_ms = delay_ms * 10; | 221 connection->delay_ms = delay_100us; |
226 connection->local_seid = local_seid; 227 connection->remote_seid = stream_endpoint->remote_sep.seid; 228 avdtp_request_can_send_now_initiator(connection, connection->l2cap_signaling_cid); 229 return ERROR_CODE_SUCCESS; 230} 231 | 222 connection->local_seid = local_seid; 223 connection->remote_seid = stream_endpoint->remote_sep.seid; 224 avdtp_request_can_send_now_initiator(connection, connection->l2cap_signaling_cid); 225 return ERROR_CODE_SUCCESS; 226} 227 |