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

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

?? hwctxt.cpp

?? 包含了大量文件
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
	
	DEBUGMSG(1,(TEXT("---InitOutputDMA\n")));
	
	//open SP or HP amplifier!
	//Lock();
	
	/*if(gHP_flag)
	{  
		//MAX_HeadphoneMuted(false);
		MAX_AudioMuted(IIC_OUTPUT_CHANNEl,true);
     
  }else
  {
  	//MAX_HeadphoneMuted(true);
  	MAX_AudioMuted(IIC_OUTPUT_CHANNEl,false);
  }*/
	/*if((v_pIOPregs->rGPFDAT)&0x02)//HP
	{
			MAX_AudioMuted(IIC_OUTPUT_CHANNEl,true);
			b_prolevel=true;
	}else
	{
			MAX_AudioMuted(IIC_OUTPUT_CHANNEl,false);
			b_prolevel=false;
	}*/
	
	//gb_changed=false;
	//Unlock();
	
	//RETAILMSG(1,(TEXT("-------InitOutputDMA----------!\r\n")));
	Wr_MAXIIC(IIC_SLAVEADDRESS_WRITE,0x2,0x1e);
	return TRUE;
}


BOOL HardwareContext::StartOutputDMA()
{
	//RETAILMSG(1,(TEXT("+++StartOutputDMA\n")));
	//RETAILMSG(1,(TEXT("-------StartOutputDMA----------!\r\n")));
	if(!m_OutputDMARunning && (m_Dx == D0) )
		//	if(!m_OutputDMARunning)
	{
		
		//----- 1. Initialize our buffer counters -----
		m_OutputDMARunning=TRUE;
		m_OutBytes[OUT_BUFFER_A]=m_OutBytes[OUT_BUFFER_B]=0;
		
		//----- 2. Prime the output buffer with sound data -----
		//3   5    3(0)
		m_OutputDMAStatus = (DMA_DONEA | DMA_DONEB) & ~DMA_BIU;	
		ULONG OutputTransferred = TransferOutputBuffers(m_OutputDMAStatus);
		
		//----- 3. If we did transfer any data to the DMA buffers, go ahead and enable DMA -----
		if(OutputTransferred)
		{
			//----- 4. Configure the DMA channel for playback -----
			if(!InitOutputDMA())
			{
				DEBUGMSG(ZONE_ERROR, (TEXT("HardwareContext::StartOutputDMA() - Unable to initialize output DMA channel!\r\n")));
				goto START_ERROR;
			}
			
			////////////////////////////////////////////////////////////////////////////////
			// To correct left/right channel on ouput stream,
			// You should reset IISCON[0] bit.
			Lock();
			v_pIISregs->rIISCON  &= ~IIS_INTERFACE_ENABLE;//1 stop
			
			v_pIISregs->rIISCON  |= TRANSMIT_DMA_REQUEST_ENABLE;  //5
			v_pIISregs->rIISCON  &= ~TRANSMIT_IDLE_CMD;  //3 not idle
			//23    13
			v_pIISregs->rIISFCON |= ( TRANSMIT_FIFO_ACCESS_DMA | TRANSMIT_FIFO_ENABLE );//DMA  FIFO enable
			//7
			v_pIISregs->rIISMOD  |= IIS_TRANSMIT_MODE;//10 transmit mode
			//1
			v_pIISregs->rIISCON  |= IIS_INTERFACE_ENABLE;  //start!
			Unlock();
			////////////////////////////////////////////////////////////////////////////////
			
			//----- 5. Make sure the audio isn't muted -----
			//AudioMute( IIC_OUTPUT_CHANNEl,FALSE);					
			//open SP or HP amplifier!
			//MAX_AudioMuted(IIC_OUTPUT_CHANNEl,gHP_flag);
			//----- 6. Start the DMA controller -----
			//AUDIO_RESET_PLAYBACK_POINTER();
			ioPlaybackPointerLow  = (AUDIO_DMA_BUFFER_PHYS);
			ioPlaybackPointerHigh = (AUDIO_DMA_BUFFER_PHYS + AUDIO_DMA_PAGE_SIZE);
			
			//SELECT_AUDIO_DMA_OUTPUT_BUFFER_A();
			v_pDMAregs->rDISRC2 = (int)(AUDIO_DMA_BUFFER_PHYS);
			
			//Codec_channel();								// Turn ON output channel
			// charlie, start A buffer
			//AUDIO_OUT_DMA_ENABLE();
			v_pDMAregs->rDMASKTRIG2 &= ~STOP_DMA_TRANSFER;  //2
			v_pDMAregs->rDMASKTRIG2 |= ENABLE_DMA_CHANNEL;  //1
			
			// wait for DMA to start.
			delay_count = 0;
			
			while((v_pDMAregs->rDSTAT2&0xfffff)==0)
			{
				if( delay_count++ > DELAY_COUNT )	break;
			}        
			// change the buffer pointer
			//SELECT_AUDIO_DMA_OUTPUT_BUFFER_B();
			v_pDMAregs->rDISRC2 = (int)(AUDIO_DMA_BUFFER_PHYS+AUDIO_DMA_PAGE_SIZE);
			// Set DMA for B Buffer
		}
		else    // We didn't transfer any data, so DMA wasn't enabled
		{
			m_OutputDMARunning=FALSE;
		}
	}

 	return TRUE;
	
START_ERROR:
	return FALSE;
}


