/* Copyright Statement: * * This software/firmware and related documentation ("MediaTek Software") are * protected under relevant copyright laws. The information contained herein * is confidential and proprietary to MediaTek Inc. and/or its licensors. * Without the prior written permission of MediaTek inc. and/or its licensors, * any reproduction, modification, use or disclosure of MediaTek Software, * and information contained herein, in whole or in part, shall be strictly * prohibited. * * * * MediaTek Inc. (C) 2016. All rights reserved. * * * * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES * * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") * * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER * * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL * * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED * * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR * * NONINFRINGEMENT. * * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE * * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR * * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO * * SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER * * EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN * * FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK SOFTWARE. * * MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES * * MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR * * OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND * * CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED * * HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK * * SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE * * PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. * * * * The following software/firmware and/or related documentation ("MediaTek Software") * * have been modified by MediaTek Inc. All revisions are subject to any receiver's * * applicable license agreements with MediaTek Inc. * */ #include "mtk_a2dp_sbc.h" #if defined(MTK_DUAL_AUDIO) && (MTK_DUAL_AUDIO == TRUE) extern tA2DP_SBC_CIE a2dp_sbc_source_caps; extern tA2DP_SBC_CIE a2dp_sbc_sink_caps; extern tA2DP_SBC_CIE a2dp_sbc_default_config; const tA2DP_SBC_CIE* select_a2dp_audio_caps(bool is_source, bt_a2dp_dual_mode_type_t dualmode) { const tA2DP_SBC_CIE* p_a2dp_sbc_caps = (is_source) ? &a2dp_sbc_source_caps : &a2dp_sbc_sink_caps; if (BT_A2DP_DUAL_MODE_SAME_AUDIO_TYPE == dualmode) { //dual mode 1-same audio p_a2dp_sbc_caps = (is_source) ? &dual_mode_sameaudio_a2dp_sbc_source_caps: &a2dp_sbc_sink_caps; //dual mode 2-Left Right channel } else if (BT_A2DP_DUAL_MODE_LR_CHANNEL_TYPE == dualmode) { p_a2dp_sbc_caps = (is_source) ? &dual_mode_LR_a2dp_sbc_source_caps: &a2dp_sbc_sink_caps; } return p_a2dp_sbc_caps; } uint8_t select_a2dp_audio_freq(bool isdualmode) { if (isdualmode) return dual_mode_LR_a2dp_sbc_source_caps.samp_freq; else return a2dp_sbc_default_config.samp_freq; } btav_a2dp_codec_config_t* select_a2dp_audio_ch(bool is_source, bt_a2dp_dual_mode_type_t dualmode, btav_a2dp_codec_config_t config) { //btav_a2dp_codec_config_t temp_config = config; btav_a2dp_codec_config_t* temp_config = &config; if (!is_source) return temp_config; if (BT_A2DP_DUAL_MODE_SAME_AUDIO_TYPE == dualmode) { temp_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; } else if (BT_A2DP_DUAL_MODE_LR_CHANNEL_TYPE == dualmode) { temp_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_MONO; } return temp_config; } uint8_t select_a2dp_best_ch(bool isdualmode) { if (isdualmode) return dual_mode_LR_a2dp_sbc_source_caps.ch_mode; else return a2dp_sbc_default_config.ch_mode; } #endif