Make A2DP Offload max bitpool configurable by device.

Set default a2dp offload bitpool for 44.1kHz hi-quality stream.
Avoid bt fw from using excessively high bitpools even if supported.

Change-Id: Iae3d5e16a77a09c81ad12573fc66f1181fae836c
Signed-off-by: Sridhar Vashist <svashist@motorola.com>
diff --git a/include/bt_vendor_brcm_a2dp.h b/include/bt_vendor_brcm_a2dp.h
index 9601111..5df91a8 100644
--- a/include/bt_vendor_brcm_a2dp.h
+++ b/include/bt_vendor_brcm_a2dp.h
@@ -81,6 +81,11 @@
 #define BRCM_A2DP_OFFLOAD_SRC_SF  AUDIO_ROUTE_SF_48K
 #endif
 
+#ifndef BRCM_A2DP_OFFLOAD_MAX_BITPOOL
+/* High quality setting @ 44.1 kHz */
+#define BRCM_A2DP_OFFLOAD_MAX_BITPOOL 53
+#endif
+
 #ifndef BRCM_A2DP_OFFLOAD_PCM_PIN_FCN
 #define BRCM_A2DP_OFFLOAD_PCM_PIN_FCN PCM_PIN_FCN_I2S_SLAVE
 #endif
diff --git a/src/bt_vendor_brcm_a2dp.c b/src/bt_vendor_brcm_a2dp.c
index 0526196..b5df5fb 100644
--- a/src/bt_vendor_brcm_a2dp.c
+++ b/src/bt_vendor_brcm_a2dp.c
@@ -258,8 +258,9 @@
             parsed_info->block_length  = *codec_info & A2D_SBC_IE_BLOCKS_MSK;
             parsed_info->num_subbands  = *codec_info & A2D_SBC_IE_SUBBAND_MSK;
             parsed_info->alloc_method  = *codec_info & A2D_SBC_IE_ALLOC_MD_MSK;
-            codec_info += 2;
-            parsed_info->bitpool_size  = *codec_info; // MAX BITPOOL //
+            codec_info += 2; /* MAX Bitpool */
+            parsed_info->bitpool_size  = (*codec_info > BRCM_A2DP_OFFLOAD_MAX_BITPOOL) ?
+                                         BRCM_A2DP_OFFLOAD_MAX_BITPOOL : (*codec_info);
 
             if(MULTI_BIT_SET(parsed_info->sampling_freq))
                 status = A2D_BAD_SAMP_FREQ;