| 
									
										
										
										
											2017-05-06 20:29:12 +03:00
										 |  |  | // Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // Licensed under the Apache License, Version 2.0 (the "License");
 | 
					
						
							|  |  |  | // you may not use this file except in compliance with the License.
 | 
					
						
							|  |  |  | // You may obtain a copy of the License at
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //     http://www.apache.org/licenses/LICENSE-2.0
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // Unless required by applicable law or agreed to in writing, software
 | 
					
						
							|  |  |  | // distributed under the License is distributed on an "AS IS" BASIS,
 | 
					
						
							|  |  |  | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
					
						
							|  |  |  | // See the License for the specific language governing permissions and
 | 
					
						
							|  |  |  | // limitations under the License.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef __BTC_AV_CO_H__
 | 
					
						
							|  |  |  | #define __BTC_AV_CO_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-18 00:56:58 +02:00
										 |  |  | #include "btc_a2dp.h"
 | 
					
						
							| 
									
										
										
										
											2017-05-06 20:29:12 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | #if (BTA_AV_INCLUDED == TRUE)
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  | **  Constants & Macros | 
					
						
							|  |  |  | ********************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum { | 
					
						
							|  |  |  |     BTC_SV_AV_AA_SBC_INDEX = 0, | 
					
						
							|  |  |  |     BTC_SV_AV_AA_SBC_SINK_INDEX, | 
					
						
							|  |  |  |     BTC_SV_AV_AA_SEP_INDEX  /* Last index */ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  | **  Functions | 
					
						
							|  |  |  | ********************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_cp_is_active | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Get the current configuration of content protection | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          TRUE if the current streaming has CP, FALSE otherwise | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							|  |  |  | BOOLEAN bta_av_co_cp_is_active(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_cp_get_flag | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Get content protection flag | 
					
						
							|  |  |  |  **                  BTA_AV_CP_SCMS_COPY_NEVER | 
					
						
							|  |  |  |  **                  BTA_AV_CP_SCMS_COPY_ONCE | 
					
						
							|  |  |  |  **                  BTA_AV_CP_SCMS_COPY_FREE | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          The current flag value | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							|  |  |  | UINT8 bta_av_co_cp_get_flag(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_cp_set_flag | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Set content protection flag | 
					
						
							|  |  |  |  **                  BTA_AV_CP_SCMS_COPY_NEVER | 
					
						
							|  |  |  |  **                  BTA_AV_CP_SCMS_COPY_ONCE | 
					
						
							|  |  |  |  **                  BTA_AV_CP_SCMS_COPY_FREE | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          TRUE if setting the SCMS flag is supported else FALSE | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							|  |  |  | BOOLEAN bta_av_co_cp_set_flag(UINT8 cp_flag); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_audio_codec_reset | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Reset the current codec configuration | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          void | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							|  |  |  | void bta_av_co_audio_codec_reset(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_audio_codec_supported | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Check if all opened connections are compatible with a codec | 
					
						
							|  |  |  |  **                  configuration | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          TRUE if all opened devices support this codec, FALSE otherwise | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							| 
									
										
										
										
											2018-01-18 00:56:58 +02:00
										 |  |  | BOOLEAN bta_av_co_audio_codec_supported(tBTC_AV_STATUS *p_status); | 
					
						
							| 
									
										
										
										
											2017-05-06 20:29:12 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_audio_set_codec | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Set the current codec configuration from the feeding type. | 
					
						
							|  |  |  |  **                  This function is starting to modify the configuration, it | 
					
						
							|  |  |  |  **                  should be protected. | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          TRUE if successful, FALSE otherwise | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							| 
									
										
										
										
											2018-01-18 00:56:58 +02:00
										 |  |  | BOOLEAN bta_av_co_audio_set_codec(const tBTC_AV_MEDIA_FEEDINGS *p_feeding, tBTC_AV_STATUS *p_status); | 
					
						
							| 
									
										
										
										
											2017-05-06 20:29:12 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_audio_get_sbc_config | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Retrieves the SBC codec configuration.  If the codec in use | 
					
						
							|  |  |  |  **                  is not SBC, return the default SBC codec configuration. | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          TRUE if codec is SBC, FALSE otherwise | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							|  |  |  | BOOLEAN bta_av_co_audio_get_sbc_config(tA2D_SBC_CIE *p_sbc_config, UINT16 *p_minmtu); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_audio_discard_config | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Discard the codec configuration of a connection | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          Nothing | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							|  |  |  | void bta_av_co_audio_discard_config(tBTA_AV_HNDL hndl); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_init | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Initialization | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          Nothing | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							|  |  |  | void bta_av_co_init(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_peer_cp_supported | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Checks if the peer supports CP | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          TRUE if the peer supports CP | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							|  |  |  | BOOLEAN bta_av_co_peer_cp_supported(tBTA_AV_HNDL hndl); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*******************************************************************************
 | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Function         bta_av_co_get_remote_bitpool_pref | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Description      Check if remote side did a setconfig within the limits | 
					
						
							|  |  |  |  **                  of our exported bitpool range. If set we will set the | 
					
						
							|  |  |  |  **                  remote preference. | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  ** Returns          TRUE if config set, FALSE otherwize | 
					
						
							|  |  |  |  ** | 
					
						
							|  |  |  |  *******************************************************************************/ | 
					
						
							|  |  |  | BOOLEAN bta_av_co_get_remote_bitpool_pref(UINT8 *min, UINT8 *max); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif  ///BTA_AV_INCLUDED == TRUE
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |