summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunny Kapdi <sunnyk@codeaurora.org>2013-01-22 13:21:26 -0800
committerSteve Kondik <shade@chemlab.org>2013-01-28 22:37:31 -0800
commit69f86c8d0f1f2d1adfd04f94bfd4580a3bc61d4c (patch)
tree16110c3eefabc86870d88f5aa199e7a8733a75ee
parentb1f0fed3b40572b0ae2a2f7522e93de4190409b7 (diff)
downloadexternal_bluetooth_bluedroid-69f86c8d0f1f2d1adfd04f94bfd4580a3bc61d4c.zip
external_bluetooth_bluedroid-69f86c8d0f1f2d1adfd04f94bfd4580a3bc61d4c.tar.gz
external_bluetooth_bluedroid-69f86c8d0f1f2d1adfd04f94bfd4580a3bc61d4c.tar.bz2
Bluetooth: Change Sampling Frequency to 48 kHz
Change Default Sampling Frequency to 48 kHz by default to match Audio Source. CRs-fixed: 436686 Change-Id: I0a4aa9ca61964e76220c77fa60c281f7a5df58b4
-rw-r--r--audio_a2dp_hw/Android.mk6
-rw-r--r--audio_a2dp_hw/audio_a2dp_hw.h5
-rw-r--r--btif/co/bta_av_co.c9
-rwxr-xr-xbtif/src/btif_media_task.c7
-rw-r--r--main/Android.mk6
5 files changed, 32 insertions, 1 deletions
diff --git a/audio_a2dp_hw/Android.mk b/audio_a2dp_hw/Android.mk
index d98e4bb..bf00342 100644
--- a/audio_a2dp_hw/Android.mk
+++ b/audio_a2dp_hw/Android.mk
@@ -2,6 +2,12 @@ LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
+ifeq ($(BOARD_USES_ALSA_AUDIO),true)
+ifeq ($(TARGET_QCOM_AUDIO_VARIANT),caf)
+ LOCAL_CFLAGS += -DSAMPLE_RATE_48K
+endif
+endif
+
LOCAL_SRC_FILES:= \
audio_a2dp_hw.c
diff --git a/audio_a2dp_hw/audio_a2dp_hw.h b/audio_a2dp_hw/audio_a2dp_hw.h
index 2015591..3076a6d 100644
--- a/audio_a2dp_hw/audio_a2dp_hw.h
+++ b/audio_a2dp_hw/audio_a2dp_hw.h
@@ -1,6 +1,7 @@
/******************************************************************************
*
* Copyright (C) 2009-2012 Broadcom Corporation
+ * Copyright (c) 2013, Linux Foundation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,7 +36,11 @@
#define A2DP_CTRL_PATH "/data/misc/bluedroid/.a2dp_ctrl"
#define A2DP_DATA_PATH "/data/misc/bluedroid/.a2dp_data"
+#ifdef SAMPLE_RATE_48K
+#define AUDIO_STREAM_DEFAULT_RATE 48000
+#else
#define AUDIO_STREAM_DEFAULT_RATE 44100
+#endif
#define AUDIO_STREAM_DEFAULT_FORMAT AUDIO_FORMAT_PCM_16_BIT
#define AUDIO_STREAM_DEFAULT_CHANNEL_FLAG AUDIO_CHANNEL_OUT_STEREO
#define AUDIO_STREAM_OUTPUT_BUFFER_SZ (20*512)
diff --git a/btif/co/bta_av_co.c b/btif/co/bta_av_co.c
index 6089532..98f3708 100644
--- a/btif/co/bta_av_co.c
+++ b/btif/co/bta_av_co.c
@@ -1,6 +1,7 @@
/******************************************************************************
*
* Copyright (C) 2004-2012 Broadcom Corporation
+ * Copyright (c) 2013, Linux Foundation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -69,7 +70,11 @@ const UINT8 bta_av_co_cp_scmst[BTA_AV_CP_INFO_LEN] = "\x02\x02\x00";
/* SBC codec capabilities */
const tA2D_SBC_CIE bta_av_co_sbc_caps =
{
+#ifdef SAMPLE_RATE_48K
+ (A2D_SBC_IE_SAMP_FREQ_48), /* samp_freq */
+#else
(A2D_SBC_IE_SAMP_FREQ_44), /* samp_freq */
+#endif
(A2D_SBC_IE_CH_MD_MONO | A2D_SBC_IE_CH_MD_STEREO | A2D_SBC_IE_CH_MD_JOINT | A2D_SBC_IE_CH_MD_DUAL), /* ch_mode */
(A2D_SBC_IE_BLOCKS_16 | A2D_SBC_IE_BLOCKS_12 | A2D_SBC_IE_BLOCKS_8 | A2D_SBC_IE_BLOCKS_4), /* block_len */
(A2D_SBC_IE_SUBBAND_4 | A2D_SBC_IE_SUBBAND_8), /* num_subbands */
@@ -79,8 +84,12 @@ const tA2D_SBC_CIE bta_av_co_sbc_caps =
};
#if !defined(BTIF_AV_SBC_DEFAULT_SAMP_FREQ)
+#ifdef SAMPLE_RATE_48K
+#define BTIF_AV_SBC_DEFAULT_SAMP_FREQ A2D_SBC_IE_SAMP_FREQ_48
+#else
#define BTIF_AV_SBC_DEFAULT_SAMP_FREQ A2D_SBC_IE_SAMP_FREQ_44
#endif
+#endif
/* Default SBC codec configuration */
const tA2D_SBC_CIE btif_av_sbc_default_config =
diff --git a/btif/src/btif_media_task.c b/btif/src/btif_media_task.c
index 8978cf6..bda0d9f 100755
--- a/btif/src/btif_media_task.c
+++ b/btif/src/btif_media_task.c
@@ -1,6 +1,7 @@
/******************************************************************************
*
* Copyright (C) 2009-2012 Broadcom Corporation
+ * Copyright (c) 2013, Linux Foundation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -764,8 +765,12 @@ void btif_a2dp_setup_codec(void)
GKI_disable();
- /* for now hardcode 44.1 khz 16 bit stereo */
+ /* for now hardcode 44/48 khz 16 bit stereo */
+#ifdef SAMPLE_RATE_48K
+ media_feeding.cfg.pcm.sampling_freq = 48000;
+#else
media_feeding.cfg.pcm.sampling_freq = 44100;
+#endif
media_feeding.cfg.pcm.bit_per_sample = 16;
media_feeding.cfg.pcm.num_channel = 2;
media_feeding.format = BTIF_AV_CODEC_PCM;
diff --git a/main/Android.mk b/main/Android.mk
index 8ecb3c3..23a9783 100644
--- a/main/Android.mk
+++ b/main/Android.mk
@@ -6,6 +6,12 @@ LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
+ifeq ($(BOARD_USES_ALSA_AUDIO),true)
+ifeq ($(TARGET_QCOM_AUDIO_VARIANT),caf)
+ LOCAL_CFLAGS += -DSAMPLE_RATE_48K
+endif
+endif
+
# HAL layer
LOCAL_SRC_FILES:= \
../btif/src/bluetooth.c