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

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

?? headset_private.h

?? bc5_stereo:bluetooth stereo Headset CODE 支持A2DP HSP 和 HSP ??勺鳛檐囕d免提。BlueLab 2007環境下編譯
?? H
字號:
/****************************************************************************
Copyright (C) Cambridge Silicon Radio Ltd. 2004-2007
Part of Stereo-Headset-SDK Q1-2007.Release

FILE NAME
    headset_private.h
    
DESCRIPTION
    
*/

#ifndef _HEADSET_PRIVATE_H_
#define _HEADSET_PRIVATE_H_


#include "headset_buttonmanager.h"
#include "headset_leddata.h"
#include "headset_powermanager.h"
#include "headset_states.h"

#include <app/message/system_message.h>
#include <a2dp.h>
#include <avrcp.h>
#include <csrtypes.h>
#include <message.h>
#include <hfp.h>
#include <sink.h>

/* Class of device defines */
#define AUDIO_MAJOR_SERV_CLASS  0x200000
#define AV_MAJOR_DEVICE_CLASS   0x000400
#define AV_MINOR_HEADSET        0x000004
#define AV_COD_RENDER           0x040000

/* Restart A2DP Delay Time */
#define A2DP_RESTART_DELAY		(uint32)500

typedef uint16 HeadsetTone_t ;
#define TONE_NOT_DEFINED 0


/* Locally generted message base */
#define HEADSET_MSG_BASE    (0x0)

enum
{
    APP_RESUME_A2DP = HEADSET_MSG_BASE,
	APP_AVRCP_CONTROLS,
    APP_AVRCP_CONNECT_REQ,
	APP_AMP_OFF,
	APP_SEND_PLAY,
	HEADSET_MSG_TOP	
};


typedef enum
{
    AVRCP_CTRL_PAUSE_PRESS,
    AVRCP_CTRL_PAUSE_RELEASE,
    AVRCP_CTRL_PLAY_PRESS,
    AVRCP_CTRL_PLAY_RELEASE,
    AVRCP_CTRL_FORWARD_PRESS,
    AVRCP_CTRL_FORWARD_RELEASE,
    AVRCP_CTRL_BACKWARD_PRESS,
    AVRCP_CTRL_BACKWARD_RELEASE,
    AVRCP_CTRL_STOP_PRESS,
    AVRCP_CTRL_STOP_RELEASE,
    AVRCP_CTRL_FF_PRESS,
    AVRCP_CTRL_FF_RELEASE,
    AVRCP_CTRL_REW_PRESS,
    AVRCP_CTRL_REW_RELEASE
} avrcp_controls;


typedef struct
{
    avrcp_controls control;
} APP_AVRCP_CONTROLS_T;

typedef struct
{
    bdaddr addr;
} APP_AVRCP_CONNECT_REQ_T;


typedef enum
{
	dsp_process_none = 0,
	dsp_process_sco = 1,
	dsp_process_a2dp = 2
} dspProcessType;


/* The audio data - part of the main data structure */
typedef struct audioDataTag
{    
    HeadsetTone_t * gEventTones ;
    unsigned        gMuted:1 ;
    unsigned        gHfpVolumeLevel:7 ; 
    unsigned        gAvVolumeLevel:7 ; 
	unsigned 	    unused:1;
}audioData_t ;


/* AVRCP Specific data */
typedef struct
{
	/* AVRCP Instance */
	AVRCP *avrcp;
	/* AVRCP is pending a command response */
	bool pending;
	/* Should a play be sent */
	uint16 send_play;
} avrcpData;

/* A2DP Specific data */
typedef struct
{
	/* A2DP Instance */
	A2DP *a2dp;
	/* Media Sink */
	Sink sink;
	/* Signalling Sink */
	Sink sig_sink;
	/* A2DP Channel Mode */
    a2dp_channel_mode channel_mode;
    /* A2DP rate */
	uint32 rate;   
	/* Active SEP */
	a2dp_sep_type sep;	
} a2dpData;


/* The application timeouts */
typedef struct TimeoutsTag
{
	uint16 PairModeTimeout_s ;
    uint16 MuteRemindTime_s ;
    uint16 AutoSwitchOffTime_s ;
}Timeouts_t ;


/* The amp control */
typedef struct AmpTag
{
	unsigned ampAutoOff:1;
	unsigned dummy:7;	
	unsigned ampOffDelay:8;
    uint32 ampPio;
}Amp_t ;


/* The features block */
typedef struct FeaturesTag
{
	unsigned autoSendAvrcp:1;
	unsigned cvcEnabled:1;
	unsigned dummy:14;	
}Features_t ;


