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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? toneapp.c

?? DTMF收發(fā)芯片88L89完美驅(qū)動(dòng)(Arm,SDT251環(huán)境)
?? C
?? 第 1 頁 / 共 4 頁
字號(hào):
/* tone_App.c - 音頻服務(wù) 應(yīng)用層 外部消息函數(shù) */

/* Copyright 1994-2001 Wuhan Jinglun Electronic Co., Ltd. */

/* 
modification history
--------------------

*/

/* 
DESCRIPTION 根據(jù)外部消息提供相應(yīng)的服務(wù)。
*/

#include	"pcdisk.h"

#include	"codec.h"
#include	"intfTone.h"
#include	"intfUimm.h"
#include	"intfMont.h"
#include	"..\inc\toneType.h"

#include	"..\inc\rtn_tone.h"
#include "..\inc\MT88L89V2.h"

//extern temp;

//數(shù)據(jù)緩存
/* BEGIN, 2002-05-20, Yancj */
/* PURPOSE: 只讀取一個(gè)文件*/

#if 1	
	//									pBuf_HFC 				iPeriod_Tone		iLoop_Series
	//pDesc	iDevice				pBuf_ARM 		iBuf		iPeriod_Send 		iLoop_Period					
	//內(nèi)容播放				ARM	    	HFC	 	數(shù)據(jù)	發(fā)聲	聲音	周期	連續(xù)  
	//描述設(shè)備				緩存	緩存	長度	周期	周期	次數(shù)	次數(shù)                                    
	//		int                                       	*    *    	1bytes 	1Tick	1Tick	1Cycle	1Cycle								                                          					
TONE_APP_DATA_BUF_t gTONE_Data_Buf_Main[] = {								
	"NULL",	TONE_DEVICE_CODEC_NUL, 	0,   0, 	0, 		0,	  		0,	  	0,		0,	//	0		
	"KEYS",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		0/*need*/,	0,	  	1,		1,	//	1		
	"REMV",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		50,			100,		3,		1,	//	2	
	"CHGE",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		100,			300,		10,		1,	//	3	
	"RING",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		90,			500,		60,		1,	//	4	
	"PUBL",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		60,			260,		3,		1,	//	5
	"DIAL",	TONE_DEVICE_CODEC_ARM, 	0,   0, 	0, 		5400,		0,	  	1,   		60,	//	6

	"BUSY",	TONE_DEVICE_CODEC_ARM, 	0, 	0, 	0, 		35,	 		70,		100,		1,	//	7
	"DTMF",	TONE_DEVICE_CODEC_ARM, 	0,	0, 	0, 		0/*need*/,	0,	  	1,		1,	//	8	
	
	/* BEGIN, 2002-05-27, YanCJ */
	/* PURPOSE: 增加呼臺(tái)提示音控制表*/	
	"CALL",	TONE_DEVICE_CODEC_ARM, 	0,	0, 	800, 	10,			20,	  	2,		1	//	9	
	/* END */
	
	};

#endif
/* END */

/* 程序運(yùn)行后返回的值
pDesc   iDevice   iBuf   iPeriod_Send   iPeriod_Tone   iLoop_Period   iLoop_Series 
NULL	 0	 0	 	0	 	0	 0	 0
KEYS	 2	 12800	 10	 	0	 1	 1
REMV	 2	 8000	 50	 	100	 3	 1
CHGE	 2	 8000	 100	 	300	 10	 1
RING	 2	 8000	 90	 	500	 60	 1
PUBL	 1	 4800	 60	 	260	 3	 1
DIAL	 2	 7202	 5400	 0	 1	 60
BUSY	 2	 2800	 35	 	70	 100	 1
DTMF	 1	 10240	 8	 	0	 1	 1
*/

#if 0	//2002-04-08 modified ready, Yancj ,		宏控制雙頻音長度
	//內(nèi)容 ARM					HFC				ARM	    HFC	 文件					發(fā)聲			聲音	周期	連續(xù)  
	//描述 文件				文件			緩存	緩存	長度					周期			周期	次數(shù)	次數(shù)                                    
	//														                                          					
