Skip to content

Instantly share code, notes, and snippets.

@luca020400
Created August 27, 2020 08:35
Show Gist options
  • Save luca020400/8535a8c7fced8697e0598df9cfb1a888 to your computer and use it in GitHub Desktop.
Save luca020400/8535a8c7fced8697e0598df9cfb1a888 to your computer and use it in GitHub Desktop.
From 533e767a3abfa855add156f166b5b7dd7c596c4e Mon Sep 17 00:00:00 2001
From: Luca Stefani <luca.stefani.ge1@gmail.com>
Date: Thu, 27 Aug 2020 10:31:24 +0200
Subject: [PATCH] Don't assign codecs to a size fixed array
* A2dpCodecConfig.assignCodecConfigPriorities() returns an array of
length BluetoothCodecConfig.SOURCE_CODEC_TYPE_MAX but always populates
only 5 of those entries.
Change-Id: I589d63c635e29ff3cef8b688acc85637d5f096c3
---
.../bluetooth/a2dp/A2dpCodecConfig.java | 58 +++++++------------
1 file changed, 22 insertions(+), 36 deletions(-)
diff --git a/src/com/android/bluetooth/a2dp/A2dpCodecConfig.java b/src/com/android/bluetooth/a2dp/A2dpCodecConfig.java
index 6e0b1c022..16b5e3f65 100644
--- a/src/com/android/bluetooth/a2dp/A2dpCodecConfig.java
+++ b/src/com/android/bluetooth/a2dp/A2dpCodecConfig.java
@@ -231,41 +231,27 @@ class A2dpCodecConfig {
mA2dpSourceCodecPriorityLdac = value;
}
- BluetoothCodecConfig codecConfig;
- BluetoothCodecConfig[] codecConfigArray =
- new BluetoothCodecConfig[BluetoothCodecConfig.SOURCE_CODEC_TYPE_MAX];
- codecConfig = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC,
- mA2dpSourceCodecPrioritySbc, BluetoothCodecConfig.SAMPLE_RATE_NONE,
- BluetoothCodecConfig.BITS_PER_SAMPLE_NONE, BluetoothCodecConfig
- .CHANNEL_MODE_NONE, 0 /* codecSpecific1 */,
- 0 /* codecSpecific2 */, 0 /* codecSpecific3 */, 0 /* codecSpecific4 */);
- codecConfigArray[0] = codecConfig;
- codecConfig = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC,
- mA2dpSourceCodecPriorityAac, BluetoothCodecConfig.SAMPLE_RATE_NONE,
- BluetoothCodecConfig.BITS_PER_SAMPLE_NONE, BluetoothCodecConfig
- .CHANNEL_MODE_NONE, 0 /* codecSpecific1 */,
- 0 /* codecSpecific2 */, 0 /* codecSpecific3 */, 0 /* codecSpecific4 */);
- codecConfigArray[1] = codecConfig;
- codecConfig = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX,
- mA2dpSourceCodecPriorityAptx, BluetoothCodecConfig.SAMPLE_RATE_NONE,
- BluetoothCodecConfig.BITS_PER_SAMPLE_NONE, BluetoothCodecConfig
- .CHANNEL_MODE_NONE, 0 /* codecSpecific1 */,
- 0 /* codecSpecific2 */, 0 /* codecSpecific3 */, 0 /* codecSpecific4 */);
- codecConfigArray[2] = codecConfig;
- codecConfig = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD,
- mA2dpSourceCodecPriorityAptxHd, BluetoothCodecConfig.SAMPLE_RATE_NONE,
- BluetoothCodecConfig.BITS_PER_SAMPLE_NONE, BluetoothCodecConfig
- .CHANNEL_MODE_NONE, 0 /* codecSpecific1 */,
- 0 /* codecSpecific2 */, 0 /* codecSpecific3 */, 0 /* codecSpecific4 */);
- codecConfigArray[3] = codecConfig;
- codecConfig = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC,
- mA2dpSourceCodecPriorityLdac, BluetoothCodecConfig.SAMPLE_RATE_NONE,
- BluetoothCodecConfig.BITS_PER_SAMPLE_NONE, BluetoothCodecConfig
- .CHANNEL_MODE_NONE, 0 /* codecSpecific1 */,
- 0 /* codecSpecific2 */, 0 /* codecSpecific3 */, 0 /* codecSpecific4 */);
- codecConfigArray[4] = codecConfig;
-
- return codecConfigArray;
+ return new BluetoothCodecConfig[] {
+ new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC, mA2dpSourceCodecPrioritySbc,
+ BluetoothCodecConfig.SAMPLE_RATE_NONE, BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+ BluetoothCodecConfig.CHANNEL_MODE_NONE, 0 /* codecSpecific1 */, 0 /* codecSpecific2 */,
+ 0 /* codecSpecific3 */, 0 /* codecSpecific4 */),
+ new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC, mA2dpSourceCodecPriorityAac,
+ BluetoothCodecConfig.SAMPLE_RATE_NONE, BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+ BluetoothCodecConfig.CHANNEL_MODE_NONE, 0 /* codecSpecific1 */, 0 /* codecSpecific2 */,
+ 0 /* codecSpecific3 */, 0 /* codecSpecific4 */),
+ new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX, mA2dpSourceCodecPriorityAptx,
+ BluetoothCodecConfig.SAMPLE_RATE_NONE, BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+ BluetoothCodecConfig.CHANNEL_MODE_NONE, 0 /* codecSpecific1 */, 0 /* codecSpecific2 */,
+ 0 /* codecSpecific3 */, 0 /* codecSpecific4 */),
+ new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD, mA2dpSourceCodecPriorityAptxHd,
+ BluetoothCodecConfig.SAMPLE_RATE_NONE, BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+ BluetoothCodecConfig.CHANNEL_MODE_NONE, 0 /* codecSpecific1 */, 0 /* codecSpecific2 */,
+ 0 /* codecSpecific3 */, 0 /* codecSpecific4 */),
+ new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC, mA2dpSourceCodecPriorityLdac,
+ BluetoothCodecConfig.SAMPLE_RATE_NONE, BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+ BluetoothCodecConfig.CHANNEL_MODE_NONE, 0 /* codecSpecific1 */, 0 /* codecSpecific2 */,
+ 0 /* codecSpecific3 */, 0 /* codecSpecific4 */)
+ };
}
}
-
--
2.28.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment