void hfpHandlerAudioConnectInd( const HFP_AUDIO_CONNECT_IND_T *ind )
{
    HFP *active_hfp = 0;
	hfp_audio_params audio_params_data, *audio_params = NULL;
	
    /* Accept audio if its for a task we own */
    if ((ind->hfp == theHeadset.hfp) || (ind->hfp == theHeadset.hsp))
        active_hfp = ind->hfp;    

    if (active_hfp)
    {
        /* Accept the audio connection */		
		{
			/* CVSD codec */
			if (theHeadset.HFP_features.eSCO_Parameters_Enabled )
			{
        		audio_params_data.bandwidth       = theHeadset.HFP_features.bandwidth ;     
	    		audio_params_data.max_latency     = theHeadset.HFP_features.max_latency ;
    			audio_params_data.voice_settings  = theHeadset.HFP_features.voice_settings ;
        		audio_params_data.retx_effort     = theHeadset.HFP_features.retx_effort ;  
				audio_params = &audio_params_data;
			}
			
			HfpAudioConnectResponse(active_hfp, 1, theHeadset.HFP_features.supportedSyncPacketTypes, audio_params, ind->bd_addr);
		}
    }
    else
	{
        HfpAudioConnectResponse(active_hfp, 0, sync_hv1, 0, ind->bd_addr);	
	}
}
Exemplo n.º 2
0
/****************************************************************************
NAME    
    audioHandleSyncConnectInd
    
DESCRIPTION
    Handle HFP_AUDIO_CONNECT_IND.  This indicates that an incoming sychronous 
    connection is being requested

RETURNS
    
*/
void audioHandleSyncConnectInd ( const HFP_AUDIO_CONNECT_IND_T *pInd )
{
    sync_pkt_type     packet_types;
    hfp_audio_params* audio_params;
    bool              disable_wbs_override = FALSE;
    
    AUD_DEBUG(("AUD: Synchronous Connect Ind [%d] from [%x]:\n" , pInd->codec, PROFILE_INDEX(pInd->priority))) ;
    
    audio_params = audioGetSettings(pInd->priority, &packet_types);
    
    AUD_DEBUG(("AUD : [%lx][%x][%x][%x]\n" , audio_params->bandwidth ,audio_params->max_latency   ,
                                            audio_params->voice_settings ,audio_params->retx_effort)) ;
    
    /* WBS test case - use bad WBS params */
    if(theSink.FailAudioNegotiation)
    {
        packet_types = sync_all_sco;
        disable_wbs_override = TRUE;
    }
    
    HfpAudioConnectResponse(pInd->priority, TRUE, packet_types, audio_params, disable_wbs_override);
}