TONE_APP_DATA_BUF_t gTONE_Data_Buf_Main[] = {								
	"NULL",	"",         		"",					0,   0, 0,	  					0,	  				0,	  	0,		0,	//	0		
	"KEYS",	TONE_FILE_ARM_KEYS, TONE_FILE_HFC_KEYS,	0,   0,	(16*TONE_KEYS_SIZES),	(TONE_KEYS_TICKS),	0,	  	1,		1,	//	1		
	"REMV",	TONE_FILE_ARM_REMV, TONE_FILE_HFC_REMV,	0,   0,	4000,					50,					100,	3,		1,	//	2	
	"CHGE",	TONE_FILE_ARM_CHGE, TONE_FILE_HFC_CHGE,	0,   0,	8000,					100,				300,	10,		1,	//	3	
	"RING",	TONE_FILE_ARM_RING, TONE_FILE_HFC_RING,	0,   0,	7200,					90,					500,	60,		1,	//	4	
	"PUBL",	TONE_FILE_ARM_PUBL, TONE_FILE_HFC_PUBL,	0,   0,	4800,					60,					260,	3,		1,	//	5
	"DIAL",	TONE_FILE_ARM_DIAL, TONE_FILE_HFC_DIAL,	0,   0, 8000,					6000,				0,	  	1,   	60,	//	6

	"BUSY",	TONE_FILE_ARM_BUSY, TONE_FILE_HFC_BUSY,	0, 	0, 	2800,					35,	 				70,		100,	1,	//	7
	"DTMF",	TONE_FILE_ARM_DTMF, TONE_FILE_HFC_DTMF,	0,	0, 	(16*TONE_DTMF_SIZES),	 (TONE_DTMF_TICKS),	0,	  	1,		1	//	8	
	};

#endif

#if 0	//2002-03-28 modified ready, Yancj 
		//
	//tick數(shù)
	//內(nèi)容 ARM				HFC				ARM	    HFC	 文件	發(fā)聲聲音周期	連續(xù)  
	//描述 文件				文件			緩存緩存長度	周期周期次數(shù)	次數(shù)                                    
	//														                                          					
TONE_APP_DATA_BUF_t gTONE_Data_Buf_Main[] = {								
	"NULL",	TONE_FILE_NULL,         	TONE_FILE_NULL,		0,   0,   	800,	  	10,	  	0,	  	1,		1,	//	0		
	"KEYS",	TONE_FILE_ARM_KEYS, 	TONE_FILE_HFC_KEYS,	0,   0,	16*800,	10,	  	0,	  	1,		1,	//	1		
	"REMV",	TONE_FILE_ARM_REMV, TONE_FILE_HFC_REMV,	0,   0,	4000,	50,		100,	  	3,		1,	//	2	
	"CHGE",	TONE_FILE_ARM_CHGE, TONE_FILE_HFC_CHGE,	0,   0,	8000,	100,		300,	 	10,		1,	//	3	
	"RING",	TONE_FILE_ARM_RING, 	TONE_FILE_HFC_RING,	0,   0,	7200,	90,		500,	 	60,		1,	//	4	
	"PUBL",	TONE_FILE_ARM_PUBL, 	TONE_FILE_HFC_PUBL,	0,   0,	4800,	60,		260,	  	3,		1,	//	5
	"DIAL",	TONE_FILE_ARM_DIAL, 	TONE_FILE_HFC_DIAL,	0,   0,  	8000,	6000,	0,	  	1,   		60,	//	6

	"BUSY",	TONE_FILE_ARM_BUSY, TONE_FILE_HFC_BUSY,	0, 	0, 	2800,	 35,	 	70,		100,		1,	//	7
	"DTMF",	TONE_FILE_ARM_DTMF, TONE_FILE_HFC_DTMF,	0,	0, 	16*800,	 10,	  	0,	  	1,		1	//	8	
	};

#endif

