1/****************************************************************************** 2 * 3 * Copyright (C) 2009-2012 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19#ifndef BTIF_AV_CO_H 20#define BTIF_AV_CO_H 21 22#include "btif_media.h" 23 24/******************************************************************************* 25** Constants & Macros 26********************************************************************************/ 27 28enum 29{ 30 BTIF_SV_AV_AA_SBC_INDEX = 0, 31 BTIF_SV_AV_AA_SBC_SINK_INDEX, 32 BTIF_SV_AV_AA_SEP_INDEX /* Last index */ 33}; 34 35 36/******************************************************************************* 37** Functions 38********************************************************************************/ 39 40/******************************************************************************* 41 ** 42 ** Function bta_av_co_cp_is_active 43 ** 44 ** Description Get the current configuration of content protection 45 ** 46 ** Returns TRUE if the current streaming has CP, FALSE otherwise 47 ** 48 *******************************************************************************/ 49BOOLEAN bta_av_co_cp_is_active(void); 50 51/******************************************************************************* 52 ** 53 ** Function bta_av_co_cp_get_flag 54 ** 55 ** Description Get content protection flag 56 ** BTA_AV_CP_SCMS_COPY_NEVER 57 ** BTA_AV_CP_SCMS_COPY_ONCE 58 ** BTA_AV_CP_SCMS_COPY_FREE 59 ** 60 ** Returns The current flag value 61 ** 62 *******************************************************************************/ 63UINT8 bta_av_co_cp_get_flag(void); 64 65/******************************************************************************* 66 ** 67 ** Function bta_av_co_cp_set_flag 68 ** 69 ** Description Set content protection flag 70 ** BTA_AV_CP_SCMS_COPY_NEVER 71 ** BTA_AV_CP_SCMS_COPY_ONCE 72 ** BTA_AV_CP_SCMS_COPY_FREE 73 ** 74 ** Returns TRUE if setting the SCMS flag is supported else FALSE 75 ** 76 *******************************************************************************/ 77BOOLEAN bta_av_co_cp_set_flag(UINT8 cp_flag); 78 79/******************************************************************************* 80 ** 81 ** Function bta_av_co_audio_codec_reset 82 ** 83 ** Description Reset the current codec configuration 84 ** 85 ** Returns void 86 ** 87 *******************************************************************************/ 88void bta_av_co_audio_codec_reset(void); 89 90/******************************************************************************* 91 ** 92 ** Function bta_av_co_audio_codec_supported 93 ** 94 ** Description Check if all opened connections are compatible with a codec 95 ** configuration 96 ** 97 ** Returns TRUE if all opened devices support this codec, FALSE otherwise 98 ** 99 *******************************************************************************/ 100BOOLEAN bta_av_co_audio_codec_supported(tBTIF_STATUS *p_status); 101 102/******************************************************************************* 103 ** 104 ** Function bta_av_co_audio_set_codec 105 ** 106 ** Description Set the current codec configuration from the feeding type. 107 ** This function is starting to modify the configuration, it 108 ** should be protected. 109 ** 110 ** Returns TRUE if successful, FALSE otherwise 111 ** 112 *******************************************************************************/ 113BOOLEAN bta_av_co_audio_set_codec(const tBTIF_AV_MEDIA_FEEDINGS *p_feeding, tBTIF_STATUS *p_status); 114 115/******************************************************************************* 116 ** 117 ** Function bta_av_co_audio_get_sbc_config 118 ** 119 ** Description Retrieves the SBC codec configuration. If the codec in use 120 ** is not SBC, return the default SBC codec configuration. 121 ** 122 ** Returns TRUE if codec is SBC, FALSE otherwise 123 ** 124 *******************************************************************************/ 125BOOLEAN bta_av_co_audio_get_sbc_config(tA2D_SBC_CIE *p_sbc_config, UINT16 *p_minmtu); 126 127/******************************************************************************* 128 ** 129 ** Function bta_av_co_audio_discard_config 130 ** 131 ** Description Discard the codec configuration of a connection 132 ** 133 ** Returns Nothing 134 ** 135 *******************************************************************************/ 136void bta_av_co_audio_discard_config(tBTA_AV_HNDL hndl); 137 138/******************************************************************************* 139 ** 140 ** Function bta_av_co_init 141 ** 142 ** Description Initialization 143 ** 144 ** Returns Nothing 145 ** 146 *******************************************************************************/ 147void bta_av_co_init(void); 148 149 150/******************************************************************************* 151 ** 152 ** Function bta_av_co_peer_cp_supported 153 ** 154 ** Description Checks if the peer supports CP 155 ** 156 ** Returns TRUE if the peer supports CP 157 ** 158 *******************************************************************************/ 159BOOLEAN bta_av_co_peer_cp_supported(tBTA_AV_HNDL hndl); 160 161/******************************************************************************* 162 ** 163 ** Function bta_av_co_get_remote_bitpool_pref 164 ** 165 ** Description Check if remote side did a setconfig within the limits 166 ** of our exported bitpool range. If set we will set the 167 ** remote preference. 168 ** 169 ** Returns TRUE if config set, FALSE otherwize 170 ** 171 *******************************************************************************/ 172BOOLEAN bta_av_co_get_remote_bitpool_pref(UINT8 *min, UINT8 *max); 173 174#endif 175