4c30db616585ea8a1db5d9c6e069e60b626288b2 |
|
17-May-2017 |
Pavlin Radoslavov <pavlin@google.com> |
Disable MONO channel mode for LDAC Bug: 38351937 Test: A2DP streaming to LDAC headset and switching MONO/STEREO in Settings Change-Id: I20c5069fd5d104b9ebe767ae2728af7d7b2ae1d9 (cherry picked from commit f7e48dff99ffbce639c37379976b8cd9519e1d06)
/system/bt/stack/a2dp/a2dp_vendor_ldac.cc
|
b549bd72999284a8cba10bbb75466eca62bd5597 |
|
12-May-2017 |
Pavlin Radoslavov <pavlin@google.com> |
Set the RTP Header Marker bit selectively per A2DP codec Add a mechanism to set the RTP Header Marker bit per codec. Currently, the Marker bit is set only for AAC. Test: A2DP streaming, PTS AVDTP tests: TC_ACP_SRC_TRA_BTR_BV_01_C, TC_INT_SRC_SIG_SMG_BV_17_C, TC_INT_SRC_TRA_BTR_BV_01_C Bug: 37723283 Change-Id: I9b8e77d44c750746c169df9628d5539ad2406b92 (cherry picked from commit 3b8391cd47dd0ea3e399f99a888f029de8c7d8c8)
/system/bt/stack/a2dp/a2dp_vendor_ldac.cc
|
67ae84fb7f01d8458bfc1dcb506f32e7d9350d17 |
|
07-Apr-2017 |
Pavlin Radoslavov <pavlin@google.com> |
Add A2DP codec-specific information to dumpsys output Now we print the following information: * Current codec name * Info for each supported codec: - Priority - Encoder interval (ms) - Codec Config: Sampling rate, Bits per sample, Channel mode (MONO/STEREO) - Selectable codec configuration - Codec's local capability - Packet counts (expected/dropped) - PCM read counts (expected/actual) - PCM read bytes (expected/actual) * LDAC codec-specific info: - LDAC quality mode: HIGH/MID/LOW/ABR - LDAC saved transmit queue length [used in ABR mode] * SBC codec-specific info: - Frames counts (expected/dropped) Sample of the new format is below: --- A2DP Codecs State: Current Codec: LDAC A2DP LDAC State: Priority: 1000000 Encoder interval (ms): 20 Config: Rate=96000 Bits=32 Mode=STEREO Selectable: Rate=44100|48000|88200|96000 Bits=16|24|32 Mode=MONO|STEREO Local capability: Rate=44100|48000|88200|96000 Bits=16|24|32 Mode=MONO|STEREO Packet counts (expected/dropped) : 596 / 161 PCM read counts (expected/actual) : 2488 / 2488 PCM read bytes (expected/actual) : 2547712 / 2547712 LDAC quality mode : ABR LDAC saved transmit queue length : 0 A2DP aptX-HD State: Priority: 4001 Encoder interval (ms): 0 Config: Invalid Selectable: Invalid Local capability: Rate=44100|48000 Bits=24 Mode=STEREO Packet counts (expected/dropped) : 0 / 0 PCM read counts (expected/actual) : 0 / 0 PCM read bytes (expected/actual) : 0 / 0 A2DP aptX State: Priority: 3001 Encoder interval (ms): 0 Config: Rate=44100 Bits=16 Mode=STEREO Selectable: Rate=44100|48000 Bits=16 Mode=STEREO Local capability: Rate=44100|48000 Bits=16 Mode=STEREO Packet counts (expected/dropped) : 0 / 0 PCM read counts (expected/actual) : 0 / 0 PCM read bytes (expected/actual) : 0 / 0 A2DP AAC State: Priority: 2001 Encoder interval (ms): 20 Config: Rate=44100 Bits=16 Mode=STEREO Selectable: Rate=44100|48000 Bits=16 Mode=STEREO Local capability: Rate=44100|48000|88200|96000 Bits=16 Mode=STEREO Packet counts (expected/dropped) : 0 / 0 PCM read counts (expected/actual) : 0 / 0 PCM read bytes (expected/actual) : 0 / 0 A2DP SBC State: Priority: 1001 Encoder interval (ms): 20 Config: Rate=44100 Bits=16 Mode=STEREO Selectable: Rate=44100 Bits=16 Mode=STEREO Local capability: Rate=44100 Bits=16 Mode=STEREO Packet counts (expected/dropped) : 580 / 0 PCM read counts (expected/actual) : 2900 / 2900 PCM read bytes (expected/actual) : 1484800 / 1484800 Frames counts (expected/dropped) : 3724 / 0 --- Bug: 36567128 Test: Stream A2DP and "adb shell dumpsys bluetooth_manager" Change-Id: Idd86005b842a4e569b7df91b8bbaf0632ed7f7c9 (cherry picked from commit 302113d4e44f06e90f90a5903e33ae830edb58a3)
/system/bt/stack/a2dp/a2dp_vendor_ldac.cc
|
dfc02a91a19b2968506140655180b2491ac46a48 |
|
15-Mar-2017 |
fen wang <fen.wang@sonymobile.com> |
Integration of LDAC Adaptive Bit Rate mechanism LDAC ABR controls LDAC encoder bit rate based on A2DP transmit queue length. It can be used if the LDAC ABR library is installed on the device: libldacBT_abr.so Test: manual Bug: 35381097 Change-Id: Idcc2fabe86acaf441f5a71f5d2bb66ad29252cdb
/system/bt/stack/a2dp/a2dp_vendor_ldac.cc
|
a6ba5aca4e8c1a200b8cc29fb60d390a7196416a |
|
01-Feb-2017 |
Pavlin Radoslavov <pavlin@google.com> |
Add a mechanism to configure the default A2DP codec priorities Previously, the relative codec priorities were hard-codec internally. The new mechanism uses the following configurable resources in packages/apps/Bluetooth/res/values/config.xml to re-assign the default codec priorities per device, or to explicitly disable a codec. - a2dp_source_codec_priority_sbc - a2dp_source_codec_priority_aac - a2dp_source_codec_priority_aptx - a2dp_source_codec_priority_aptx_hd - a2dp_source_codec_priority_ldac Those values are assigned on startup. Also, they can be changed per device by using an overlay: device/<VENDOR>/<DEVICE>/overlay/packages/apps/Bluetooth/res/values/config.xml Test: Manually streaming to a headset Change-Id: I5312299aea4a11c92fbe999d521adb39346b9866
/system/bt/stack/a2dp/a2dp_vendor_ldac.cc
|
494e53e904e8aecc28178fda5856071776b2caf0 |
|
26-Jan-2017 |
Pavlin Radoslavov <pavlin@google.com> |
Update the A2DP Codec Config API Previously, the JNI upcall would contain only the current codec config. In the new API, the upcall contains: 1. The current codec config 2. The list of codecs containing the local codecs capabilities 3. The list of codecs containing the selectable codecs capabilities. This list is the intersection of the local codecs capabilities and the capabilities of the paired device. Also, updated the codec backend to accomodate the above changes: * Update all selectable codecs inside bta_av_co_audio_set_codec() * Changed getCodecConfigAndCapabilities() to return current codec config, local codecs capabilities, and selectable codecs capabilities. * Updated each codec to compute and store a copy of the selectable capabilities, and the local capabilities. * Updated tA2DP_SBC_CIE to include new field bits_per_sample (for consistency with the rest of the codecs). * Replaced usage of codec_priority of 0 with BTAV_A2DP_CODEC_PRIORITY_DEFAULT * If there is user codec (re)config call, we always send an upcall to inform the Java layer about the most recent codec info. Thus, the caller would always know whether the request succeeded or failed. Test: A2DP streaming with headsets and switching the codecs Change-Id: Ie7a5cd5c2ab01bb8676032be05bc2ad03baa1e3f
/system/bt/stack/a2dp/a2dp_vendor_ldac.cc
|
f8e2670d12ee55ec48635ef55a86ecfa643cc761 |
|
11-Jan-2017 |
Pavlin Radoslavov <pavlin@google.com> |
Removed the feeding_init call from tA2DP_ENCODER_INTERFACE The feeding_init call is not used anymore - it has been superseded by the newer A2dpCodecs.setCodecAudioConfig() mechanism. Also, moved aptx_init_framing_params() and aptx_hd_init_framing_params() calls to the corresponding encoder_update functions. Test: A2DP streaming to Bluetooth headsets Change-Id: I52f42b4701d04fe2ddb8f115bb9cd57fe38e2b38
/system/bt/stack/a2dp/a2dp_vendor_ldac.cc
|
d43a901c579ef08a1b5d7cfe18f759aad0a14f1a |
|
07-Jan-2017 |
Pavlin Radoslavov <pavlin@google.com> |
Renamed the aptX and aptX-HD shared libraries * The names of the expected aptX and aptX-HD shared libraries are updated to reflect better their purpose: - aptX: libaptX.so -> libaptX_encoder.so - aptX-HD: libaptXHD.so -> libaptXHD_encoder.so Also: * Add a missing upcall with the codec info the first time the codec is selected internally * Minor cleanup Bug: 30958229 Test: A2DP streaming to aptX/aptX-HD headsets Change-Id: Ib2bfc83823190fb7a057353eb47cd71c5b4d5a3a
/system/bt/stack/a2dp/a2dp_vendor_ldac.cc
|
8e419b13ecb1e33aeb785d0221bacc5744e51113 |
|
01-Nov-2016 |
Pavlin Radoslavov <pavlin@google.com> |
Integration of the LDAC codec for A2DP source The codec can be used if the encoding shared library is installed on the device: libldacBT_enc.so Also, increased the maximum number of SEPs AVDT_NUM_SEPS from 3 to 6 to accomodate Sink devices that support more than 3 codecs. Test: A2DP streaming to LDAC headsets Bug: 30958229 Change-Id: I114c3e6be2ebe1ac8aece62a3146637d37cd938e
/system/bt/stack/a2dp/a2dp_vendor_ldac.cc
|