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

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

?? headset_init.c

?? BLUETOOTH Stereo Headset Source Code,含CVC(噪音消除,回聲抵消),可用于開發藍牙立體聲耳機,藍牙車載,經過測試.
?? 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美女在线视频| 国产精品国产三级国产aⅴ中文 | 狠狠色丁香久久婷婷综合丁香| 亚洲成av人**亚洲成av**| 亚洲人吸女人奶水| 亚洲国产中文字幕在线视频综合| 国产精品一区在线观看乱码 | 午夜精品福利一区二区蜜股av | 九一久久久久久| 最新国产成人在线观看| 69堂成人精品免费视频| 国产一区二区三区av电影 | 久久久99精品免费观看不卡| 日本黄色一区二区| 欧美成人aa大片| 老司机免费视频一区二区| 欧美日韩国产一二三| 一区二区三区视频在线观看| 成人理论电影网| 三级欧美韩日大片在线看| 亚洲国产精品ⅴa在线观看| 色94色欧美sute亚洲线路二| 久久av老司机精品网站导航| 午夜天堂影视香蕉久久| 亚洲精品一区二区在线观看| 另类人妖一区二区av| 精品国产乱码久久| 国产成人午夜视频| 另类调教123区| 日韩久久精品一区| 最近日韩中文字幕| 2024国产精品| 国产亚洲欧美在线| 久久综合久久综合久久| 555www色欧美视频| 欧美一区二区观看视频| 欧美老女人在线| 欧美精品少妇一区二区三区| 欧美亚洲国产一区二区三区va| 国产+成+人+亚洲欧洲自线| 成人一区二区三区中文字幕| 成人丝袜视频网| 欧美亚洲综合色| 欧美日本精品一区二区三区| 欧美精品久久久久久久多人混战 | 欧美日韩中文字幕精品| 欧美在线制服丝袜| 久久青草国产手机看片福利盒子| 久久久国产精品午夜一区ai换脸| 国产欧美视频一区二区| 亚洲欧美日韩国产手机在线| 亚洲国产精品人人做人人爽| 麻豆免费精品视频| 91理论电影在线观看| 在线不卡的av| 18欧美乱大交hd1984| 日本不卡的三区四区五区| 精品一区二区三区蜜桃| 在线亚洲精品福利网址导航| 91亚洲国产成人精品一区二三| 色哟哟精品一区| 欧美国产一区二区在线观看| 亚洲成a人片在线观看中文| 国产精品一品视频| 色中色一区二区| 2019国产精品| 免费日韩伦理电影| 91麻豆精品久久久久蜜臀| 日韩毛片高清在线播放| 精品在线一区二区| 日韩欧美二区三区| 免费视频一区二区| 欧美影院一区二区| 国产成人av一区二区| www.欧美日韩国产在线| 久久久久久久久一| 国产福利一区在线观看| 国产性做久久久久久| 成人h精品动漫一区二区三区| 欧美一区二区国产| 国产麻豆精品一区二区| 国产三级精品视频| 成人av电影在线观看| 亚洲综合久久av| 538在线一区二区精品国产| 免费美女久久99| 26uuu亚洲综合色| 91在线观看下载| 亚洲一区二区精品3399| 精品国产一二三| 色综合久久88色综合天天6| 日韩成人一级片| 亚洲欧美一区二区在线观看| 欧亚洲嫩模精品一区三区| 午夜精品福利一区二区蜜股av| 精品噜噜噜噜久久久久久久久试看| 激情五月激情综合网| 亚洲乱码中文字幕| 久久久青草青青国产亚洲免观| 99视频在线精品| 国产成人免费xxxxxxxx| 石原莉奈在线亚洲三区| 亚洲精选在线视频| 精品国产一区二区国模嫣然| 欧美美女直播网站| 色欧美片视频在线观看 | 五月天久久比比资源色| 日韩一区欧美小说| 国产精品久久久久久久岛一牛影视| 色狠狠色狠狠综合| 欧美专区在线观看一区| 99国产麻豆精品| 99国产精品视频免费观看| 国产v综合v亚洲欧| 波多野结衣亚洲一区| 国产91丝袜在线观看| 成人97人人超碰人人99| 成人在线综合网站| 色综合天天综合狠狠| 欧美亚洲综合另类| 欧美一级久久久久久久大片| 日韩午夜在线观看| 久久综合狠狠综合久久激情 | 欧美在线免费观看亚洲| 欧美三级中文字| 久久尤物电影视频在线观看| xvideos.蜜桃一区二区| 国产天堂亚洲国产碰碰| 亚洲男女一区二区三区| 亚洲va天堂va国产va久| 美女www一区二区| 一本大道久久a久久精二百| 在线免费av一区| 久久久一区二区| 亚洲黄色性网站| 国产乱理伦片在线观看夜一区| 不卡的电影网站| 精品久久一二三区| 亚洲精品欧美综合四区| 国产一区在线观看麻豆| 欧美偷拍一区二区| 久久精品人人爽人人爽| 五月天激情小说综合| 9i看片成人免费高清| 精品va天堂亚洲国产| 日韩1区2区3区| 日本电影欧美片| 亚洲日本欧美天堂| 丁香婷婷深情五月亚洲| 精品国产自在久精品国产| 亚洲制服丝袜一区| 91一区一区三区| 亚洲视频香蕉人妖| 99免费精品在线观看| 国产农村妇女毛片精品久久麻豆 | 天天色图综合网| 欧美午夜视频网站| 亚洲h精品动漫在线观看| 欧美伊人久久久久久久久影院| 中国av一区二区三区| 极品少妇xxxx精品少妇| 精品久久国产字幕高潮| 美腿丝袜亚洲三区| 日本一区二区三级电影在线观看 | 欧美一区二区日韩| 久久精品国产色蜜蜜麻豆| 精品美女一区二区| 成人午夜免费电影| 一区二区三区电影在线播| 日本精品裸体写真集在线观看 | 亚洲成av人综合在线观看| 欧美日韩一区二区在线观看视频| 亚洲一区二区精品3399| 精品久久久久久久人人人人传媒| 国产精品中文字幕欧美| 中文字幕一区二区三区四区| 欧美色综合影院| 国产成人精品免费| 免费高清在线视频一区·| 亚洲同性同志一二三专区| 欧美久久久久中文字幕| 成人黄色在线看| 免费在线观看一区| 亚洲精品综合在线| 久久精品一区二区三区不卡| 色吊一区二区三区| 成人午夜在线视频| 日本va欧美va精品| 依依成人综合视频| 亚洲欧美偷拍卡通变态| 国产亚洲va综合人人澡精品| 日韩午夜激情视频| 在线成人av影院| 欧美日韩大陆在线| 欧美三片在线视频观看| 欧美性欧美巨大黑白大战| 欧美亚洲国产一区在线观看网站| av资源网一区| 色噜噜狠狠成人中文综合|