• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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