亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? headset_init.c

?? 藍牙立體聲耳機 firmware
?? C
字號:
/****************************************************************************
Copyright (C) Cambridge Silicon Radio Ltd. 2004-2006
Part of BlueLab 3.6.2-release

FILE NAME
    headset_init.c

DESCRIPTION
    Tasks carried out during the initialisation of the headset.

*/


/****************************************************************************
    Header files
*/
#include "headset_private.h"
#include "a2dp_handler.h"
#include "avrcp_handler.h"
#include "headset_init.h"
#include "headset_common.h"

#include <connection.h>
#include <hfp.h>
#include <panic.h>
#include <pio.h>
#include <ps.h>


#ifdef DEBUG_INIT
#define INIT_DEBUG(x) DEBUG(x)
#else
#define INIT_DEBUG(x) 
#endif


/*****************************************************************************/
void hfpHeadsetHfpInit(void)
{
    hfp_init_params init;
    
    uint16 supp_features = (HFP_VOICE_RECOGNITION | 
                            HFP_REMOTE_VOL_CONTROL);

    /* Initialise an HFP profile instance */
    #ifdef HFP_1_5     
		init.supported_profile = hfp_handsfree_15_profile;
	#else
		init.supported_profile = hfp_handsfree_profile;
	#endif
    init.supported_features = supp_features;
    init.size_service_record = 0;
    init.service_record = 0;
    init.priority = 255;

    HfpInit(getAppTask(), &init);

    /* Initialise an HSP profile instance */
    init.supported_profile = hfp_headset_profile;
    init.supported_features = 0;
    init.size_service_record = 0;
    init.service_record = 0;
    init.priority = 255;
    
    HfpInit(getAppTask(), &init);
}


/*****************************************************************************/
void hfpHeadsetInitComplete(headsetTaskData *app, const HFP_INIT_CFM_T *cfm)
{
    /* Make sure the profile instance initialisation succeeded. */
    if (cfm->status == hfp_init_success)
    {
        /* Check for an hfp instance, that's registered first */
        if (!app->hfp)
        {
            /* This must be the hfp instance */ 
            app->hfp = cfm->hfp;
        }
        else
        {
            /* Its not HFP so must be HSP */
            app->hsp = cfm->hfp;

            /* Send an internal message to indicate init has completed */
            MessageSend(getAppTask(), APP_HEADSET_INIT_CFM, 0);
        }
    }
    else
        /* If the profile initialisation has failed then things are bad so panic. */
        Panic();
}


/**************************************************************************/
void avHeadsetHandleA2dpInitCfm(headsetTaskData* app, const A2DP_INIT_CFM_T* cfm)
{
	uint8 mp3_enabled = 0;
    if(cfm->status == a2dp_success)
    {
        /* A2DP Library initialisation was a success */     
        /* Keep a record of the A2DP instance */
        if (!app->a2dp)
        {
            app->a2dp = cfm->a2dp;
            
            /* Enable signalling channel indication for this application. */
            A2dpEnableSignallingIndications(app->a2dp);

			if (PsRetrieve(MP3_ENABLED, &mp3_enabled, sizeof(uint8)))
				if (mp3_enabled)	
				{
					/* Register Stream Endpoints - MP3 */
					avHeadsetRegisterSep(app, a2dp_mpeg_audio);
						
					INIT_DEBUG(("MP3 done\n"));
				}		
			/* ... and SBC */
			avHeadsetRegisterSep(app, a2dp_sbc);
        }
    }
    else
    {
        INIT_DEBUG(("INIT: A2DP Init failed\n"));
    }
}


