History log of /system/bt/internal_include/bt_target.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7143bd0dca2d17d8018af102e3b064abdb0b21ad 30-Mar-2018 Zach Johnson <zachoverflow@google.com> Allow platforms to override client connection sniff timeout

It is already possible to set server connection sniff timeouts.

Bug: 70309445
Test: inspect timeouts via logs
Change-Id: Ibc19dd4f77aa28388169b2ce70d12200020e6a4d
/system/bt/internal_include/bt_target.h
ef673c546cf802602ce1582aebef4f0d83622961 22-Dec-2016 Ajay Panicker <apanicke@google.com> Uprev to AVDTP 1.3 and Implement AVDTP delay reports

Implement receiving the delay report message which requires AVDTP 1.3.
Also start keeping track of total number of audio bytes sent over the
air. We now will report both of these values to the audio HAL so that
they can adjust audio playback using these values.

Bug: 32755225
Test: Manual test with a device that supports delay reporting
Testtracker: 145280
Change-Id: I22c1c6401e4912efab06fa56fb582faae4b38eaf
/system/bt/internal_include/bt_target.h
56363e828c163a222ed151cc51c75ae20099f0c0 16-Feb-2018 Jakub Pawlowski <jpawlowski@google.com> Get rid of BTA_HOST_INTERLEAVE_SEARCH

Test: compilation
Change-Id: I6f91cd783fc1dd46cda55d3456a67eb78ba4c7ae
/system/bt/internal_include/bt_target.h
d752229b61663d1d68ec302c8d2074ef5086b973 25-Nov-2017 Pavlin Radoslavov <pavlin@google.com> Add support for Multi-A2DP state machines per device

* Reimplement most of the BTIF AV state machinery in C++
- Separate the BTIF AV Source from BTIF AV Sink state:
btif_av_source and btif_av_sink
- Remove the single btif_av_cb control block instance
- Add C++ based BtifStateMachine and remove the older C-based
btif_sm state machine
- Introduce C++ class BtifAvPeer to keep state per peer, and use
a single state machine instance per peer
- Update BTA_AvStart() and BTA_AvStop() to take tBTA_AV_HNDL handle
argument
- Register the BTA handles when enabling the Source/Sink service.
This needs to be done in advance during service startup, otherwise
a connection to a remote device will fail.
- Move local event_handler functions inside C++ ProcessEvent methods,
and pocess the BTIF, BTA AV and BTA AVRCP events per state machine
instance
- Cleanup callbacks and use do_in_jni_thread() to schedule the processing
- Add BTIF AV API that needs to be called by the AVRCP module for certain
AVRCP events: btif_av_avrcp_event_open(), btif_av_avrcp_event_close()
btif_av_avrcp_event_remote_play()
- Add a mechanism to set the active device
- Add BluetoothDevice argument to the codec-related internal Binder
APIs: getCodecStatus(), enableOptionalCodecs(),
disableOptionalCodecs(), setCodecConfigPreference()
- Rename btif_av_move_idle() to btif_av_acl_disconnected() and
refactor the processing to happen within each state machine on the
correct thread.
- Process cleanup_src and cleanup_sink on the JNI thread
- Add a mechanism to track the maximum number of connected devices.
- Add unit tests for the new BtifStateMachine class

* Redesign some of the AVDTP internals so it can handle multiple connected
devices
- Change some of the AVDTP struct entries to C++ classes.
This simplifies significantly the design fixes
- Reorganize the AvdtpScb entries: for each connection the
corresponding SEP entries are within the corresponding AvdtpCcb entry.
- Pass peer address as argument to the API functions inside bta_av_co.cc,
and update the peer address inside the corresponding peer entry in
bta_av_co.cc
- Add various log mesages
- Store precomputed BTA AV SCB index in the AvdtpCcb entry and use it as
appropriate.
- Fix the TCID computation and handling for the AvdtpAdaptationLayer
- Fix the computed value for AVDT_NUM_RT_TBL
- Remove video-related code inside AVDTP
- Refactor/cleanup hard-coded callbacks that depend on the BTA_AV_NUM_STRS
value.
- Update various #define values to support a larger number of connected
devices:
- Maximum number of streams:
BTA_AV_NUM_STRS: 2 -> 6
- BT_RC_NUM_APP: 1 -> 12 (AVRCP-related - 2 * MaxDevices)
- MAX_L2CAP_LINKS: 7 -> 13
- MAX_L2CAP_CHANNELS: 16 -> 32
- AVDT_NUM_LINKS: 2 -> 6
- AVDT_NUM_SEPS: (6 * AVDT_NUM_LINKS) -> 6
Now the value is used for the maximum number of SEPs per device
- AVDT_NUM_TC_TBL: 6 -> (AVDT_NUM_SEPS + AVDT_NUM_LINKS)
- AVCT_NUM_LINKS: 2 -> 6
- AVCT_NUM_CONN: 3 -> 14 (2 * MaxDevices + 2)