void HardwareContext::StopOutputDMA()
{
	//----- 1. If the output DMA is running, stop it -----
	//RETAILMSG(1,(TEXT("-------StopOutputDMA----------!\r\n")));
	
	//MAX_ShotdownAmplifier();
  
  //MAX_HeadphoneMuted(true);
 
  //MAX_AudioMuted(IIC_OUTPUT_CHANNEl,true);   
 
  Wr_MAXIIC(IIC_SLAVEADDRESS_WRITE,0x2,0x9f);
  
	if (m_OutputDMARunning)
	{
		m_OutputDMAStatus = DMA_CLEAR;				
		
		//AUDIO_OUT_DMA_DISABLE();
		v_pDMAregs->rDMASKTRIG2 |= STOP_DMA_TRANSFER;
		v_pDMAregs->rDMASKTRIG2 &= ~ENABLE_DMA_CHANNEL;
		
		//AUDIO_OUT_CLEAR_INTERRUPTS();
		v_pDMAregs->rDCON2 = v_pDMAregs->rDCON2;
		
		v_pIISregs->rIISCON &= ~TRANSMIT_DMA_REQUEST_ENABLE;
		v_pIISregs->rIISCON |= TRANSMIT_IDLE_CMD;//pause transimit
		v_pIISregs->rIISFCON &= ~(  TRANSMIT_FIFO_ACCESS_DMA | TRANSMIT_FIFO_ENABLE  );
		v_pIISregs->rIISMOD  &= ~IIS_TRANSMIT_MODE;//00 no transmit
		//AudioMute(IIC_OUTPUT_CHANNEl, TRUE);
		
		
		
	}
	
	m_OutputDMARunning = FALSE;
	Codec_channel();
	
	//RETAILMSG(1,(TEXT("-------StopOutputDMA----------!\r\n")));
	//MAX_SpeakerMuted();//
}



BOOL HardwareContext::InitInputDMA()
{
	//RETAILMSG(1,(TEXT(" --------------InitInputDMA----------------\r\n")));
	//goto INIT_ERROR;
	//DEBUGMSG(1,(TEXT("+++InitInputDMA\n")));
	//============================ Configure DMA Channel 1 ===========================
	//------ On platforms with the revsion of the Samsung SC2410 CPU with the IIS SLAVE bug fix, this -----
	//		 code can be used to configure DMA channel 1 for input.
	
	//----- 1. Initialize the DMA channel for input mode and use the first input DMA buffer -----
	v_pDMAregs->rDISRC1	= (int)IISFIF_PHYS;	
	//apb fixed!
	v_pDMAregs->rDISRCC1 = (SOURCE_PERIPHERAL_BUS | FIXED_SOURCE_ADDRESS);				// Source is periperal bus, fixed addr
	
	//----- 2. Initialize the DMA channel to receive data over the I2S bus -----
	v_pDMAregs->rDIDST1	= (int)(AUDIO_DMA_BUFFER_PHYS); 
	//ahb increment!
	v_pDMAregs->rDIDSTC1 &= ~(DESTINATION_PERIPHERAL_BUS | FIXED_DESTINATION_ADDRESS);	// Destination is system bus, increment addr
	
	//----- 3. Configure the DMA channel's transfer characteristics: handshake, sync PCLK, interrupt, -----
	//		   (unit)single tx, single service, I2SSDI, I2S request, no(problem) auto-reload, half-word, tx count
	//31 29, 25  23  20   1k 
	v_pDMAregs->rDCON1	= (  HANDSHAKE_MODE | GENERATE_INTERRUPT | I2SSDI_DMA1 | DMA_TRIGGERED_BY_HARDWARE 
		| TRANSFER_HALF_WORD | (AUDIO_DMA_PAGE_SIZE / 2) );						   
	
	//MAX_AudioMuted(IIC_INPUT_CHANNEl, false);//MIC muted
	RecordInit();
	
	return TRUE;
}



