900c29e0f1871830d031879b18cc3acd0a64adb0 |
|
12-Apr-2017 |
Hemant Gupta <hemantg@codeaurora.org> |
AVRCP 1.6: Limit GetFolderItemResponse Usecase: 1) Connect from AVRCP Controller supporting browsing having low L2CAP MTU eg 672. 2) Request for get folder items with large request items, response for which will exceed MTU size. Expected Result: As per AVRCP 1.6 Spec, section 29.20 pg 178, response should be limited to number of completed get folder items that can fit in single AVCTP Browsing channel MTU even if the completed items are less than actually requested by AVRCP Controller. Observation: DUT responding with Internal Error. Root Cause: When there is no space to fill complete Get Folder Item response within MTU size, DUT was returning error. Fix: Send max completed items which can fit in single MTU packet. Test: Checked if the remote device can receive the truncated response and get folder items succeeds when remote device reissues get folder item request with updated start list count. Frequency: 5/5 Bug: 37304477 Change-Id: I1963f97075382fc8333038e3efffaf61a9d84a28 (cherry picked from commit a7c7437bbffe133f9192b9ca82b5b4e1f6d9835a)
/system/bt/stack/avrc/avrc_bld_tg.cc
|
48a6e63aef54cd25524913c3147db2c5ac98e6c5 |
|
13-Apr-2017 |
Hemant Gupta <hemantg@codeaurora.org> |
stack: AVRCP: add missing debug arguments Fixes a crash while sending AVRCP Get Item Attribute response due to missing function arguments. Test: test with BMW kit, Crysler kit which trigger this bug Bug: 37334553 Fixes: 37474772 Change-Id: Ie129e22e427896028a50e6b0ae8c2cdd151b0ea1 (cherry picked from commit 2dc048b0ed2684d8e538f0eaf67cd2b7ea79ce96)
/system/bt/stack/avrc/avrc_bld_tg.cc
|
0ec947509d38d15b75bc899b6b7720de4c4fea4f |
|
09-Feb-2017 |
Myles Watson <mylesgw@google.com> |
Fix comment formatting at the beginning of lines Test: builds Change-Id: I691a40ad37b0cbe3ce56a09dc986df8857883b23
/system/bt/stack/avrc/avrc_bld_tg.cc
|
5ce0116fbf5b530d5b93f11312096eade1021c1e |
|
05-Dec-2016 |
Pavlin Radoslavov <pavlin@google.com> |
Add a mechanism for configuring the A2DP Source codecs * Codec config internal abstraction: - Add new classes A2dpCodecConfig and A2dpCodecs that (will) encapsulate all codec-related APIs - Add unit tests for the above two classes - Add method A2dpCodecConfig.buildCodecConfig(), and use it when creating the codec configuration instead of A2DP_InitSource2SinkCodec(). The new method can build the codec config by taking into account optional user codec-related configuration preferences. - Use the A2DP codec config API from the hardware/libhardware bt_av.h API - Replace enum tA2DP_CODEC_SEP_INDEX with btav_a2dp_codec_index_t from the bt_av.h API - Move codec-specific functions from stack/include/a2dp_api.h and stack/a2dp/a2dp_api.cc to stack/include/a2dp_codec_api.h and stack/a2dp/a2dp_codec_config.cc - Create a new base class A2dpCodecConfig() to hold some of the codec-related state, and implement the corresponding A2dpCodecConfigSbc and A2dpCodecConfigSbcSink derived classes. - Move A2DP spec-related constants from stack/include/a2dp_api.h to stack/include/a2dp_constants.h - Move A2DP-related error codes from stack/include/a2dp_api.h to stack/include/a2dp_error_codes.h - Move A2DP SBC spec-related constants from stack/include/a2dp_sbc.h to stack/include/a2dp_sbc_constants.h * Implement the backend mechanism for handling user (re)configuration of A2DP Source codecs as requested via the JNI API calls. Also, any codec changes are reported back via JNI API callbacks. The current audio parameter selection (sample rate, bits per sample, channel mode - mono/stereo) is as follows: - If the user selected parameters are acceptable (based on local codec capability and the remote Sink capability), those parameters are used. - Else if the Audio HAL's requested parameters are acceptable, those are used. - Else if the default settings are acceptable, those are used. - Else use the best match among the local and the remote device's capabilities. * Update the mechanism for handling OTA configuration requests from the remote Sink device. - The OTA prefered codec configuration is ignored if the current codec configuration contains explicit user configuration, or if the codec configuration for the same codec contains explicit user configuration. * Refactor the Audio HAL <-> Bluetooth audio parameter negotiation mechanism: The new mechanism gives some flexibility to the Media Framework to choose the appropriate audio format (sample rate, bits per sample, and channel mode - mono/stereo), and at the same time allows the Bluetooth stack to double-check / overwrite the choice. - out_get_parameters() on the Audio HAL side asks the Bluetooth stack for all currently supported formats (for the current codec), and returns them to the Media Framework: sample rate, bits per sample, and channel mode (mono/stereo). - The first time adev_open_output_stream() is called on the Audio HAL, it asks the Bluetooth stack about the audio format currently selected by the Bluetooth stack (based on codec negotiation with the Sink device, and User Configuration). - The second time adev_open_output_stream() is called on the Audio HAL, its "config" will eventually contain the audio format selected internally by the Media Framework. That audio format is sent to the Bluetooth stack. If that format is acceptable to the Bluetooth stack, the Bluetooth stack will reconfigure itself internally, and will respond back with those values. Otherwise, it will respond back with the values that should be used instead. * Misc other fixes and refactoring: - Fix the BTA handling of A2DP codec reconfiguration - Fix a bug in the implementation of A2DP_BitsSet(), and add the approriate unit test. Also, fix the code that was using this function incorrectly. - The SBC encoder is compiled as a separate library - Replace leftover usage of "false" with "FALSE" for macros, and vice-versa for variable values. Test: A2DP streaming to headsets, TestPlans/71390 Bug: 30958229 Change-Id: I440b6126e2250e33b0075f9789dd93154c007c2b
/system/bt/stack/avrc/avrc_bld_tg.cc
|
f2af1c42ccb2f642b241c2261b42d0be61d45438 |
|
13-Dec-2016 |
Jack He <siyuanh@google.com> |
Replace assert with CHECK from base/logging.h * Replace assert with CHECK * Remove all NDEBUG definitions * Remove hacks for BT_LIBCHROME_NDEBUG * Removed some removed directories from Makefile such as hcis, brcm, rpc Coccinelle-assisted: @@ @@ - #include "base/logging.h" + #include <base/logging.h> @ assert_included @ @@ @ base_logging_included @ @@ @ depends on (assert_included && !(base_logging_included)) @ @@ - #include <assert.h> + #include <base/logging.h> @ depends on (assert_included && base_logging_included) @ @@ - #include <assert.h> @@ expression E; @@ - assert(E); + CHECK(E); And a bash script: for file in $(find . -name "*.cc"); do spatch --sp-file replace_assert_with_CHECK.cocci --in-place $file done The following files are maually edited: btif/src/btif_config.cc btif/src/btif_avrcp_audio_track.cc btif/src/btif_gatt_client.cc osi/src/data_dispatcher.cc osi/src/reactor.cc osi/src/thread.cc osi/src/fixed_queue.cc osi/src/list.cc osi/src/allocation_tracker.cc osi/src/alarm.cc osi/test/wakelock_test.cc Bug: 31781465 Test: Code compilation, Unit Tests, BtStressTest, BtFunhausMetricsTest Change-Id: I21dc10a45be31665e41441b75b0515ed87523988
/system/bt/stack/avrc/avrc_bld_tg.cc
|
911d1ae03efec2d54c3b1b605589d790d1745488 |
|
29-Nov-2016 |
Myles Watson <mylesgw@google.com> |
Apply clang-format to the rest of the tree find * | grep "\.[ch]" | xargs clang-format --style=file -i Test: mma -j32 Change-Id: I6fcc9862bb7bc07c2a367ca58fef2b3cd27a6f05
/system/bt/stack/avrc/avrc_bld_tg.cc
|
9ca07091a1f07ea201cee0504dab6a1d7073d429 |
|
29-Nov-2016 |
Myles Watson <mylesgw@google.com> |
Reformat long comments before clang-format Test: mma -j32 Change-Id: I86a2a4af9dcd22d675ca1f764bb2c9623d63edcc
/system/bt/stack/avrc/avrc_bld_tg.cc
|
ee96a3c60fca590d38025925c072d264e06493c4 |
|
23-Nov-2016 |
Myles Watson <mylesgw@google.com> |
Fix asterisks in block quotes Remove double asterisks from block quotes. git grep -lP '^[*][*]' | xargs sed 's/^[*][*]/ \*/' -i Fix asterisk line lengths git grep -l '^[ /][*]\{79,\}[*/]' | \ xargs sed -i s,"^\([ /]\)[*]\([*]\{78\}\)[*]*\([*/]\)","\1\2\3", Test: mma -j32 Change-Id: Ie3fd375ac2f804cb0f53bf1314a005e85973b3d7
/system/bt/stack/avrc/avrc_bld_tg.cc
|
702ae1cf3faf6a5900e09500cbe6bb5f773877f7 |
|
20-Nov-2016 |
Jack He <siyuanh@google.com> |
AVRCP: Fix get metadata attribute responses * Add checks for remaining buffer capacity to handle long metadata * Change the attribute number max to AVRC_MAX_NUM_MEDIA_ATTR_ID * Consolidate attribute value filling code between GetElementAttributes and GetItemAttributes * Check requested media attribute IDs before building response Bug: 32407250, 33001066 Test: manual - connect to carkit and play music, see metadata and hear audio Change-Id: I8f0c47148be35100202398c754861abb1fb9def1
/system/bt/stack/avrc/avrc_bld_tg.cc
|
f33b6f434f086b20fabe5913016bc423ac975057 |
|
23-Nov-2016 |
Marie Janssen <jamuraa@google.com> |
readability fix: No assigns in if conditionals Coccinelle-assisted: @@ variable i; expression E; statement S1, S2; @@ + i = E; if ( ( - (i = E) + i != ... | - (i = E) + i == ... | - (i = E) + i < ... | - (i = E) + i > ... | - (i = E) + i <= ... | - (i = E) + i >= ... | - (i = E) + i ) ) S1 else S2 for file in $(find . -name "*.cc"); do spatch --sp no-if-assigns.cocci --in-place $file done clang-format --style=file -i bta/**/*.cc Test: mma -j37 and basic sanity testing on angler, sailfish Change-Id: I41a2964afac347c24e13869b6c172e321e646091
/system/bt/stack/avrc/avrc_bld_tg.cc
|
033d5a211b9cf8320a2a3e6ae1505d37807a734e |
|
11-Nov-2016 |
Marie Janssen <jamuraa@google.com> |
AVRCP: unify Get{Element,Item}Attributes response. GetElementAttributes response and GetItemAttributes response share the same format and require the same checks for length. Test: play media on carkit, see media. especially with long items. Bug: 32407250 Bug: 30571638 Change-Id: I8623e7d662f7a39112b7527b6f5ab63c5e32379c
/system/bt/stack/avrc/avrc_bld_tg.cc
|
d7ffd64accbd50a27289a388856e56244ccbb5da |
|
27-Oct-2016 |
Myles Watson <mylesgw@google.com> |
Remove deprecated UNUSED macro (5/5) Include osi.h for UNUSED_ATTR. Test: mma -j32 Change-Id: I43260669dc1f54639e46cc9620093d727ee86276
/system/bt/stack/avrc/avrc_bld_tg.cc
|
d35a648d39710bbc5ac59f8add85166455af5af7 |
|
27-Oct-2016 |
Myles Watson <mylesgw@google.com> |
Remove deprecated UNUSED macro (1/5) Generated automatically with coccinelle /* This rule matches functions with arguments * that have an UNUSED(arg) in the body. */ @r1@ identifier arg; identifier fn; type t; parameter list[n] P; @@ fn(P, const t arg) { ... UNUSED(arg); ... } /* This rule removes the UNUSED line, and adds * UNUSED_ATTR to the parameter list. */ @depends on r1@ identifier r1.arg; identifier r1.fn; type r1.t; parameter list[r1.n] r1.P; typedef UNUSED_ATTR; @@ fn(P, - const t arg + UNUSED_ATTR GETRIDOFTHISCOMMA, const t arg ) { ... -UNUSED(arg); ... } Test: mma -j32 Change-Id: Idcaadd688d669d484e557becd050e69454508f3c
/system/bt/stack/avrc/avrc_bld_tg.cc
|
b2a292b5d8df2f359c38b0787bc01181225a9bc9 |
|
15-Oct-2016 |
Pavlin Radoslavov <pavlin@google.com> |
Renamed most C files to C++: *.c to *.cc Also: - Fixed C++ related compilation errors. - Added missing 'extern "C"' guards in some of the header files. - Added missing LOCAL_CPP_EXTENSION to Android.mk files. - Added-back btif/src/btif_mce.cc and bta/mce/bta_mce_* to btif/Android.mk and bta/Android.mk respectively. - Fixed the alphabetical ordering of the *.cc files in some of the Android.mk files. - Added missing Copyright header to "osi/include/list.h" - Updated "osi/src/wakelock.cc" to use C++ std::string instead of dynamic allocation of C-style strings. Test: code compilation, unit tests, and A2DP streaming Change-Id: Ia2f7215ed9df32775c701b68fc86b09875b942c7
/system/bt/stack/avrc/avrc_bld_tg.cc
|