/* Headset data */
typedef struct
{
    TaskData            task;
    BTaskData           theButtonTask;
    LedTaskData			theLEDTask;
    Task                theCodecTask;
    
    a2dpData			a2dp;
    avrcpData			avrcp;
	
    HFP                 *hfp;
    HFP                 *hsp;   
    
	Sink 				slc_sink;
    Sink                sco_sink;
    
    audioData_t         audioData ;    
    power_type			*power;
    Timeouts_t		    Timeouts ;
    
	/* Determines if the HFP or HSP profile is in use */
    hfp_profile         profile_connected;
    
	/* Local HFP features that are enabled */
    uint16				local_hfp_features;
    
	/* Flag to indicate if voice recognition is enabled */
    unsigned            voice_recognition_enabled:1;
	/* Flag to indicate if inquiry scan is enabled */
    unsigned            inquiry_scan_enabled:1;
	/* Flag to indicate if page scan is enabled */
	unsigned            page_scan_enabled:1 ;
	/* Flag to indicate if the dsp processing SCO, or A2DP, or neither */
	unsigned 			dsp_process:3;
	/* Flag to indicate if headset is connecting HFP due to power on reconnect procedure */
	unsigned 			slcConnectFromPowerOn:1 ;
	/* Flag to indicate if headset is connecting HFP */
    unsigned 			slcConnecting:1 ;	
	/* Flag to indicate if A2DP is ready */
	unsigned 			a2dpReady:1;
	/* Flag to indicate if headset is connecting A2DP */
	unsigned 			a2dpConnecting:1;
	/* Flag to indicate if A2DP supports MP3 decoding */
	unsigned 	 		a2dpMP3Enabled:1;
	/* Flag to indicate if headset successfully suspended A2DP source */
	unsigned 			a2dpSourceSuspended:1;
	/* Flag to indicate if amp should be turned off when there's no audio */
	unsigned 			ampAutoOff:1;
	/* Flag to indicate if the amp is currently switched on */
	unsigned 			ampOn:1;
	/* Flag to indicate if an avrcp_play should be sent once media is connected */
	unsigned 			sendPlayOnConnection:1;
	/* Flag to indicate if the headset should auto send AVRCP commands to try and pause/resume music playing */
    unsigned            autoSendAvrcp:1;
	
	/* Flag to indicate if inband ringtones have been enabled from the AG */
	unsigned    		InBandRingEnabled:1;
	/* Flag to indicate the ringtone used by the headset for out-of-band ringing */
    unsigned    		RingTone:5;
	/* Flag to indicate the suspected status of the playing music. ie. Playing (1) or Paused/Stopped (0).
	   This is used to hold the state when not actually streaming as the source can be suspended but AVRCP
	   commands can still be sent.
	*/
    unsigned    		PlayingState:1;
	/* Flag to indicate if CVC should be used for (e)SCO */
	unsigned			cvcEnabled:1;
	/* Time in secs to wait after there's no audio, before turning audio amp off */
	unsigned			ampOffDelay:8;
	
	/* The PIO that is used to turn the audio amp on and off */
	uint32 				ampPio;
	
} hsTaskData;


/****************************************************************************
NAME    
    getAppTask
    
DESCRIPTION
  Returns the headset application main task.

RETURNS
    Task
*/
Task getAppTask(void);