/**************************************************************************/
void avHeadsetHandleAvrcpInitCfm(headsetTaskData* app, const AVRCP_INIT_CFM_T* cfm)
{
    if(cfm->status == avrcp_success)
    {
        /* AVRCP Library initialisation was a success */        
        /* Keep a record of the AVRCP instance */
        if (!app->avrcp)
        {
            app->avrcp = cfm->avrcp;
            
            /* Initialise avrcp app variables */
            app->avrcp_pending = FALSE;
                    
            /* Change to Ready state */
            setAvrcpState(app, avHeadsetAvrcpReady);

			/* Init the HFP lib */
			hfpHeadsetHfpInit();
        }

        /* initialise the handler task */
        app->controls_task.handler = controls_handler;
    }
    else
    {
        INIT_DEBUG(("INIT: AVRCP Init failed\n"));
    }
}


/**************************************************************************/
void headsetInitReset(headsetTaskData *app)
{
    /* Set the state to indicate the init has finished */
    setHfpState(app, headsetReady);

    /* Set the class of device to indicate this is a headset */
    ConnectionWriteClassOfDevice(AUDIO_MAJOR_SERV_CLASS | AV_COD_RENDER | AV_MAJOR_DEVICE_CLASS | AV_MINOR_HEADSET);
    
    /* Disable SDP security  */
    ConnectionSmSetSdpSecurityIn(TRUE);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品麻豆日日躁夜夜躁| 日韩一区二区三区三四区视频在线观看 | 成人动漫av在线| 国模一区二区三区白浆| 韩国女主播一区| 久久99国产精品麻豆| 国精产品一区一区三区mba视频 | 综合分类小说区另类春色亚洲小说欧美| 精品国产一区二区亚洲人成毛片| 欧美一区二区三区视频在线观看 | 欧美国产欧美亚州国产日韩mv天天看完整 | 亚洲欧美一区二区三区极速播放| 亚洲色图欧美偷拍| 伊人色综合久久天天人手人婷| 一区二区欧美视频| 日本一道高清亚洲日美韩| 国模冰冰炮一区二区| av欧美精品.com| 欧美偷拍一区二区| 日韩欧美国产电影| 最新国产精品久久精品| 亚洲成人免费av| 黑人巨大精品欧美一区| eeuss影院一区二区三区| 欧美精品第一页| 精品久久久久久久久久久久包黑料| 欧美va日韩va| 亚洲精品亚洲人成人网| 丝袜诱惑制服诱惑色一区在线观看 | 中文在线免费一区三区高中清不卡| 国产精品视频在线看| 亚洲一区二区在线视频| 国内精品免费在线观看| 91国偷自产一区二区开放时间| 这里只有精品99re| 国产精品久久久久aaaa| 日韩vs国产vs欧美| 99re这里都是精品| 日韩一级高清毛片| 亚洲裸体在线观看| 国产传媒欧美日韩成人| 欧美性大战xxxxx久久久| 精品国产乱码久久久久久1区2区| 亚洲激情成人在线| 国产成人亚洲综合a∨婷婷| 在线视频观看一区| 国产精品女同互慰在线看| 日韩高清不卡一区二区三区| 91影视在线播放| 欧美国产欧美综合| 国产一区二区三区蝌蚪| 欧美老肥妇做.爰bbww| 亚洲色图欧美在线| 成人成人成人在线视频| 2021久久国产精品不只是精品| 午夜激情一区二区| 91丨九色丨黑人外教| 国产女人水真多18毛片18精品视频 | 一区二区三区日韩欧美| 成人av在线一区二区三区| 精品国产区一区| 久久国产精品99久久人人澡| 在线观看91av| 亚洲成年人影院| 欧美日韩精品欧美日韩精品一综合| 国产精品久久久久久久久免费丝袜| 九一九一国产精品| 欧美电视剧在线看免费| 日韩国产欧美在线观看| 欧美老女人在线| 五月天中文字幕一区二区| 欧美日韩一区二区三区免费看| 亚洲乱码精品一二三四区日韩在线| 91麻豆精品一区二区三区| 精品88久久久久88久久久| 免费看日韩a级影片| 欧美日韩精品系列| 免费成人美女在线观看| 欧美成人女星排行榜| 老司机免费视频一区二区| 精品人在线二区三区| 久久99热99| 国产三级一区二区三区| 成人白浆超碰人人人人| 亚洲黄色尤物视频| 在线播放/欧美激情| 韩国毛片一区二区三区| 久久精品日产第一区二区三区高清版| 国产麻豆精品在线| 亚洲视频你懂的| 欧美日韩一区二区三区不卡| 日韩av电影免费观看高清完整版在线观看| 欧美日韩国产免费一区二区| 久久99精品国产| 中文字幕av一区二区三区免费看| 不卡视频免费播放| 亚洲超丰满肉感bbw| 日韩欧美资源站| 国产白丝精品91爽爽久久| 亚洲婷婷综合久久一本伊一区 | 麻豆一区二区在线| 欧美高清在线精品一区| 欧美三级日韩三级国产三级| 免费观看在线综合色| 国产精品久久久久9999吃药| 精品视频999| 国产suv精品一区二区883| 一区二区三区av电影| 精品少妇一区二区三区| 91碰在线视频| 极品销魂美女一区二区三区| 亚洲乱码日产精品bd| 久久这里都是精品| 欧美日韩一区在线| 成人av手机在线观看| 日本不卡高清视频| 亚洲综合小说图片| 日本一区二区成人| 亚洲精品一区二区三区在线观看| 99精品视频一区二区三区| 麻豆极品一区二区三区| 亚洲精品va在线观看| 久久精品视频一区| 制服丝袜中文字幕亚洲| 一本在线高清不卡dvd| 激情久久五月天| 亚洲福利一区二区| 综合精品久久久| 国产亚洲欧美激情| 精品久久久久久久久久久久包黑料 | 国产毛片精品国产一区二区三区| 一区二区三区在线观看网站| 国产日韩一级二级三级| 日韩欧美精品在线视频| 欧美在线观看18| 91在线免费播放| 成人av电影在线网| 丁香激情综合国产| 国产99久久久国产精品潘金| 久久疯狂做爰流白浆xx| 蜜臀a∨国产成人精品| 天堂va蜜桃一区二区三区漫画版| 一个色综合网站| 亚洲男人的天堂在线观看| 中文字幕永久在线不卡| 中文字幕欧美国产| 国产精品久久久久久久久免费相片| 欧美精品一区二区三区在线播放| 91精品国产入口在线| 欧美福利一区二区| 制服.丝袜.亚洲.另类.中文| 欧美日韩国产小视频在线观看| 91黄色免费看| 欧美日韩视频专区在线播放| 欧美三区在线观看| 欧美天天综合网| 欧美精选一区二区| 91精品国产入口在线| 精品裸体舞一区二区三区| 日韩三级视频在线看| 精品成人一区二区| 中文字幕免费不卡| 亚洲欧美激情视频在线观看一区二区三区| 国产精品成人网| 一区二区三区四区五区视频在线观看| 尤物视频一区二区| 午夜激情一区二区| 狠狠色丁香婷综合久久| 国产成人午夜电影网| 99re8在线精品视频免费播放| 91老司机福利 在线| 91麻豆精品国产91| 久久婷婷久久一区二区三区| 国产精品第五页| 亚洲成av人在线观看| 国产在线精品一区二区| 99国产精品视频免费观看| 欧美日本一区二区三区| 欧美精品一区二区三区蜜臀| 亚洲国产精品v| 亚洲成人www| 国产凹凸在线观看一区二区| 欧美午夜精品久久久久久孕妇| 91精品国产综合久久国产大片| 精品美女一区二区| 亚洲欧美电影院| 激情综合网激情| 欧美色区777第一页| 国产视频不卡一区| 亚洲综合在线免费观看| 激情图区综合网| 色呦呦一区二区三区| 国产校园另类小说区| 午夜久久久久久久久久一区二区| 欧美日韩一级片在线观看| 久久久综合网站| 亚洲成av人片一区二区三区| 岛国av在线一区| 这里是久久伊人| 亚洲综合免费观看高清在线观看|