BOOL HardwareContext::StartInputDMA()
{
	
	//DEBUGMSG(1,(_T("StartInputDMA()++\r\n")));
	//RETAILMSG(1,(TEXT(" --------------StartInputDMA----------------\r\n")));
	
	if(!m_InputDMARunning)
	{
		//----- 1. Initialize our buffer counters -----
		m_InputDMARunning=TRUE;
		//Codec_channel();        // Turn On Input channel
		m_InBytes[IN_BUFFER_A]=m_InBytes[IN_BUFFER_B]=0;
		
		//----- 2. Prime the output buffer with sound data -----
		m_InputDMAStatus = (DMA_DONEA | DMA_DONEB) & ~DMA_BIU;	
		
		//----- 3. Configure the DMA channel for record -----
		if(!InitInputDMA())
		{
			DEBUGMSG(ZONE_ERROR, (TEXT("HardwareContext::StartInputDMA() - Unable to initialize input DMA channel!\r\n")));
			goto START_ERROR;
		}
		v_pIISregs->rIISCON  |= RECEIVE_DMA_REQUEST_ENABLE;	 
		v_pIISregs->rIISCON  &= ~RECEIVE_IDLE_CMD;
		v_pIISregs->rIISFCON |= ( RECEIVE_FIFO_ACCESS_DMA  | RECEIVE_FIFO_ENABLE);
		v_pIISregs->rIISMOD  |= IIS_RECEIVE_MODE;
		
		//----- 4. Make sure the audio isn't muted -----
		//AudioMute(IIC_INPUT_CHANNEl, FALSE);					
		
		//----- 5. Start the input DMA -----
		//AUDIO_RESET_RECORD_POINTER();
		ioRecordPointerLow  = (RECORD_DMA_BUFFER_PHYS);	
		ioRecordPointerHigh = (RECORD_DMA_BUFFER_PHYS+ AUDIO_DMA_PAGE_SIZE);
		
		//SELECT_AUDIO_DMA_INPUT_BUFFER_A();
		v_pDMAregs->rDIDST1 = (int)(AUDIO_DMA_BUFFER_PHYS+2*AUDIO_DMA_PAGE_SIZE);
		
		Codec_channel();        // Turn On Input channel
		v_pDMAregs->rDMASKTRIG1 &= ~STOP_DMA_TRANSFER;		
		v_pDMAregs->rDMASKTRIG1 |= ENABLE_DMA_CHANNEL;		
		
		
		// wait for DMA to start.
		delay_count = 0;
		while((v_pDMAregs->rDSTAT2&0xfffff)==0){
			if( delay_count++ > DELAY_COUNT )	break;
		} 
		// change the buffer pointer
		//SELECT_AUDIO_DMA_INPUT_BUFFER_B();
		v_pDMAregs->rDIDST1 = (int)(AUDIO_DMA_BUFFER_PHYS+3*AUDIO_DMA_PAGE_SIZE);
	}
	
	//DEBUGMSG(1,(_T("StartInputDMA()--\r\n")));
	return TRUE;
	
START_ERROR:
	return FALSE;
}