/* BEGIN, 2002-05-15, Yancj */
/* PURPOSE: 需要定制參數(shù)*/
int gTONE_Interval_KEYS;			//兩個(gè)按鍵音之間間隔時(shí)間	
int gTONE_Interval_DTMF;		//兩個(gè)雙頻音之間間隔時(shí)間	
/* END */

//2個(gè)設(shè)備
//TONE_APP_DEVICE_INFO_t gTONE_App_Device_Info_HFC;	
TONE_APP_DEVICE_INFO_t gTONE_App_Device_Info_ARM;	

//6個(gè)定時(shí)器

//NU_TIMER TONE_Timer_HFC_Start;
//NU_TIMER TONE_Timer_HFC_Stop;
NU_TIMER TONE_Timer_HFC_Delay;

NU_TIMER TONE_Timer_ARM_Start;
NU_TIMER TONE_Timer_ARM_Stop;
NU_TIMER TONE_Timer_ARM_Delay;


//過去的與設(shè)備相關(guān)2條消息
TONEMSGRSV_t	TONE_ARM_Msg_Rsv;		//按鍵保留的消息
TONEMSGRSV_t	TONE_HFC_Msg_Rsv;		//雙頻保留的消息

int 	gTONE_Fifo_Keys_Is_Null;		
int 	gTONE_Fifo_Dtmf_Is_Null;		

/* begin 2003-10-22, huangm */
/* resume the bug of TONE lose number */
/*
	DTMF_Flag
	value
		true:		tone task have received message from tone_HISR_Timer_HFC_Delay()
		
		false:		tone task have not received message, so tone_HISR_Timer_HFC_Delay()
					do not send another message
*/
bool	DTMF_Flag = true;

/* end */

extern bool g_wait_dtmf_send;

extern int IsSoundPlayAvailable (void);

/**********************************************************************
*                                                                      
*  FUNCTION		"tone_App"          音頻服務(wù).應(yīng)用層服務(wù)入口	        
*
***********************************************************************/
void tone_App(UNSIGNED argc, VOID *argv)	
{
	STATUS		status; 
	PRINTFLOW("Begin: tone_App");

	status = tone_App_Start();		//音頻服務(wù).啟動(dòng)函數(shù)		//分配數(shù)據(jù)空間
	status = tone_App_Process();	//音頻服務(wù).處理函數(shù)
	status = tone_App_Stop();		//音頻服務(wù).停止函數(shù)		//釋放數(shù)據(jù)空間

	PRINTFLOW("Enddd: tone_App ");
	return;
}	