#endif /* HEADSET_PRIVATE_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产一区视频在线观看| 欧美一区二区在线播放| 国产精品一区二区视频| 日韩和欧美一区二区| 亚洲综合久久久| 一区二区高清视频在线观看| 悠悠色在线精品| 亚洲亚洲精品在线观看| 亚洲大型综合色站| 蜜臀精品一区二区三区在线观看| 午夜日韩在线电影| 亚洲6080在线| 蜜臂av日日欢夜夜爽一区| 亚洲精品成人少妇| 午夜精品成人在线视频| 麻豆精品在线看| 国产麻豆91精品| av电影一区二区| 欧美色中文字幕| 日韩精品一区二区三区在线播放| 老色鬼精品视频在线观看播放| 日韩免费一区二区| 久久先锋资源网| 亚洲欧洲日产国码二区| 夜夜嗨av一区二区三区网页 | 国产亲近乱来精品视频| www国产成人| 中文字幕中文字幕中文字幕亚洲无线| 欧美午夜电影在线播放| 欧美一级xxx| 国产精品久久久久一区二区三区共| 欧美在线你懂得| 久久九九久精品国产免费直播| 亚洲精品在线免费观看视频| 久久久久亚洲蜜桃| 亚洲视频 欧洲视频| 日韩高清欧美激情| 国产制服丝袜一区| 91麻豆精东视频| 欧美成人在线直播| 一区二区三区精密机械公司| 精品一区二区三区香蕉蜜桃| 日本电影欧美片| 久久久久久久久伊人| 香蕉乱码成人久久天堂爱免费| 中文字幕日韩精品一区| 日韩影视精彩在线| 成人av电影在线| 日韩三级在线观看| 亚洲午夜一二三区视频| 成人h精品动漫一区二区三区| 国产专区欧美精品| www国产成人| 亚洲女同一区二区| 亚洲国产精品久久久久秋霞影院 | 在线观看91精品国产入口| 欧美成人官网二区| 一区二区三区精品| 97精品视频在线观看自产线路二| 99久久国产综合色|国产精品| 成人精品视频.| 欧美精品一区视频| 日本人妖一区二区| 欧美精品777| 亚洲韩国精品一区| 色哟哟国产精品| 国产精品久久久久久户外露出 | 日韩成人一区二区三区在线观看| 亚洲第一搞黄网站| 色中色一区二区| 国产精品每日更新| 国产大陆精品国产| 国产亚洲人成网站| 国产激情一区二区三区| 久久久久久电影| 国产成人一级电影| 欧美激情一区在线| av在线不卡免费看| 亚洲欧美色一区| 91福利在线导航| 中文字幕乱码一区二区免费| 国产激情偷乱视频一区二区三区| www.在线欧美| |精品福利一区二区三区| 国产精品66部| 中文字幕一区二区三区乱码在线| 香蕉影视欧美成人| 欧美电影免费观看完整版| 毛片av一区二区| 久久精品欧美日韩| 成人在线综合网| 亚洲欧美激情插| 欧美亚洲动漫另类| 日本91福利区| 国产欧美日韩在线看| 色综合久久久网| 亚洲aaa精品| 久久久99久久| 欧美视频一区二| 极品少妇xxxx精品少妇| 国产精品九色蝌蚪自拍| 在线观看不卡视频| 国产美女精品人人做人人爽| 国产精品久久免费看| 在线观看一区二区精品视频| 青青草成人在线观看| 国产色一区二区| 久久99精品国产麻豆婷婷洗澡| caoporn国产精品| 亚洲日本一区二区| 欧美日韩成人综合在线一区二区| 国产目拍亚洲精品99久久精品| 日韩激情av在线| 精品国产一区二区三区不卡| 国产成人免费在线| 五月婷婷激情综合网| 国产欧美日产一区| 678五月天丁香亚洲综合网| 国产成人av福利| 天天亚洲美女在线视频| 国产精品理论片在线观看| 91.com视频| 一本色道亚洲精品aⅴ| 久久爱www久久做| 一区二区三区四区高清精品免费观看| 国产乱码精品一区二区三区av | 综合婷婷亚洲小说| 国产精品1区2区3区在线观看| 色94色欧美sute亚洲线路二| 天天影视网天天综合色在线播放| 91美女在线观看| 国产999精品久久| 久久精品理论片| 天堂蜜桃一区二区三区| 亚洲色图制服诱惑 | 91蝌蚪porny九色| 国产麻豆欧美日韩一区| 日韩不卡手机在线v区| 亚洲精品视频一区| 国产精品久久毛片a| 欧美成人一区二区三区片免费| 国内精品久久久久影院色| 性做久久久久久免费观看| 亚洲黄网站在线观看| 欧美高清在线精品一区| 久久久久久久久久美女| 2020国产精品自拍| 日韩欧美专区在线| 欧美剧情片在线观看| 亚洲午夜在线电影| 中文字幕不卡在线| 久久网站最新地址| 久久综合九色综合97婷婷女人| 美女一区二区视频| 五月天一区二区三区| 亚洲高清在线精品| 亚洲一区二区av电影| 亚洲男同1069视频| 一区二区三区产品免费精品久久75| 欧美精品777| 这里只有精品视频在线观看| 欧美在线视频全部完| 欧美色欧美亚洲另类二区| 欧美三级日韩三级国产三级| 欧美三级电影在线观看| 6080午夜不卡| 久久综合九色欧美综合狠狠| 久久久午夜精品| 亚洲欧美日韩国产综合| 一区二区三区日韩精品视频| 五月婷婷综合在线| 精品一二线国产| 国产精品亚洲第一| 在线观看一区不卡| 日韩女优av电影| 国产精品三级视频| 亚洲国产精品久久艾草纯爱| 一区二区三区免费看视频| 亚洲乱码日产精品bd| 亚洲成a人在线观看| 青草国产精品久久久久久| 国产一区二区三区av电影| jvid福利写真一区二区三区| 欧美三级中文字幕在线观看| 日韩视频免费直播| 亚洲人被黑人高潮完整版| 亚洲精品免费一二三区| 免费成人在线影院| 91免费视频观看| 日韩久久久久久| 亚洲美女偷拍久久| 国产一区二区美女| 欧美日韩另类一区| 国产人成一区二区三区影院| 亚洲一区在线观看免费 | 国产不卡在线播放| 91久久奴性调教| 久久精品日韩一区二区三区| 亚洲国产日韩精品| 成人av在线资源网站|