void HardwareContext::StopInputDMA()
{
	//RETAILMSG(1,(TEXT(" --------------StopInputDMA----------------\r\n")));
	//------ On platforms with the revsion of the Samsung SC2410 CPU with the IIS SLAVE bug fix, this -----
	//		 code can be used to configure DMA channel 1 for input.
	//DEBUGMSG(1,(_T("StopInputDMA()++\r\n")));
	//----- 1. If the output DMA is running, stop it -----
	if (m_InputDMARunning)
	{
		m_InputDMAStatus = DMA_CLEAR;				
		
		v_pIISregs->rIISCON &= ~RECEIVE_DMA_REQUEST_ENABLE;
		v_pIISregs->rIISCON |= RECEIVE_IDLE_CMD;
		v_pIISregs->rIISFCON &= ~( RECEIVE_FIFO_ACCESS_DMA  | RECEIVE_FIFO_ENABLE);
		v_pIISregs->rIISMOD  &= ~IIS_RECEIVE_MODE;
		
		v_pDMAregs->rDMASKTRIG1 |= STOP_DMA_TRANSFER;
		v_pDMAregs->rDMASKTRIG1 &= ~ENABLE_DMA_CHANNEL;
		
		//		AUDIO_IN_DMA_DISABLE();
		//		v_pIISregs->rIISCON &= ~RECEIVE_DMA_REQUEST_ENABLE;
		//		v_pIISregs->rIISFCON &= ~( RECEIVE_FIFO_ACCESS_DMA  | RECEIVE_FIFO_ENABLE);
		//		v_pDMAregs->rDMASKTRIG1 |= STOP_DMA_TRANSFER;
		
		//AUDIO_IN_CLEAR_INTERRUPTS();
		v_pDMAregs->rDCON1 = v_pDMAregs->rDCON1;
		
		//AudioMute(IIC_INPUT_CHANNEl, TRUE);		
	}
	
	m_InputDMARunning = FALSE;
	//Codec_channel();
	//MAX_AudioMuted(IIC_INPUT_CHANNEl, true);  //MIC muted!
	Recordfinish();
	//DEBUGMSG(1,(_T("StopInputDMA()--\r\n")));
}


DWORD HardwareContext::GetInterruptThreadPriority()
{
	  HKEY hDevKey;
    DWORD dwValType;
    DWORD dwValLen;
    DWORD dwPrio = 249; // Default priority

    hDevKey = OpenDeviceKey((LPWSTR)m_DriverIndex);
    if (hDevKey)
    {
        dwValLen = sizeof(DWORD);
        RegQueryValueEx(
            hDevKey,
            TEXT("Priority256"),
            NULL,
            &dwValType,
            (PUCHAR)&dwPrio,
            &dwValLen);
        RegCloseKey(hDevKey);
    }

    return dwPrio;
}

/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
// SetForceSpeaker is called from the device context to update the state of the
// m_bForceSpeaker variable.
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8

DWORD HardwareContext::ForceSpeaker( BOOL bForceSpeaker )
{
	// If m_NumForcedSpeaker is non-zero, audio should be routed to an
	// external speaker (if hw permits).
	if (bForceSpeaker)
	{
		m_NumForcedSpeaker++;
		if (m_NumForcedSpeaker==1)
		{
			RecalcSpeakerEnable();
		}
	}
	else
	{
		m_NumForcedSpeaker--;
		if (m_NumForcedSpeaker==0)
		{
			RecalcSpeakerEnable();
		}
	}
	
	return MMSYSERR_NOERROR;
}

// Control the hardware speaker enable
void HardwareContext::SetSpeakerEnable(BOOL bEnable)
{
	// Code to turn speaker on/off here
	return;
}

/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
// RecalcSpeakerEnable decides whether to enable the speaker or not.
// For now, it only looks at the m_bForceSpeaker variable, but it could
// also look at whether the headset is plugged in
// and/or whether we're in a voice call. Some mechanism would
// need to be implemented to inform the wave driver of changes in the state of
// these variables however.
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8