/**********************************************************************
*                                                                      
*  FUNCTION		"tone_App_Start"          音頻服務(wù).啟動(dòng)	        
*
***********************************************************************/
int tone_App_Start(void)
{
	//UINT2 num;
	//int i;
	STATUS	status; 

	//音頻服務(wù).成為文件系統(tǒng)的客戶
	status = NU_Become_File_User();
	if (status != 1) 
	{
		PRINTERRR("tone_App_Start: %8d\t NU_Become_File_User", status);  
		LogError("Error %s L %d\n",__FILE__,__LINE__);
		return -1;
	}

	//數(shù)據(jù)緩存.初始化
	//num = sizeof(gTONE_Data_Buf_Main)/sizeof(TONE_APP_DATA_BUF_t);
	//status = tone_App_Data_Buf_Init(gTONE_Data_Buf_Main, num);	//初始音頻數(shù)據(jù)
	
	 status = tone_App_Data_Init(gTONE_Data_Buf_Main);

#if 0
	printf("pDesc   iDevice   iBuf   iPeriod_Send   iPeriod_Tone   iLoop_Period   iLoop_Series \n" );
	for(i=0; i<=8;i++)
	{
		printf("%s\t %d\t %d\t %d\t %d\t %d\t %d\n", gTONE_Data_Buf_Main[i].pDesc,
											gTONE_Data_Buf_Main[i].iDevice,
											gTONE_Data_Buf_Main[i].iBuf,
											gTONE_Data_Buf_Main[i].iPeriod_Send,
											gTONE_Data_Buf_Main[i].iPeriod_Tone,
											gTONE_Data_Buf_Main[i].iLoop_Period,
											gTONE_Data_Buf_Main[i].iLoop_Series);
	}
#endif
 
	TONE_HFC_Msg_Rsv.current =0;
	TONE_HFC_Msg_Rsv.size = 50;
	
	TONE_ARM_Msg_Rsv.current =0;
	TONE_ARM_Msg_Rsv.size = 50;
	//定時(shí)器.創(chuàng)建
							//timer					name	expiration_routine		id  init resc	enable	
//	status = NU_Create_Timer(&TONE_Timer_HFC_Start,  "TT_01",  tone_HISR_Timer_HFC_Start, 1, 	20,	20,	NU_DISABLE_TIMER); 
//	status = NU_Create_Timer(&TONE_Timer_HFC_Stop,   "TT_02",  tone_HISR_Timer_HFC_Stop,  1, 	20,	20,	NU_DISABLE_TIMER);
	status = NU_Create_Timer(&TONE_Timer_HFC_Delay,  "TT_03", tone_HISR_Timer_HFC_Delay, 1, 	gTONE_Interval_DTMF, gTONE_Interval_DTMF,	NU_DISABLE_TIMER);

	status = NU_Create_Timer(&TONE_Timer_ARM_Start,  "TT_11",  tone_HISR_Timer_ARM_Start, 1, 	20,	20,	NU_DISABLE_TIMER);
	status = NU_Create_Timer(&TONE_Timer_ARM_Stop,   "TT_12",  tone_HISR_Timer_ARM_Stop,  1, 	20,	20,	NU_DISABLE_TIMER);
	status = NU_Create_Timer(&TONE_Timer_ARM_Delay,  "TT_13", tone_HISR_Timer_ARM_Delay, 1, 	gTONE_Interval_KEYS, gTONE_Interval_KEYS,	NU_DISABLE_TIMER);

	return NU_SUCCESS;
}	

/**********************************************************************
*                                                                      
*  FUNCTION		"tone_App_Stop"          音頻服務(wù).停止	        
*
***********************************************************************/
int tone_App_Stop(void)
{
	UINT2 num;

	RtnMSG	s_msg;

	STATUS		status; 
	PRINTFLOW("Begin: tone_App_Stop");

	NU_Release_File_User(); 

	//數(shù)據(jù)緩存.釋放
	num = sizeof(gTONE_Data_Buf_Main)/sizeof(TONE_APP_DATA_BUF_t);
	status = tone_App_Data_Buf_Deinit(gTONE_Data_Buf_Main, num);	//釋放音頻地址

	//定時(shí)器.釋放
//	status = NU_Control_Timer(&TONE_Timer_HFC_Start, NU_DISABLE_TIMER);
//	status = NU_Control_Timer(&TONE_Timer_HFC_Stop,  NU_DISABLE_TIMER);
	status = NU_Control_Timer(&TONE_Timer_HFC_Delay, NU_DISABLE_TIMER);	
	
	status = NU_Control_Timer(&TONE_Timer_ARM_Start, NU_DISABLE_TIMER);
	status = NU_Control_Timer(&TONE_Timer_ARM_Stop,  NU_DISABLE_TIMER);
	status = NU_Control_Timer(&TONE_Timer_ARM_Delay,  NU_DISABLE_TIMER);	


//	status = NU_Delete_Timer(&TONE_Timer_HFC_Start);
//	status = NU_Delete_Timer(&TONE_Timer_HFC_Stop);
	status = NU_Delete_Timer(&TONE_Timer_HFC_Delay);
	
	status = NU_Delete_Timer(&TONE_Timer_ARM_Start);
	status = NU_Delete_Timer(&TONE_Timer_ARM_Stop);
	status = NU_Delete_Timer(&TONE_Timer_ARM_Delay);


	//發(fā)出退出消息
	s_msg.msg_len = 0;
	s_msg.msg_code = MSG_MONT_EXIT_TONE;	
	status = NU_Send_To_Pipe(&rtn_pipe[MONT], &s_msg, s_msg.msg_len + 4, NU_NO_SUSPEND);  
	if (status < NU_SUCCESS) 
	{
		PRINTERRR("ERRR: NU_Send_To_Pipe: %d. ", status);  
		LogError("Error %s L %d\n",__FILE__,__LINE__);
	}

	PRINTFLOW("Enddd: tone_App_Stop");
	return NU_SUCCESS;
}	