Also:
- Update the JNI codec-related calls to use const reference
instead of a pointer
- Update the implementation of bta_av_chk_2nd_start() so it is aligned
with bta_av_chk_start() and cleaned up both functions.
- Rename btif_dispatch_sm_event() to btif_av_dispatch_sm_event() and
btif_report_source_codec_state() to btif_av_report_source_codec_state()
for consistency with the rest of the BTIF AV API.
- Add new function btif_rc_is_connected_peer() and remove
btif_rc_get_connected_peer()
- Add new AVRCP header file btif/include/btif_rc.h
and move the AVRCP "extern" declarations from btif_av.cc there.
- Rename btif_av_execute_service() to btif_av_source_execute_service()
- Cleanup the btif_av.h API descriptions
- Print the BTIF AV state in the "dumpsys bluetooth_manager" output
- Print the BTA AV state in the "dumpsys bluetooth_manager" output
- Print the AVDTP state in the "dumpsys bluetooth_manager" output
- Refactor btif_a2dp_source_cb into a class with internal state.
- Refactor A2DP Source worker thread handling and replace it with
libchrome message handler
- Refactor BtaAvCo component (bta_av_co.cc)
- C++ classes and state
- Rename bta_av_co_audio_src_data_path to
bta_av_co_audio_source_data_path
- Remove most BTA_AV_CO_CP_SCMS_T checks
- Replace mutex_global_lock() usage with local mutex
- Keep codec-specific state per peer
- Keep state about the active peer - the first connected peer is the
default active peer
- Report source codec state only for valid peers; i.e., don't report
source codec state for empty RawAddress
- Keep the contect_protect_active flag per peer
- Print the BTA AV CO state in the dumpsys bluetooth_manager" output
- Misc cleanup in BTA AV
- Add ToString() method to struct btav_a2dp_codec_config_t
- Additional cleanup

Bug: 70350399
Test: Manual and unit tests
Change-Id: Icecd7fd44a222d939b63a7473a2239ae0679f08c
Merged-In: Icecd7fd44a222d939b63a7473a2239ae0679f08c
(cherry picked from commit c7242818d4180dec4eae2e75f9fb91f7f6a160aa)
/system/bt/internal_include/bt_target.h
0edfa5fa5b7ec68b033c6b2e6e8315f8e2269e70 02-Jan-2018 Hansong Zhang <hsz@google.com> Temporarily remove broken SCO-over-HCI implementation

This is currently not used on known Android platforms and currently does
not compile. To be re-visited when SCO-over-HCI can be re-implemented
based on the new HAL.

Test: make
Bug: 70965527
Change-Id: Iefff5b3fb1599a0cdb2c7fb90b463f3643a2a47e
/system/bt/internal_include/bt_target.h
36b0aa02219b2b42d78217cd122b50640298161b 11-Dec-2017 Kim Low <klow@gaikai.com> Increase default SDP_MTU_SIZE to 1024

This fixes a problem where older DualShock4 controllers would
not connect with SDP_MTU_SIZE < 1024.

Fixes: 70356237
Change-Id: I96a6ee0536547b93f2ae411eb1d8860292855c31
/system/bt/internal_include/bt_target.h
56c48f06db8438ff66e6461823e50398e92826d6 18-Nov-2017 Pavlin Radoslavov <pavlin@google.com> Removed unused or unnecessary defines

Removed the following defines because they are unused or unnecessary:
- AVDT_REPORTING
- AVRC_METADATA_INCLUDED
- BTA_INCLUDED
- SBC_FOR_EMBEDDED_LINUX
- BTA_AVRCP_FF_RW_SUPPORT
- GATT_DB_BUF_SIZE
- BTM_DEFAULT_SCO_MODE
- BTM_BLE_ADV_TX_POWER
- BTM_BLE_ADV_TX_POWER_*
- ATT_INCLUDED
- ATT_DEBUG
- GAP_TRANSPORT_SUPPORTED
- GATTP_TRANSPORT_SUPPORTED
- PORT_CREDIT_RX_MAX
- PORT_CREDIT_RX_LOW
- AVDT_INCLUDED
- AVDT_REPORTING
- HID_DEV_SUBCLASS
- A2D_INCLUDED

Also:
- Changed tBTA_AV_SCB field p_cap from dynamically allocated to
inlined storage, and renamed it to peer_cap.
- Removed unused typedef tBTM_BLE_ADV_TX_POWER

Test: Manual: streaming to Headset.
Change-Id: I0db18cc7ae3b9e692c71b430436f3170e8e4d65e
/system/bt/internal_include/bt_target.h
5b790feeeb211c42bf78ca3ae9c26aa30e516765 18-Sep-2017 Jakub Pawlowski <jpawlowski@google.com> Make copyright headers consistent with Google template; remove "(C)"

Test: Comment changes only; still compiles...
Change-Id: Id699a8170112f06e4a2c9f2e0f0834d1817ace4e
/system/bt/internal_include/bt_target.h
ecace46f9c04c941039356cce22af56c562381f3 18-Oct-2017 Jakub Pawlowski <jpawlowski@google.com> Move include->internal_include (1/2)

Change-Id: If351c7d51a380c33ec9bae3b3f240ed53639f3c9
/system/bt/internal_include/bt_target.h