void HardwareContext::RecalcSpeakerEnable()
{
	SetSpeakerEnable(m_NumForcedSpeaker);
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function:		InitInterruptThread()

  Description:	Initializes the IST for handling DMA interrupts.
  
	Returns:		Boolean indicating success
-------------------------------------------------------------------*/
BOOL HardwareContext::InitInterruptThread()
{
	
	//v_pIOPregs->rGPFCON |= (0x2 << 2);  //int1
	//v_pIOPregs->rGPFUP &=0xfd;  //pull-up
	
	BOOL bSuccess;
	//automaticly set event!  initial stat is no-singal!
	m_hAudioInterrupt = CreateEvent( NULL, FALSE, FALSE, NULL);
	
	if (!m_hAudioInterrupt)
	{
		return FALSE;
	}
	
	bSuccess = InterruptInitialize(m_IntrAudio, m_hAudioInterrupt, NULL, 0);
	
	m_hAudioInterruptThread  = CreateThread((LPSECURITY_ATTRIBUTES)NULL,
		0,
		(LPTHREAD_START_ROUTINE)CallInterruptThread,
		this,
		0,
		NULL);
	if (!m_hAudioInterruptThread)
	{
		return FALSE;
	}
	
	//DWORD dwPriority= GetInterruptThreadPriority();
	//RETAILMSG(1,(TEXT("------------------------- GetInterruptThreadPriority0x%x \r\n")), dwPriority);
  //RETAILMSG(1,(TEXT("------------------------- GetInterruptThreadPriority0x%x \r\n"), GetInterruptThreadPriority()));

	//CeSetThreadPriority(m_hAudioInterruptThread, GetInterruptThreadPriority());
  CeSetThreadPriority(m_hAudioInterruptThread, 2);

/////////////////////////////////////	
	//SoundControlInit();  //volume control key button !
	
	/*if (m_hVolumeIncrEvent == NULL)
	{
		// allocate the interrupt event 
		m_hVolumeIncrEvent = CreateEvent(NULL, FALSE, FALSE,NULL);
		
		if (NULL == m_hVolumeIncrEvent) 
		{
			RETAILMSG(1,(TEXT("sound increase event Error1\r\n")));
		}
		// initialize  interrupt event
		if (!InterruptInitialize (SYSINTR_INCVOLUME, m_hVolumeIncrEvent, NULL, 0)) 
		{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线视视频有精品| 日韩主播视频在线| 国产91精品免费| 久久精品欧美一区二区三区不卡 | 青青草91视频| 欧美mv和日韩mv的网站| 国产一区二区网址| 91精品国产综合久久久久久久久久 | 精品国产乱码久久久久久影片| 日韩av中文字幕一区二区三区| 日韩你懂的在线播放| 国产精品一二三区在线| 亚洲欧洲国产日本综合| 在线亚洲人成电影网站色www| 亚洲成av人片一区二区| 日韩欧美电影在线| 成人福利视频在线| 一区二区三区四区蜜桃| 3d动漫精品啪啪1区2区免费| 狠狠色丁香久久婷婷综| 国产精品美日韩| 欧美三级三级三级| 韩国av一区二区三区四区| 国产精品青草综合久久久久99| 色综合久久中文综合久久97| 激情成人午夜视频| 欧美v日韩v国产v| 国产精品一区在线| 亚洲色图20p| 欧美一区二区三区色| 欧美视频自拍偷拍| 麻豆成人91精品二区三区| 国产精品久久久久久妇女6080| 91美女片黄在线观看| 免费在线观看一区| 国产精品国产三级国产aⅴ中文| 欧美性猛交xxxx乱大交退制版 | 久久精品无码一区二区三区| 色偷偷久久人人79超碰人人澡| 蜜桃精品视频在线| 一区二区高清在线| 国产视频一区二区在线观看| 在线观看国产一区二区| 欧美在线一二三四区| 亚洲高清不卡在线| 欧美激情一区二区三区蜜桃视频| 欧美色涩在线第一页| 国产精品自拍三区| 日本中文在线一区| 一区二区三区中文字幕| 国产女主播一区| 日韩一区二区三区精品视频| 色噜噜狠狠成人中文综合| 国产福利一区二区三区视频| 青青草原综合久久大伊人精品优势 | 极品少妇xxxx精品少妇偷拍| 亚洲va在线va天堂| 亚洲欧美日本韩国| 午夜精品一区在线观看| 欧美国产国产综合| 久久伊人中文字幕| 欧美α欧美αv大片| 欧美日韩一区二区三区在线看| 不卡的看片网站| 国产精品 日产精品 欧美精品| 欧美福利一区二区| 色综合久久久久网| 97久久精品人人做人人爽50路| 国产成人高清视频| 极品美女销魂一区二区三区| 日本亚洲电影天堂| 奇米精品一区二区三区在线观看一 | 91在线免费视频观看| 成人免费看视频| 国产不卡一区视频| 国产精品一级片| 国产精品亚洲一区二区三区妖精| 久久成人18免费观看| 蜜臀av亚洲一区中文字幕| 免费人成在线不卡| 久久精品国产在热久久| 日本va欧美va精品| 蜜臀av性久久久久蜜臀aⅴ流畅 | 风间由美一区二区三区在线观看 | 亚洲成人精品影院| 亚洲国产精品一区二区久久恐怖片| 亚洲黄色av一区| 亚洲一区二区三区四区在线免费观看| 亚洲三级在线看| 一区二区激情视频| 偷窥国产亚洲免费视频| 日本欧美在线观看| 国产乱码精品一品二品| 成人夜色视频网站在线观看| 91麻豆精品秘密| 欧美日韩精品综合在线| 日韩欧美中文一区| 国产亚洲一区二区三区四区| 国产精品第一页第二页第三页| 中文字幕一区二区三区四区| 亚洲激情一二三区| 日日骚欧美日韩| 国内精品在线播放| 99久久婷婷国产| 欧美精品久久久久久久多人混战 | 偷窥少妇高潮呻吟av久久免费| 蜜臀av一区二区| 成人理论电影网| 在线观看精品一区| 欧美电影免费观看高清完整版| 日本一区二区视频在线观看| 亚洲精品久久7777| 久久国产夜色精品鲁鲁99| 国产91丝袜在线观看| 欧美日韩免费电影| 久久品道一品道久久精品| 一区二区三区在线高清| 日韩免费观看高清完整版在线观看| 日韩免费看的电影| 国产日韩欧美精品综合| 亚洲免费观看高清完整版在线| 日韩精品亚洲一区| 不卡一二三区首页| 欧美精品xxxxbbbb| 中文字幕欧美激情一区| 亚洲成人免费电影| 成人免费毛片a| 欧美一二三区在线观看| 综合欧美一区二区三区| 美女高潮久久久| 在线精品视频免费播放| 久久久久久久久久久久久女国产乱 | 国产又黄又大久久| 在线看不卡av| 国产精品天干天干在线综合| 日日噜噜夜夜狠狠视频欧美人| 成人精品国产一区二区4080| 亚洲色图欧洲色图| 国产91丝袜在线播放0| 欧美亚洲高清一区| 国产色一区二区| 青青草97国产精品免费观看| 91蜜桃免费观看视频| 国产午夜一区二区三区| 免费观看30秒视频久久| 色视频欧美一区二区三区| 国产农村妇女精品| 国产自产高清不卡| 日韩亚洲欧美一区二区三区| 亚洲国产精品视频| 色吊一区二区三区| 日韩一区欧美小说| 成人午夜电影网站| 国产偷国产偷精品高清尤物| 激情六月婷婷久久| 欧美tk丨vk视频| 蜜臀99久久精品久久久久久软件| 欧美在线三级电影| 亚洲精品成a人| 91福利在线播放| 亚洲精品国产无套在线观| 93久久精品日日躁夜夜躁欧美| 久久精品一级爱片| 国产福利一区二区| 国产夜色精品一区二区av| 狠狠色丁香久久婷婷综| 精品sm捆绑视频| 国产一区二区不卡| 久久精品网站免费观看| 国产精品亚洲一区二区三区在线| 久久综合九色综合97_久久久| 久久精品国产亚洲5555| 日韩三级中文字幕| 久久99久久久欧美国产| 精品久久久久久久久久久久包黑料 | 日本道在线观看一区二区| 一区二区三区美女视频| 在线观看日韩毛片| 性欧美疯狂xxxxbbbb| 宅男在线国产精品| 久久99国内精品| 国产午夜亚洲精品羞羞网站| 菠萝蜜视频在线观看一区| 成人欧美一区二区三区| 欧美在线免费视屏| 日本va欧美va瓶| 国产亚洲视频系列| 91网站黄www| 亚洲成人免费看| 精品国产电影一区二区| 成人精品gif动图一区| 日韩中文字幕区一区有砖一区 | 91浏览器打开| 丝袜美腿亚洲综合| 亚洲精品一线二线三线无人区| 国产福利一区在线观看| 亚洲男女毛片无遮挡| 欧美一区二区在线播放| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产亚洲一区二区三区|