/**********************************************************************
*                                                                      
*  FUNCTION		"tone_App_Process"          音頻服務(wù).處理	        
*
***********************************************************************/
int tone_App_Process(void)
{

	RtnMSG	r_msg;
	RtnMSG	s_msg;
	UNSIGNED 	size;
	int pass;
	int valid;				//局部處理是否有效 0:無效 1: 有效	
	int processing;		//

	STATUS		status;
	PRINTFLOW("Begin: tone_App_Process");

	processing  = 1;
	valid = 0;
	
	//FIFO緩存.初始化
//	status = tone_App_Device_Buf_Init(&gTONE_App_Device_Info_HFC);
	status = tone_App_Device_Buf_Init(&gTONE_App_Device_Info_ARM);

	while(processing) 
	{
		//等待外部消息
		status =   NU_Receive_From_Pipe(&rtn_pipe[TONE] , &r_msg, MAX_MSG_BYTES, &size, NU_SUSPEND);  
		if (status != NU_SUCCESS) 
		{   
			PRINTERRR("TONE --- ERR: NU_Receive_From_Pipe: %8d\n", status);
			continue;
		}

		//
		//便于調(diào)試中屏蔽TONE模塊		2002-05-08
		//
		if (MSG_TONE_QUERY_MONT!=r_msg.msg_code)
		{
			//continue;
		}		

		//return;
		
		switch(r_msg.msg_code)
		{
//ISDN消息
/*
			case MSG_TONE_PHONE_CTRL_UIMM:
				switch(r_msg.msg_data[0])
				{
					case PHONE_CTRL_OFF:		//HFC2GCI	HFC2ST	ST2HFC
						PhDr_Iocntl(0, CNTLID_CONNECT_B1_HFC2GCI, 0);
						PhDr_Iocntl(0, CNTLID_CONNECT_B1_HFC2ST, 0);
						//PhDr_Iocntl(0, CNTLID_CONNECT_B1_ST2HFC, 0);						
						break;

					case PHONE_CTRL_ON:	//ST2GCI	GCI2ST	GCI2HFC
						PhDr_Iocntl(0, CNTLID_CONNECT_B1_ST2GCI, 0);
						PhDr_Iocntl(0, CNTLID_CONNECT_B1_GCI2ST, 0);
						//PhDr_Iocntl(0, CNTLID_CONNECT_B1_GCI2HFC, 0);						
						break;

					default:
						PRINTERRR("err MSG_TONE_ISDN_UIMM msg_data[0]");
						LogError("Error %s L %d\n",__FILE__,__LINE__);
						break;
				
				}

				break;
*/

//退出消息
			case MSG_TONE_EXIT_MONT:
				processing = 0;
				break;
				
//維護(hù)消息
			case MSG_TONE_QUERY_MONT:	//	10011
				//發(fā)出存活消息
				s_msg.msg_len = 1;
				s_msg.msg_code = MSG_MONT_QUERY_RSP_TONE;
				s_msg.msg_data[0] = 1;
				status = NU_Send_To_Pipe(&rtn_pipe[MONT], &s_msg, s_msg.msg_len + 4, NU_NO_SUSPEND);  
				if (status < NU_SUCCESS) 
				{
					PRINTERRR("ERRR: NU_Send_To_Pipe: %d. ", status);  
					LogError("Error %s L %d\n",__FILE__,__LINE__);
				}

				break;

			case MSG_TONE_DTMFSEND_FINISH:
				s_msg.msg_len = 0;
				s_msg.msg_code = MSG_UIMM_NUMBER_SENT_UIMM;
				status = NU_Send_To_Pipe(&rtn_pipe[UIMM], &s_msg, s_msg.msg_len + 4, NU_NO_SUSPEND);  
				if (status < NU_SUCCESS) 
				{
					PRINTERRR("ERRR: NU_Send_To_Pipe: %d. ", status);  
					LogError("Error %s L %d\n",__FILE__,__LINE__);
				}
				
				break;

			case MSG_TONE_TEST_MNTN:
				//
				//維護(hù)操作
				//
				status = tone_Mntn_Test(r_msg);
				break;
//播放消息
			case MSG_TONE_KEYS_UIMM:	//按鍵音
				//			
				//按鍵消息預(yù)處理
				//
				status = tone_App_Pre_Msg_Keys(r_msg); 
									
				switch(status)
				{
					case TONE_FIFO_ADDED:		//已經(jīng)加入隊(duì)列
					
						PRINTINFO("tone_App_Pre_Msg_Keys: rtn: TONE_FIFO_ADDED");
						
						continue;						
						break;

					case TONE_FIFO_NOT_NEED:	//無需加入隊(duì)列
					
						PRINTINFO("tone_App_Pre_Msg_Keys: rtn: TONE_FIFO_NOT_NEED");
						
						break;
	
					default:			//處理過程中有錯(cuò)誤
					
						PRINTERRR("tone_App_Pre_Msg_Keys err");
						LogError("Error %s L %d\n",__FILE__,__LINE__);
						continue;
				}
				goto tone;		//暫時(shí),消息定義不合理的原因
				break;		
				

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久久久久| 久久精品亚洲精品国产欧美kt∨| 精品一区二区国语对白| 亚洲色图丝袜美腿| 精品国产91久久久久久久妲己| 91在线播放网址| 精品在线免费视频| 亚洲激情欧美激情| 久久久久97国产精华液好用吗| 欧美日韩国产电影| 91视视频在线观看入口直接观看www| 久久国产欧美日韩精品| 亚洲国产综合视频在线观看| 中文字幕欧美激情| 久久伊人中文字幕| 日韩一区国产二区欧美三区| 在线看日韩精品电影| 成人在线视频一区| 精品一二线国产| 日韩成人精品在线| 一区二区三区国产精品| 亚洲欧洲日韩一区二区三区| 久久久久久久电影| 精品福利二区三区| 精品免费国产一区二区三区四区| 欧美日韩亚洲综合一区 | 亚洲三级电影网站| 久久精品夜夜夜夜久久| 精品理论电影在线观看 | 制服丝袜亚洲色图| 欧美日韩国产综合草草| 色婷婷久久99综合精品jk白丝| 成人av在线网| 成人网在线播放| 成人性生交大片免费| 国产盗摄视频一区二区三区| 国产精品一区二区不卡| 国产精品白丝jk黑袜喷水| 激情欧美日韩一区二区| 久久99精品久久久久久动态图 | 亚洲成人免费视| 亚洲午夜精品在线| 午夜电影一区二区三区| 亚洲一级片在线观看| 亚洲综合男人的天堂| 亚洲福中文字幕伊人影院| 亚洲一区二区三区中文字幕在线| 亚洲精品日产精品乱码不卡| 亚洲自拍另类综合| 丝袜亚洲另类欧美综合| 美洲天堂一区二卡三卡四卡视频 | 亚洲一区二区视频在线观看| 亚洲成a人片综合在线| 日本不卡123| 国产精品亚洲视频| 成人免费视频免费观看| 一本一道综合狠狠老| 欧美在线视频不卡| 欧美一级一区二区| 精品久久久三级丝袜| 中文一区一区三区高中清不卡| 国产精品国产三级国产a | 日韩中文字幕区一区有砖一区| 日韩1区2区日韩1区2区| 国内精品写真在线观看| aaa欧美大片| 欧美午夜精品久久久| 91精品国产91热久久久做人人| 精品美女一区二区| 亚洲桃色在线一区| 午夜精品久久久久影视| 精品一区二区三区日韩| 99久久精品久久久久久清纯| 欧美日韩中文字幕一区| 亚洲精品在线观看视频| 亚洲欧洲精品一区二区精品久久久| 一区二区三区四区激情| 久久激情综合网| 91亚洲精品久久久蜜桃| 欧美丰满高潮xxxx喷水动漫| 国产午夜精品久久久久久久 | 日韩毛片在线免费观看| 亚洲成人精品在线观看| 国产呦精品一区二区三区网站| 99精品国产99久久久久久白柏| 69堂亚洲精品首页| 国产精品国产三级国产aⅴ中文| 天堂久久久久va久久久久| 国产麻豆91精品| 欧美三级三级三级爽爽爽| 精品久久久久一区| 亚洲成人免费视频| av综合在线播放| 日韩欧美的一区| 亚洲自拍偷拍麻豆| 粉嫩蜜臀av国产精品网站| 欧美裸体bbwbbwbbw| 亚洲欧美综合色| 狠狠色综合播放一区二区| 欧洲av在线精品| 中文字幕精品三区| 精品在线一区二区| 欧美日韩视频专区在线播放| 亚洲欧洲三级电影| 国产成人高清在线| 日韩欧美一二三四区| 亚洲午夜激情av| 97久久精品人人爽人人爽蜜臀| 精品成人在线观看| 免费观看在线综合色| 在线观看网站黄不卡| 国产精品久久看| 国产激情视频一区二区三区欧美| 欧美一区二区三区四区在线观看 | 国内外精品视频| 欧美一区二区三区视频在线| 亚洲一区二区三区三| 99精品国产热久久91蜜凸| 欧美国产成人在线| 国产一区 二区| 日韩欧美一区在线| 日韩在线一区二区三区| 欧美三级欧美一级| 一区二区三区精密机械公司| 99久久免费国产| 国产精品成人在线观看| 不卡av在线免费观看| 国产精品视频观看| caoporn国产精品| 国产精品灌醉下药二区| 成人sese在线| 国产精品国产三级国产| www.亚洲免费av| 中文字幕亚洲成人| 99re这里只有精品首页| 国产精品久久久久9999吃药| 成人一道本在线| 国产精品丝袜在线| av亚洲精华国产精华| 中文字幕综合网| 在线观看日韩一区| 亚洲成人一区二区在线观看| 欧美欧美欧美欧美| 麻豆精品在线视频| 久久久久9999亚洲精品| 岛国av在线一区| 日韩美女精品在线| 欧美午夜宅男影院| 日日骚欧美日韩| 精品国产91乱码一区二区三区| 国精产品一区一区三区mba桃花| 久久久噜噜噜久噜久久综合| 成人午夜激情影院| 亚洲人成精品久久久久| 欧洲亚洲精品在线| 免费观看日韩av| 中文字幕av在线一区二区三区| 91香蕉视频在线| 首页亚洲欧美制服丝腿| 欧美成va人片在线观看| 丰满少妇在线播放bd日韩电影| 亚洲美女在线国产| 7777精品伊人久久久大香线蕉的| 久久99蜜桃精品| 国产精品久久福利| 欧美日韩国产高清一区二区三区| 老司机午夜精品| 国产精品久久久久久一区二区三区| 色999日韩国产欧美一区二区| 天天亚洲美女在线视频| 亚洲精品一区二区在线观看| 国产91精品一区二区麻豆网站| 亚洲精品五月天| 欧美一区二区三区婷婷月色| 成人激情动漫在线观看| 亚洲一区欧美一区| 久久欧美一区二区| 在线国产电影不卡| 国产美女视频一区| 一区二区三区久久久| 26uuu久久综合| 色中色一区二区| 精品一区二区日韩| 亚洲国产裸拍裸体视频在线观看乱了| 日韩欧美在线网站| 91视视频在线观看入口直接观看www| 日本成人在线一区| 亚洲色图在线看| 26uuu另类欧美| 欧美色手机在线观看| 国产精品夜夜爽| 丝袜亚洲另类欧美综合| 国产精品不卡视频| 欧美变态tickle挠乳网站| 在线视频欧美区| 岛国精品在线播放| 激情欧美日韩一区二区| 香蕉乱码成人久久天堂爱免费| 国产精品电影一区二区三区| 精品国产髙清在线看国产毛片|