Home | History | Annotate | Download | only in include
      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 
     28 enum
     29 {
     30     BTIF_SV_AV_AA_SBC_INDEX = 0,
     31     BTIF_SV_AV_AA_SEP_INDEX  /* Last index */
     32 };
     33 
     34 
     35 /*******************************************************************************
     36 **  Functions
     37 ********************************************************************************/
     38 
     39 /*******************************************************************************
     40  **
     41  ** Function         bta_av_co_cp_is_active
     42  **
     43  ** Description      Get the current configuration of content protection
     44  **
     45  ** Returns          TRUE if the current streaming has CP, FALSE otherwise
     46  **
     47  *******************************************************************************/
     48 BOOLEAN bta_av_co_cp_is_active(void);
     49 
     50 /*******************************************************************************
     51  **
     52  ** Function         bta_av_co_cp_get_flag
     53  **
     54  ** Description      Get content protection flag
     55  **                  BTA_AV_CP_SCMS_COPY_NEVER
     56  **                  BTA_AV_CP_SCMS_COPY_ONCE
     57  **                  BTA_AV_CP_SCMS_COPY_FREE
     58  **
     59  ** Returns          The current flag value
     60  **
     61  *******************************************************************************/
     62 UINT8 bta_av_co_cp_get_flag(void);
     63 
     64 /*******************************************************************************
     65  **
     66  ** Function         bta_av_co_cp_set_flag
     67  **
     68  ** Description      Set content protection flag
     69  **                  BTA_AV_CP_SCMS_COPY_NEVER
     70  **                  BTA_AV_CP_SCMS_COPY_ONCE
     71  **                  BTA_AV_CP_SCMS_COPY_FREE
     72  **
     73  ** Returns          TRUE if setting the SCMS flag is supported else FALSE
     74  **
     75  *******************************************************************************/
     76 BOOLEAN bta_av_co_cp_set_flag(UINT8 cp_flag);
     77 
     78 /*******************************************************************************
     79  **
     80  ** Function         bta_av_co_audio_codec_reset
     81  **
     82  ** Description      Reset the current codec configuration
     83  **
     84  ** Returns          void
     85  **
     86  *******************************************************************************/
     87 void bta_av_co_audio_codec_reset(void);
     88 
     89 /*******************************************************************************
     90  **
     91  ** Function         bta_av_co_audio_codec_supported
     92  **
     93  ** Description      Check if all opened connections are compatible with a codec
     94  **                  configuration
     95  **
     96  ** Returns          TRUE if all opened devices support this codec, FALSE otherwise
     97  **
     98  *******************************************************************************/
     99 BOOLEAN bta_av_co_audio_codec_supported(tBTIF_STATUS *p_status);
    100 
    101 /*******************************************************************************
    102  **
    103  ** Function         bta_av_co_audio_set_codec
    104  **
    105  ** Description      Set the current codec configuration from the feeding type.
    106  **                  This function is starting to modify the configuration, it
    107  **                  should be protected.
    108  **
    109  ** Returns          TRUE if successful, FALSE otherwise
    110  **
    111  *******************************************************************************/
    112 BOOLEAN bta_av_co_audio_set_codec(const tBTIF_AV_MEDIA_FEEDINGS *p_feeding, tBTIF_STATUS *p_status);
    113 
    114 /*******************************************************************************
    115  **
    116  ** Function         bta_av_co_audio_get_sbc_config
    117  **
    118  ** Description      Retrieves the SBC codec configuration.  If the codec in use
    119  **                  is not SBC, return the default SBC codec configuration.
    120  **
    121  ** Returns          TRUE if codec is SBC, FALSE otherwise
    122  **
    123  *******************************************************************************/
    124 BOOLEAN bta_av_co_audio_get_sbc_config(tA2D_SBC_CIE *p_sbc_config, UINT16 *p_minmtu);
    125 
    126 /*******************************************************************************
    127  **
    128  ** Function         bta_av_co_audio_discard_config
    129  **
    130  ** Description      Discard the codec configuration of a connection
    131  **
    132  ** Returns          Nothing
    133  **
    134  *******************************************************************************/
    135 void bta_av_co_audio_discard_config(tBTA_AV_HNDL hndl);
    136 
    137 /*******************************************************************************
    138  **
    139  ** Function         bta_av_co_init
    140  **
    141  ** Description      Initialization
    142  **
    143  ** Returns          Nothing
    144  **
    145  *******************************************************************************/
    146 void bta_av_co_init(void);
    147 
    148 
    149 /*******************************************************************************
    150  **
    151  ** Function         bta_av_co_peer_cp_supported
    152  **
    153  ** Description      Checks if the peer supports CP
    154  **
    155  ** Returns          TRUE if the peer supports CP
    156  **
    157  *******************************************************************************/
    158 BOOLEAN bta_av_co_peer_cp_supported(tBTA_AV_HNDL hndl);
    159 
    160 /*******************************************************************************
    161  **
    162  ** Function         bta_av_co_get_remote_bitpool_pref
    163  **
    164  ** Description      Check if remote side did a setconfig within the limits
    165  **                  of our exported bitpool range. If set we will set the
    166  **                  remote preference.
    167  **
    168  ** Returns          TRUE if config set, FALSE otherwize
    169  **
    170  *******************************************************************************/
    171 BOOLEAN bta_av_co_get_remote_bitpool_pref(UINT8 *min, UINT8 *max);
    172 
    173 #endif
    174