From 69f86c8d0f1f2d1adfd04f94bfd4580a3bc61d4c Mon Sep 17 00:00:00 2001 From: Sunny Kapdi Date: Tue, 22 Jan 2013 13:21:26 -0800 Subject: 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 --- audio_a2dp_hw/Android.mk | 6 ++++++ audio_a2dp_hw/audio_a2dp_hw.h | 5 +++++ btif/co/bta_av_co.c | 9 +++++++++ btif/src/btif_media_task.c | 7 ++++++- main/Android.mk | 6 ++++++ 5 files changed, 32 insertions(+), 1 deletion(-) 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 -- cgit v1.1