日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Waveform Audio 驱动(Wavedev2)之:WAV API模拟

發布時間:2023/12/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Waveform Audio 驱动(Wavedev2)之:WAV API模拟 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Waveform?Audio? 驅動(Wavedev2)之:WAV?API模擬

?

Waveform?驅動對Windows?Mobile來說是一個非常重要的驅動,控制著所有有關聲音的操作,包括喇叭、耳機、麥克、聽筒等。
????要 想對驅動的整個架構和流程都非常的了解,我們必須從上層來入手,需要知道上層的API是如何調用到驅動的,其數據結構是如何封裝的。由于微軟不提供中間層 的代碼,只能只是自己去猜測。這篇文章就是去模仿WAV?API的實現方法的。順便提及下,之前幾個開發人員還討論過微軟的半開放模式和Android的 完全開源模式哪個更好。先做個總結。

完全開源優點:

1.? 添 加新功能容易:比如做Android雙卡雙待就比Windows?Mobile容易的多,之前做Windows?Mobile雙卡的項目時,那真是非常的 痛苦,微軟沒有接口,只能自己想盡一起方法往微軟原有的程序中去插入新的功能,想COM接口,Dll注入,窗口Hook等等,能用的變態方法都用上了?;?的時間的很大部分都是在尋找插入功能的方法上,而不是實現另一張卡的功能上。而Android就十分簡單了,直接在原有的代碼上增加代碼就行。

2.? 開發人員很容易了解整個架構和流程

微軟的半開放模式優點:

1.? 易 維護:?由于微軟的中間層都是以dll形式封裝好的,開發人員不能去修改,只能按照微軟的接口去做,當微軟從Windows?Mobile?5.0升級到 Windows?Mobile?6.0的時候,BSP不需要做任何修改就可以在新的系統上用,軟件也是如此。而Android的完全開源模式,開發人員會 去修改中間層,Android的版本號從1.5,1.6,2.0再到2.1,不斷的進行升級,其中間層也在改變中,添加了某些功能,優化了某些部分。像我 們公司做Android的從1.5升級到1.6就花了很長的時間。不僅驅動要修改,應用也都需要做修改。

先不談這個,回到正題。

????微軟上層的WAV?API分為waveOut和waveIn兩套,表一中,我只列了部分的wave?out?API。由于wave?In相對于wave?Out比較簡單,wave?In就不做講解了。

?

waveOutGetNumDevs ?

Retrieves?the?number?of?waveform?output?devices?present?in?the?system.

waveOutGetPitch ?

Queries?the?current?pitch?setting?of?a?waveform?output?device.

waveOutGetPlaybackRate ?

Queries?the?current?playback?rate?setting?of?a?waveform?output?device.

waveOutGetPosition ?

Retrieves?the?current?playback?position?of?the?specified?waveform?output?device.

waveOutGetProperty ?

Queries?the?value?of?a?specific?property?in?a?property?set?for?waveform?audio?output.

waveOutGetVolume ?

Queries?the?current?volume?setting?of?a?waveform?output?device.

waveOutMessage ?

Sends?messages?to?the?waveform?output?device?drivers.

waveOutOpen ?

Opens?a?specified?waveform?output?device?for?playback.

表一:WaveOut部分函數

W ave?Out?API是如何調用的驅動部分的呢?現在就來一步步的模擬來實現wave?Out?API。先看下waveOutOpen的函數參數

?

view plain copy to clipboard print ?
  • MMRESULT?waveOutOpen(??
  • ??LPHWAVEOUT?phwo,??
  • ??UINT ?uDeviceID,??
  • ??LPWAVEFORMATEX?pwfx,??
  • ??DWORD ?dwCallback,??
  • ??DWORD ?dwInstance,??
  • ??DWORD ?fdwOpen??
  • ??
  • );??
  • MMRESULT waveOutOpen(LPHWAVEOUT phwo,UINT uDeviceID,LPWAVEFORMATEX pwfx,DWORD dwCallback,DWORD dwInstance,DWORD fdwOpen );

    其中phwo是我們要返回的WAVEOUT對象的句柄, uDeviceID 指設置的ID號,一般情況下設置為0就可以,pwfx是聲音格式的描述,dwCallback的通知,可以是回調函數,也可以是事件或者窗體消息,主要通過fdwOpen來指定其類型。具體看waveOutOpen的SDK幫助文檔。

    在WaveApi中的工作就是把waveOutOpen中的參數封裝起來,然后發到Wave驅動中想要的結構,下面是waveOutOpen的調用流程。

    1.? W ave?Api中封裝結構

    2.? 調用Wavedev2的? WAV_IOControl 函數,調用 IOCTL_WAV_MESSAGE 分支。

    3.? 調用 HandleWaveMessage WODM_OPEN 分支

    HandleWaveMessage 需要傳入兩個參數,其中一個是 PMMDRV_MESSAGE_PARAMS ,另一個是函數執行的結果pdwResult,見 HandleWaveMessage 原型和 MMDRV_MESSAGE_PARAMS 結構體定義。

    BOOL?HandleWaveMessage(PMMDRV_MESSAGE_PARAMS?pParams,?DWORD?*pdwResult)

    ?

    view plain copy to clipboard print ?
  • BOOL ?HandleWaveMessage(PMMDRV_MESSAGE_PARAMS?pParams,? DWORD ?*pdwResult)??
  • typedef ? struct ?{??
  • ????UINT ?uDeviceId;??
  • ????UINT ?uMsg;??
  • ????DWORD ?dwUser;??
  • ????DWORD ?dwParam1;??
  • ????DWORD ?dwParam2;??
  • }?MMDRV_MESSAGE_PARAMS,?*PMMDRV_MESSAGE_PARAMS;??
  • MMRESULT?waveOutMessage(??
  • ??HWAVEOUT?hwo,???
  • ??UINT ?uMsg,???
  • ??DWORD ?dw1,???
  • ??DWORD ?dw2???
  • );???
  • BOOL HandleWaveMessage(PMMDRV_MESSAGE_PARAMS pParams, DWORD *pdwResult) typedef struct {UINT uDeviceId;UINT uMsg;DWORD dwUser;DWORD dwParam1;DWORD dwParam2; } MMDRV_MESSAGE_PARAMS, *PMMDRV_MESSAGE_PARAMS; MMRESULT waveOutMessage(HWAVEOUT hwo, UINT uMsg, DWORD dw1, DWORD dw2 );

    其 中參數dwUser指向Wavedev2驅動的StreamContext對象指針,如果調用的是waveOutOpen,則dwUser做出傳出參數, 來保存StreamContext對象,否則就是作為傳入參數。waveOutMessage的uMsg會傳入驅動變成 MDRV_MESSAGE_PARAMS 中的uMsg,?同樣的dw1變dwParam1,dw2變dwParam2,所以的上層調用都是調用 waveOutMessage 這個函數實現的。

    ?

    好了,現在我們來開始顯示吧。 HWAVEOUT 要么直接指向對象,要么是對象的在數組中的索引。我們只是模擬,所以把 HWAVEOUT 直接指向對象。

    先定義一個 CWAVEOut 對象,來保存必要的數據,其他幾個參數就不做解釋了,我們看m_hWave和m_pStream,m_hWave是來保存打開Wave驅動CreateFile返回的句柄,而m_pStream是保存創建的StreamContext對象的。

    ?

    view plain copy to clipboard print ?
  • class ?CWAVEOut??
  • {??
  • public :??
  • ????MMRESULT?open();??
  • ??
  • private :??
  • ????DWORD ?m_dwCallback;??
  • ????DWORD ?m_dwInstance;??
  • ????UINT ?m_uDeviceID;??
  • ????DWORD ?m_fdwOpen;??
  • ????WAVEFORMATEX?m_wfx;??
  • ????HANDLE ?m_hWave;??
  • ????LPVOID ??m_pStream;??
  • };??
  • class CWAVEOut { public:MMRESULT open(); private:DWORD m_dwCallback;DWORD m_dwInstance;UINT m_uDeviceID;DWORD m_fdwOpen;WAVEFORMATEX m_wfx;HANDLE m_hWave;LPVOID m_pStream; };

    好,現在我們來模擬 waveOutOpen 的實現。在waveOutOpen中,只是新建一個CWAVEOut對象,然后把外部傳入的數據保存到這個對象中,最后調用open來打開音頻設備。代碼如下:

    ?

    view plain copy to clipboard print ?
  • MMRESULT?waveOutOpen(??
  • ?????????????????????LPHWAVEOUT?phwo,??
  • ?????????????????????UINT ?uDeviceID,??
  • ?????????????????????LPWAVEFORMATEX?pwfx,??
  • ?????????????????????DWORD ?dwCallback,??
  • ?????????????????????DWORD ?dwInstance,??
  • ?????????????????????DWORD ?fdwOpen??
  • ?????????????????????)??
  • {??
  • ????CWAVEOut?pWaveOut?=?new ?CWAVEOut;??
  • ????pWaveOut->m_dwCallback?=?dwCallback;??
  • ????pWaveOut->m_fdwOpen?=?fdwOpen;??
  • ????pWaveOut->m_wfx?=?*pwfx;??
  • ??????
  • ????*pwfx?=?pWaveOut;??
  • ??????
  • ????phwo?=?(LPHWAVEOUT)pWaveOut;??
  • ????return ?pWaveOut->open();??
  • }??
  • MMRESULT waveOutOpen(LPHWAVEOUT phwo,UINT uDeviceID,LPWAVEFORMATEX pwfx,DWORD dwCallback,DWORD dwInstance,DWORD fdwOpen) {CWAVEOut pWaveOut = new CWAVEOut;pWaveOut->m_dwCallback = dwCallback;pWaveOut->m_fdwOpen = fdwOpen;pWaveOut->m_wfx = *pwfx;*pwfx = pWaveOut;phwo = (LPHWAVEOUT)pWaveOut;return pWaveOut->open(); }

    O pen函數封裝 WAVEOPENDESC 作為waveOutMessage的第一個傳入參數,第二個參數是m_fdwOpen。

    ?

    view plain copy to clipboard print ?
  • MMRESULT?CWAVEOut::open()??
  • {??
  • ????MMRESULT?mmResult;??
  • ????m_hWave?=?CreateFile(L"WAV1:" ,?GENERIC_READ?|?GENERIC_WRITE,?FILE_SHARE_READ?|?FILE_SHARE_WRITE,???
  • ????????NULL,?OPEN_EXISTING,?0,?NULL);??
  • ??????
  • ????WAVEOPENDESC?waveOpenDesc;??
  • ????waveOpenDesc.hWave?=?HWAVE(this );??
  • ????waveOpenDesc.lpFormat?=?&m_wfx;??
  • ????waveOpenDesc.dwInstance?=?m_dwInstance;??
  • ????waveOpenDesc.uMappedDeviceID?=?0;??
  • ????waveOpenDesc.dwCallback?=?m_dwCallback;??
  • ??
  • ????return ?waveOutMessage((HWAVEOUT) this ,?WODM_OPEN,?&waveOpenDesc,?m_fdwOpen);??
  • }??
  • MMRESULT CWAVEOut::open() {MMRESULT mmResult;m_hWave = CreateFile(L"WAV1:", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);WAVEOPENDESC waveOpenDesc;waveOpenDesc.hWave = HWAVE(this);waveOpenDesc.lpFormat = &m_wfx;waveOpenDesc.dwInstance = m_dwInstance;waveOpenDesc.uMappedDeviceID = 0;waveOpenDesc.dwCallback = m_dwCallback;return waveOutMessage((HWAVEOUT)this, WODM_OPEN, &waveOpenDesc, m_fdwOpen); }

    waveOutMessage的工作就是只要把uMsg,dw1,dw2封裝到 MMDRV_MESSAGE_PARAMS 結構體,然后調用 DeviceIoControl 調用驅動的IO?Control。這里有一點需要注意,如果uMsg是WODM_OPEN,也就是打開音頻流的操作的時候,把 & pWaveOut -> m_pStream 作為參數傳入,因為在底層通過調用 OpenStream ,傳入指針的指針,來保存對象的。

    pDeviceContext->OpenStream((LPWAVEOPENDESC)dwParam1,?dwParam2,?(StreamContext?**)dwUser);

    ?

    ?

    ?

    view plain copy to clipboard print ?
  • MMRESULT?waveOutMessage(??
  • ????????????????????????HWAVEOUT?hwo,???
  • ????????????????????????UINT ?uMsg,???
  • ????????????????????????DWORD ?dw1,???
  • ????????????????????????DWORD ?dw2???
  • ????????????????????????)??
  • {??
  • ????CWAVEOut?*?pWaveOut?=?(CWAVEOut?*)hwo;??
  • ????MMDRV_MESSAGE_PARAMS?paramInput;??
  • ????paramInput.dwParam1?=?dw1;??
  • ????paramInput.dwParam2?=?dw2;??
  • ??????
  • ????if (WODM_OPEN?==?uMsg)??
  • ????????paramInput.dwUser?=?(DWORD )&pWaveOut->m_pStream;??
  • ????else ??
  • ????????paramInput.dwUser?=?(DWORD )pWaveOut->m_pStream;??
  • ??????
  • ????paramInput.uMsg?=?uMsg;??
  • ??
  • ????MMRESULT????dwOutput?=?0;??
  • ??????
  • ????if (!DeviceIoControl(pWaveOut->m_hWave,?IOCTL_WAV_MESSAGE,??mInput,? sizeof (paramInput),?&dwOutput,? sizeof (dwOutput),?NULL,?NULL))??
  • ????{??
  • ????????return ?MMSYSERR_ERROR;??
  • ????}??
  • ??????
  • ????return ?dwOutput;??
  • }??
  • MMRESULT waveOutMessage( HWAVEOUT hwo, UINT uMsg, DWORD dw1, DWORD dw2 ) { CWAVEOut * pWaveOut = (CWAVEOut *)hwo; MMDRV_MESSAGE_PARAMS paramInput; paramInput.dwParam1 = dw1; paramInput.dwParam2 = dw2; if(WODM_OPEN == uMsg) paramInput.dwUser = (DWORD)&pWaveOut->m_pStream; else paramInput.dwUser = (DWORD)pWaveOut->m_pStream; paramInput.uMsg = uMsg; MMRESULT dwOutput = 0; if(!DeviceIoControl(pWaveOut->m_hWave, IOCTL_WAV_MESSAGE, ?mInput, sizeof(paramInput), &dwOutput, sizeof(dwOutput), NULL, NULL)) { return MMSYSERR_ERROR; } return dwOutput; }

    我們現在模擬實現了waveOutMessage,那么其他一些函數的實現要比waveOutOpen更加的簡單。如WaveOutReset和 waveOutSetVolume ,只要調用下 waveOutMessage 就可以了。

    view plain copy to clipboard print ?
  • MMRESULT?waveOutReset(??
  • ??????????????????????HWAVEOUT?hwo???
  • ??????????????????????)??
  • {??
  • ????return ?waveOutMessage(hwo,?WODM_RESET,?0,?0);??
  • }??
  • ??
  • MMRESULT?waveOutSetVolume(??
  • ??????????????????????????HWAVEOUT?hwo,???
  • ??????????????????????????DWORD ?dwVolume???
  • ??????????????????????????)??
  • {??
  • ????return ?waveOutMessage(hwo,?WODM_SETVOLUME,?dwVolume,?0);??
  • }??
  • MMRESULT waveOutReset(HWAVEOUT hwo ) {return waveOutMessage(hwo, WODM_RESET, 0, 0); } MMRESULT waveOutSetVolume(HWAVEOUT hwo, DWORD dwVolume ) {return waveOutMessage(hwo, WODM_SETVOLUME, dwVolume, 0); }

    對于上層來說,只是簡單的進行了下封裝。當然我的封裝里面還沒有考慮到具體的一些東西,如callback函數是怎么返回的,如函數調用是hwo為空,是怎么樣的,也沒有對錯誤進行處理。

    下面是播放一個wave聲音的函數,從代碼中去解析

    ?

    ?

    view plain copy to clipboard print ?
  • MMRESULT??
  • PlayFile(LPCTSTR ?pszFilename)??
  • {?MMRESULT?mr;??
  • ??DWORD ?dwBufferSize;??
  • ??PBYTE ?pBufferBits?=?NULL;??
  • ??PWAVEFORMATEX?pwfx?=?NULL;??
  • ??DWORD ?dwSlop;??
  • ??DWORD ?dwWait;??
  • ??DWORD ?dwDuration;??
  • ??
  • ????HANDLE ?hevDone?=?CreateEvent(NULL,?FALSE,?FALSE,?NULL);??
  • ????if ?(hevDone?==?NULL)?{??
  • ????????return ?MMSYSERR_NOMEM;??
  • ????}??
  • ??
  • ????mr?=?ReadWaveFile(pszFilename,&pwfx,&dwBufferSize,&pBufferBits);??
  • ????MRCHECK(mr,?ReadWaveFile,?ERROR_READ);??
  • ??
  • ????//?Note:?Cast?to?UINT64?below?is?to?avoid?potential?DWORD?overflow?for?large?(>~4MB)?files. ??
  • ????dwDuration?=?(DWORD )((( UINT64 )dwBufferSize)?*?1000?/?pwfx->nAvgBytesPerSec);??
  • ??
  • ????HWAVEOUT?hwo;??
  • ????mr?=?waveOutOpen(&hwo,?WAVE_MAPPER,?pwfx,?(DWORD )?hevDone,?NULL,?CALLBACK_EVENT);??
  • ????MRCHECK(mr,?waveOutOpen,?ERROR_OPEN);??
  • ??
  • ????WAVEHDR?hdr;??
  • ????memset(&hdr,?0,?sizeof (hdr));??
  • ????hdr.dwBufferLength?=?dwBufferSize;??
  • ????hdr.lpData?=?(char ?*)?pBufferBits;??
  • ??
  • ????mr?=?waveOutPrepareHeader(hwo,?&hdr,?sizeof (hdr));??
  • ????MRCHECK(mr,?waveOutPrepareHeader,?ERROR_PLAY);??
  • ??
  • ????mr?=?waveOutWrite(hwo,?&hdr,?sizeof (hdr));??
  • ????MRCHECK(mr,?waveOutWrite,?ERROR_PLAY);??
  • ??
  • ????//?wait?for?play?+?1?second?slop ??
  • ????dwSlop?=?1000;??
  • ????dwWait?=?WaitForSingleObject(hevDone,?dwDuration?+?dwSlop);??
  • ????if ?(dwWait?!=?WAIT_OBJECT_0)?{??
  • ????????//?not?much?to?here,?other?than?issue?a?warning ??
  • ????????RETAILMSG(1,?(TEXT("Timeout?waiting?for?playback?to?complete/r/n" )));??
  • ????}??
  • ??
  • ????mr?=?waveOutUnprepareHeader(hwo,?&hdr,?sizeof (hdr));??
  • ????MRCHECK(mr,?waveOutUnprepareHeader,?ERROR_PLAY);??
  • ??
  • ERROR_PLAY:??
  • ????mr?=?waveOutClose(hwo);??
  • ????MRCHECK(mr,?waveOutClose,?ERROR_OPEN);??
  • ??
  • ERROR_OPEN:??
  • ????delete ?[]?pBufferBits;??
  • ????delete ?[]?pwfx;??
  • ??
  • ERROR_READ:??
  • ????CloseHandle(hevDone);??
  • ????return ?mr;??
  • }??
  • MMRESULT PlayFile(LPCTSTR pszFilename) { MMRESULT mr;DWORD dwBufferSize;PBYTE pBufferBits = NULL;PWAVEFORMATEX pwfx = NULL;DWORD dwSlop;DWORD dwWait;DWORD dwDuration;HANDLE hevDone = CreateEvent(NULL, FALSE, FALSE, NULL);if (hevDone == NULL) {return MMSYSERR_NOMEM;}mr = ReadWaveFile(pszFilename,&pwfx,&dwBufferSize,&pBufferBits);MRCHECK(mr, ReadWaveFile, ERROR_READ);// Note: Cast to UINT64 below is to avoid potential DWORD overflow for large (>~4MB) files.dwDuration = (DWORD)(((UINT64)dwBufferSize) * 1000 / pwfx->nAvgBytesPerSec);HWAVEOUT hwo;mr = waveOutOpen(&hwo, WAVE_MAPPER, pwfx, (DWORD) hevDone, NULL, CALLBACK_EVENT);MRCHECK(mr, waveOutOpen, ERROR_OPEN);WAVEHDR hdr;memset(&hdr, 0, sizeof(hdr));hdr.dwBufferLength = dwBufferSize;hdr.lpData = (char *) pBufferBits;mr = waveOutPrepareHeader(hwo, &hdr, sizeof(hdr));MRCHECK(mr, waveOutPrepareHeader, ERROR_PLAY);mr = waveOutWrite(hwo, &hdr, sizeof(hdr));MRCHECK(mr, waveOutWrite, ERROR_PLAY);// wait for play + 1 second slopdwSlop = 1000;dwWait = WaitForSingleObject(hevDone, dwDuration + dwSlop);if (dwWait != WAIT_OBJECT_0) {// not much to here, other than issue a warningRETAILMSG(1, (TEXT("Timeout waiting for playback to complete/r/n")));}mr = waveOutUnprepareHeader(hwo, &hdr, sizeof(hdr));MRCHECK(mr, waveOutUnprepareHeader, ERROR_PLAY); ERROR_PLAY:mr = waveOutClose(hwo);MRCHECK(mr, waveOutClose, ERROR_OPEN); ERROR_OPEN:delete [] pBufferBits;delete [] pwfx; ERROR_READ:CloseHandle(hevDone);return mr; }

    先調用waveOutOpen初始化音頻流。在調用waveOutPrepareHeader準備好數據頭,告訴驅動要播放多大的數據,在驅動中 waveOutPrepareHeader ? 調用 WODM_PREPARE 分支,一般情況下驅動沒有去實現 WODM_PREPARE ,直接返回 MMSYSERR_NOTSUPPORTED 。準備好Header后,調用waveOutWrite寫出buffer。

    ?

    好了,就寫到這里,如有錯誤之處,請更正。

    總結

    以上是生活随笔為你收集整理的Waveform Audio 驱动(Wavedev2)之:WAV API模拟的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    久久久久欠精品国产毛片国产毛生 | 国产高清不卡在线 | 国产一二区在线观看 | 久久影视一区二区 | 国产精品一区在线观看你懂的 | 五月天久久激情 | 久草视频免费播放 | 天天av资源| www色网站| 久久精品精品电影网 | 久草综合视频 | 丁香六月婷婷开心婷婷网 | 蜜臀av免费一区二区三区 | 久久成人人人人精品欧 | 五月开心色 | 精品国产伦一区二区三区观看体验 | av免费试看 | 欧美精品一区二区三区四区在线 | 国产精品久久久久久久久久妇女 | 九九九九色 | 欧美日韩性生活 | 这里只有精彩视频 | av女优中文字幕在线观看 | 亚洲作爱 | 亚洲视屏 | 欧美日韩视频一区二区 | 中文字幕制服丝袜av久久 | 欧美va天堂在线电影 | 六月婷婷网| 五月婷婷中文网 | 成人网中文字幕 | 日韩电影精品一区 | 久久久久久免费毛片精品 | 国内精品久久久久影院男同志 | 国产精品久久人 | 操操操日日日干干干 | www成人av| 国产一级黄大片 | 99久久夜色精品国产亚洲 | 国产一级性生活视频 | 美女网站视频久久 | 国产丝袜网站 | 日本一区二区不卡高清 | 伊人激情网 | 精品免费视频. | 黄色a在线观看 | 天天操天天舔天天干 | 天天色天天射综合网 | 一区二区三区日韩在线观看 | 免费在线国产精品 | 国产第页 | 精品欧美一区二区精品久久 | 成人动漫一区二区三区 | aa一级片 | 国产人免费人成免费视频 | 精品视频久久久久久 | 久久精品中文 | 国产日韩中文字幕 | 亚洲 欧洲 国产 日本 综合 | 日韩中文字幕国产 | 久久精品免视看 | 在线免费成人 | 在线亚洲午夜片av大片 | 91一区一区三区 | 日本黄色片一区二区 | 亚洲一区二区精品在线 | www.久久婷婷| 国产青草视频在线观看 | 亚洲区精品视频 | 免费视频黄色 | 日韩伦理片hd | 日日夜夜av | 精品不卡av | 国内精品久久久久久久久久久 | 久久色网站 | 日韩在线观看视频中文字幕 | 91九色自拍 | 成年美女黄网站色大片免费看 | 99精品国产一区二区三区不卡 | 欧美a级免费视频 | 永久免费的av电影 | 狠狠的干狠狠的操 | 日韩在线中文字幕 | 欧洲精品视频一区二区 | 奇米网444| 婷婷色网视频在线播放 | 国产一区免费在线观看 | 激情五月婷婷综合 | 日韩成人xxxx | 国产成人久久精品亚洲 | 99色99| 亚洲蜜桃在线 | 亚洲精品影视在线观看 | 日韩精品一区二区三区免费视频观看 | 国产做a爱一级久久 | www99久久| www色av| 伊人亚洲精品 | 欧美在线观看小视频 | a天堂免费| 五月婷婷中文网 | 免费看麻豆 | 97精品一区 | 国产又粗又长的视频 | 国产久草在线观看 | 精品久久久免费视频 | 国产成人av免费在线观看 | 日本视频网| 91桃色在线观看视频 | 国产麻豆果冻传媒在线观看 | 久久久久久黄 | 日韩网站在线观看 | 国产免费大片 | 91精品国产自产在线观看永久 | 亚洲综合成人婷婷小说 | 国产成人亚洲精品自产在线 | 91精品久久久久 | 国产一级视频免费看 | 丁香久久综合 | 天天色综合三 | 成人一级在线观看 | 干狠狠 | 中文字幕乱码电影 | 超碰在线人人艹 | 四虎在线影视 | 国产精品久久久久久久久久久久冷 | 青春草免费在线视频 | 国产色网 | 国产精久久久 | 色悠悠久久综合 | 国产成人三级在线观看 | 香蕉久草在线 | 亚洲精选视频免费看 | 中文字幕亚洲精品在线观看 | 久久综合精品国产一区二区三区 | 超级碰碰碰免费视频 | 黄色小网站在线观看 | 高清不卡一区二区三区 | 1024手机基地在线观看 | 欧美日韩性| 亚洲精选久久 | 亚洲最大成人免费网站 | 久久久久久久久久久久久影院 | 日日夜夜网 | 五月婷婷在线观看视频 | 在线 高清 中文字幕 | 国产精品video爽爽爽爽 | 中文字幕永久在线 | 色插综合 | 日韩中文幕 | 久久视频免费观看 | 亚洲国产成人在线观看 | 激情欧美xxxx| 91视频免费网址 | a视频在线观看 | 精品一区二区影视 | 国产一区av在线 | 丝袜+亚洲+另类+欧美+变态 | 最近av在线| 久久免费av电影 | 日韩在线观看的 | 久久成人免费电影 | www.亚洲精品视频 | 夜夜澡人模人人添人人看 | 精品久久久久久久久久久久久 | 免费 在线 中文 日本 | 精品久久久久一区二区国产 | 亚洲国产97在线精品一区 | 国产码电影 | 久草在线视频新 | 久久免费黄色网址 | 日本中文乱码卡一卡二新区 | 一区二区视频电影在线观看 | 精品久久久久久国产偷窥 | 麻豆视频在线观看 | 久久综合久久综合久久 | 国产亚洲欧美日韩高清 | 国产精品一区二区美女视频免费看 | 色综合久久五月天 | 欧美日韩在线观看不卡 | 黄色一级在线观看 | 天天射天天操天天色 | 国产一级精品视频 | 97精品在线视频 | 黄色在线免费观看网站 | 美女视频免费一区二区 | 国产成人久久精品 | 久久精品国产精品亚洲精品 | 国产午夜三级一区二区三桃花影视 | 麻豆精品91 | 国产色在线观看 | 中文字幕在线观看免费高清完整版 | 日日夜夜精品免费观看 | 久久 地址 | 黄a在线观看 | 久久精选| 日韩最新av | 免费久久久久久 | 日韩欧美国产激情在线播放 | 国产精品无av码在线观看 | 久久精品欧美一区 | 福利一区二区 | 成人午夜性影院 | 亚洲欧美视频网站 | av在线播放免费 | 久久久久久久久久久免费视频 | 亚洲综合五月天 | 亚洲精品tv久久久久久久久久 | 国产在线观看网站 | 99久久夜色精品国产亚洲96 | 精品视频在线免费观看 | 在线免费中文字幕 | 国产国语在线 | 欧洲精品码一区二区三区免费看 | 91探花国产综合在线精品 | 国产玖玖精品视频 | 亚洲精品乱码久久久久久蜜桃91 | 免费亚洲黄色 | 久久精品视频一 | 国产精品久久久久久一区二区 | 久久免费中文视频 | 天天操天天射天天爽 | 日韩成人免费在线电影 | 亚洲精品一区二区精华 | 欧美成年网站 | 激情网综合 | 欧美黑人xxxx猛性大交 | aaaaaa毛片| 亚洲欧洲av| 亚洲影视九九影院在线观看 | 久久的色 | 亚洲欧美国内爽妇网 | 国产精品免费av | 亚洲国产人午在线一二区 | 免费在线观看视频一区 | 国产黄在线| 四虎影视av| 久久精品91视频 | 国产亚洲精品久久久久久久久久久久 | 中文字幕av最新 | 91av在线播放 | 最新午夜 | 国产精品123 | 天堂成人在线 | 成人久久久久久久久久 | 97精品视频在线 | 亚洲激情六月 | 天天操天天干天天 | 久久9999久久 | 免费视频久久 | 狠色在线 | 久久国产精品系列 | 日本中文字幕免费观看 | 免费看片成人 | 欧美最爽乱淫视频播放 | 91传媒在线 | 91香蕉视频在线 | 国产精品av在线 | 色99视频 | 免费三级av | 国产精品久久久区三区天天噜 | 色午夜影院 | 黄色特级毛片 | 色综合激情网 | 黄色av一区二区 | 久久av免费电影 | 激情五月婷婷丁香 | 91精品在线麻豆 | 麻豆91精品91久久久 | 亚洲欧美精品一区二区 | 久久久久亚洲精品成人网小说 | 四虎影视精品永久在线观看 | 狠狠色丁香久久婷婷综合五月 | 日本中文字幕网站 | 二区三区在线视频 | 久久成人一区 | 久久影视网| 91精品国产91久久久久 | 亚洲aⅴ在线观看 | 国产精品成久久久久 | 国内丰满少妇猛烈精品播 | 激情综合一区 | 免费网址你懂的 | 在线欧美a| 国产剧情亚洲 | 日韩乱码在线 | 日韩免费成人 | 天天干天天干天天 | 国产精品免费久久久久 | 中文字幕超清在线免费 | 99色在线播放 | 中文字幕av在线 | 日本大片免费观看在线 | 色婷婷丁香| 欧美作爱视频 | 欧美日韩久久一区 | 国内精品久久久久久久久久久 | 最新不卡av| 欧美国产一区在线 | 最近中文字幕在线中文高清版 | 精品视频免费观看 | 久久96国产精品久久99软件 | 91成年人在线观看 | 亚洲精区二区三区四区麻豆 | 国产免费人成xvideos视频 | 国产99久久九九精品免费 | 日韩中文字幕免费在线播放 | 狠狠色丁香 | 美女视频黄频 | 国产精品69av | 国产探花视频在线播放 | 91九色蝌蚪在线 | 久久精品视频在线观看免费 | 天天添夜夜操 | 久久99精品国产 | 免费a级观看 | 国产麻豆视频免费观看 | 99av国产精品欲麻豆 | 久久久久久草 | 国产高清在线看 | 精品视频久久久久久 | 亚洲成av | 91热爆视频 | 中文字幕在线高清 | 狠狠干在线播放 | 亚洲影视九九影院在线观看 | 亚洲精品在线观看免费 | 偷拍精偷拍精品欧洲亚洲网站 | 久久社区视频 | 亚洲伦理电影在线 | 色99网| 天天干视频在线 | 国产精品毛片一区视频 | 日韩黄视频 | av成人在线网站 | 在线观看mv的中文字幕网站 | 一级大片在线观看 | 91精品国 | 国产视频97| 69av国产| www.91国产| 国产精品免费观看久久 | 久久国产精品视频观看 | 久久综合九色综合欧美狠狠 | 一区二区不卡 | 最近日本韩国中文字幕 | 黄色一级大片在线观看 | 国内精品久久久久久久久 | 91精品久久久久 | 99视频 | 在线天堂中文在线资源网 | 97看片| 在线视频一二区 | 免费观看一级成人毛片 | 国产精品手机看片 | 91.dizhi永久地址最新 | 黄色一级影院 | 国产美腿白丝袜足在线av | 免费看的av片 | 亚洲作爱| 91一区二区三区久久久久国产乱 | 国产精品久久久久9999 | 午夜精品电影 | 久草视频免费 | 久久精品久久久久久久 | 91高清视频| 黄色精品网站 | 欧美日韩国产在线精品 | 欧美日韩伦理在线 | 亚洲四虎| 久久国产精品免费 | 欧美一级看片 | 成年人在线观看视频免费 | 国产成人精品aaa | 伊人久久av | 五月天激情视频 | 九九免费观看全部免费视频 | 欧美日韩视频一区二区 | 日韩在线视频一区二区三区 | 狠狠色丁香婷婷综合欧美 | 91超级碰碰 | 91精品欧美 | 天天操人人干 | 在线看片视频 | 国产高清一 | 久久久久久久久久久免费av | 午夜精品一区二区三区在线观看 | 亚洲精品综合在线观看 | 国内少妇自拍视频一区 | 国精产品一二三线999 | av中文字幕不卡 | v片在线播放 | 国产一区二区久久久 | www.久草视频 | 成人黄色电影在线播放 | 少妇bbbb搡bbbb搡bbbb | 狠狠躁日日躁 | 91成品视频| 香蕉蜜桃视频 | av日韩中文 | 亚洲免费婷婷 | 亚洲激精日韩激精欧美精品 | 少妇高潮流白浆在线观看 | 波多野结衣视频一区二区三区 | 午夜久久福利视频 | 欧美成人精品欧美一级乱 | 久久香蕉电影 | 日日激情| 国产色视频一区二区三区qq号 | 亚洲色视频 | 黄色一级在线观看 | 精品 一区 在线 | 香蕉视频国产在线观看 | 丝袜美腿在线 | 久久国产精品久久国产精品 | 中文字幕在线观看你懂的 | 国产高清在线免费 | www激情com| 久久久久久久久久久网 | 久久久久久久久久影院 | 亚洲视频免费在线 | 久久av中文字幕片 | 天天色宗合 | 国产精品色在线 | 射射色| 在线日韩| 国产成人av在线 | 亚洲人成综合 | 欧美日韩激情网 | 久久久久这里只有精品 | 日韩在线视频一区 | 青青河边草手机免费 | 中文字幕av全部资源www中文字幕在线观看 | 久草综合视频 | 久草免费在线观看视频 | 亚洲精品视频在线观看免费 | 亚洲视频一区二区三区在线观看 | 亚洲一区二区三区四区在线视频 | 欧美亚洲免费在线一区 | 久青草国产在线 | 日韩精品欧美专区 | 久久亚洲欧美日韩精品专区 | 久综合网 | 激情深爱五月 | 五月激情久久 | 日韩久久在线 | 久久精品综合一区 | .精品久久久麻豆国产精品 亚洲va欧美 | 亚洲免费婷婷 | 中文av在线播放 | 在线观看免费高清视频大全追剧 | 久久精品视频国产 | 国产精品久久99精品毛片三a | 亚洲精品99 | 成人在线播放网站 | 欧美最猛性xxxx | 久久国产经典视频 | 久久久片| 黄色www免费| 中文字幕在线观看日本 | 国产黄免费看 | 人人玩人人添人人澡97 | 国产在线观看二区 | 国产 日韩 在线 亚洲 字幕 中文 | 国产一区二区综合 | 日日婷婷夜日日天干 | 激情小说 五月 | 91资源在线播放 | 久久超级碰视频 | 久久久色| 毛片美女网站 | 日韩欧美一区二区三区在线 | 成人在线黄色 | 欧美激情视频久久 | 成年人免费电影在线观看 | 毛片激情永久免费 | 狠狠操狠狠插 | 狠狠色伊人亚洲综合成人 | 国产视频一级 | 97精品超碰一区二区三区 | 国产视频一| 久久精品久久久久电影 | 久久久91精品国产一区二区三区 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 日韩美一区二区三区 | 久久久高清免费视频 | 99人久久精品视频最新地址 | 国产精品成人免费精品自在线观看 | 精品一区二区在线免费观看 | 波多野结衣在线视频免费观看 | 国产99久久久国产精品成人免费 | 91精品婷婷国产综合久久蝌蚪 | 欧美在线视频一区二区三区 | 中文字幕亚洲综合久久五月天色无吗'' | 日韩欧美综合在线视频 | 日本高清中文字幕有码在线 | 婷婷成人综合 | 夜夜看av | 色噜噜在线观看视频 | 丁香六月五月婷婷 | 久久久精品网站 | 日本精品一区二区 | 中文字幕在线免费 | 天天色草 | 日韩一区二区久久 | 亚洲成人精品在线观看 | 亚洲精品在线观看免费 | 精品久久久久久久久久久久久久久久 | 一区二区三区精品在线视频 | 又黄又爽免费视频 | 久久综合九色99 | av一区二区三区在线观看 | 中文字幕丰满人伦在线 | 久久国产日韩 | 国产黄色精品在线观看 | 日操干| 99精品久久精品一区二区 | 麻豆视屏 | 色多多污污在线观看 | 国产成人一区在线 | 成人av在线播放网站 | 91日本在线播放 | 婷婷精品在线 | 亚洲国产精品成人va在线观看 | 国产亚洲一区二区在线观看 | 国产伦理久久精品久久久久_ | 国产一级a毛片视频爆浆 | 激情五月婷婷综合 | 欧美aaa视频 | 国产精品久久久久久久久久久久午夜 | 婷婷黄色片 | 在线免费高清一区二区三区 | 国产一二区在线观看 | 黄色软件在线看 | 亚洲天堂社区 | 91精品国产福利在线观看 | 久久九九久久精品 | 亚洲人成人在线 | 欧美精品亚洲精品 | 欧美日韩网址 | 国产九九热视频 | 久久国产成人午夜av影院潦草 | 色婷婷综合在线 | 激情影音| 极品嫩模被强到高潮呻吟91 | 激情伊人五月天久久综合 | 97理论电影 | 精精国产xxxx视频在线播放 | 婷婷五月色综合 | 福利视频网站 | 香蕉久草 | 日韩有码在线观看视频 | 日本电影久久 | 亚洲精品一区二区三区四区高清 | 久久精品国产一区二区三区 | 天堂成人在线 | 久草视频免费在线播放 | 欧美激情综合五月色丁香 | 亚州激情视频 | 国产一级片网站 | 99人久久精品视频最新地址 | 中文字幕在线观看播放 | 97超级碰碰| 日韩精品在线观看视频 | www.国产精品 | 大型av综合网站 | 国产在线更新 | 久久国产成人午夜av影院宅 | 五月婷婷狠狠 | 中文字幕文字幕一区二区 | 在线观看精品一区 | 婷婷色亚洲 | 久久国产一区二区 | 亚洲天堂网在线观看视频 | 精品久久久久久国产 | www.亚洲黄 | 激情欧美一区二区三区 | 日本精品视频在线观看 | 色88久久 | 在线免费观看视频一区 | 在线成人免费 | 国产精品美女网站 | 91喷水 | 91在线视频观看 | 欧美孕妇与黑人孕交 | 成人a免费看 | 人人干狠狠干 | 久久久在线免费观看 | 亚洲欧美视频网站 | 美女视频黄的免费的 | 亚洲一区二区三区精品在线观看 | 亚洲永久国产精品 | 国产亚洲成人网 | 免费观看的av | 91成版人在线观看入口 | 国产一线天在线观看 | 国产欧美久久久精品影院 | 亚洲免费观看在线视频 | 91av精品 | 日韩一级成人av | 欧美国产精品一区二区 | 国产亚洲精品久久久久久无几年桃 | 成人91在线观看 | 亚洲 欧美 国产 va在线影院 | 五月婷婷狠狠 | 久久免费视频这里只有精品 | 欧美日韩国产一二 | 亚洲精品国精品久久99热 | 国产精品久久久久一区 | 婷香五月 | 亚洲国产视频网站 | 亚州免费视频 | 国产香蕉视频在线观看 | 国产精品美女久久 | 国产69久久精品成人看 | 久草精品视频在线播放 | 天天天天天干 | 波多野结衣视频一区二区三区 | 九九一级片 | 特黄一级毛片 | 日本公妇在线观看 | 又污又黄网站 | 日本在线观看一区 | 激情久久小说 | 蜜桃视频色 | 国产区久久 | 黄色网址av | av免费试看| 中文字幕丝袜制服 | 一区二区三区三区在线 | 二区三区毛片 | 最新国产视频 | 天天操天天操天天操天天操天天操天天操 | 国产视频中文字幕在线观看 | 成年人视频在线免费播放 | 国产成人精品av在线观 | 一区二区三区视频在线 | 久久亚洲在线 | www.香蕉视频在线观看 | 又黄又爽又无遮挡的视频 | 97视频在线观看播放 | 久久精品女人毛片国产 | 国产精品免费久久久久影院仙踪林 | 久草在线费播放视频 | 女人18片 | 亚洲精品视频在线观看视频 | 欧美爽爽爽 | 国产在线播放不卡 | www国产精品com| 精品国产伦一区二区三区 | 国产 精品 资源 | 国产精品理论片在线播放 | 99久久精品国产免费看不卡 | 久久视频一区 | 四虎影视久久久 | 精品国产1区 | 国产精华国产精品 | 亚洲国产日韩一区 | 日韩v在线91成人自拍 | 午夜成人影视 | 久久激情日本aⅴ | 麻豆久久一区二区 | 在线精品视频在线观看高清 | 三级黄色在线 | 99久久影院| 欧美午夜a | 精品在线一区二区 | 天天操天天谢 | 久久久久久久久久网 | 成人av影院在线观看 | 欧美一级特黄aaaaaa大片在线观看 | www.色婷婷.com | 97超碰在线久草超碰在线观看 | 天天射天天干天天 | 天天草夜夜 | 九九久| 在线观看中文 | 国产一区播放 | 在线视频 影院 | 在线观看一级 | 中文字幕免 | 久久精品久久久久电影 | 97国产| 夜夜操狠狠干 | 激情偷乱人伦小说视频在线观看 | 国产视频在线观看一区二区 | 久艹在线播放 | 成人资源在线 | 在线国产黄色 | 97日日碰人人模人人澡分享吧 | 偷拍视频一区 | 亚洲日本激情 | 欧美男女爱爱视频 | 亚洲五月婷 | 免费福利在线观看 | 国产精品理论片在线播放 | 尤物九九久久国产精品的分类 | 免费网站黄 | 亚洲免费小视频 | 一区二区三区电影 | 亚洲婷婷综合色高清在线 | 欧美日本啪啪无遮挡网站 | 久久久久久免费网 | 一区二区三区电影大全 | 国产精品理论片在线播放 | 精品欧美一区二区三区久久久 | 国产无吗一区二区三区在线欢 | 中文字幕亚洲精品在线观看 | av中文字幕不卡 | 91重口视频 | 日韩中文字幕在线观看 | 丁香婷婷色月天 | 国产偷v国产偷∨精品视频 在线草 | 久久视频中文字幕 | 五月天丁香亚洲 | 欧美午夜久久 | 伊人超碰在线 | 国产精品久久久久久久久岛 | 国产精品一区二区三区99 | 992tv在线观看| 日韩免费电影 | 成人久久18免费 | 天天射天天爽 | 日韩视频一区二区在线观看 | 99婷婷狠狠成为人免费视频 | 天天操天天干天天爽 | 超碰在线最新 | 国产精品中文在线 | 91视频a | 日韩三区在线观看 | 四虎成人精品在永久免费 | 99热国内精品| 久久精品视频免费 | 久99久视频 | 国产精品久久99精品毛片三a | 免费视频 你懂的 | 国产成人一区二区三区 | 亚洲高清视频在线观看 | 免费在线观看av不卡 | 婷婷丁香视频 | 国产系列在线观看 | 亚洲日本在线视频观看 | 欧美二区在线播放 | 天天舔夜夜操 | 国产亚洲精品久久久久久 | 丁香花在线视频观看免费 | av丝袜在线| 国产日韩在线看 | 欧美男同视频网站 | 天天婷婷 | 日韩在线 一区二区 | 国产拍揄自揄精品视频麻豆 | 国产一二三四在线视频 | 午夜视频一区二区 | 久草com| 91麻豆视频网站 | 久草在线视频国产 | 超碰公开在线观看 | 偷拍福利视频一区二区三区 | 视频1区2区 | 99精品视频免费看 | 亚洲综合在线一区二区三区 | 天天射天天艹 | 成人免费视频视频在线观看 免费 | 日韩欧美精选 | 美女网站视频免费都是黄 | 日韩欧美专区 | 日韩精品中文字幕av | 96在线 | 免费看特级毛片 | 在线免费观看不卡av | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 一区二区三区视频在线 | 麻豆视屏 | 精品久久影院 | 日日日网| 在线视频久 | 中文字幕色网站 | 国产精品剧情在线亚洲 | 狠狠色噜噜狠狠 | 97超碰人人澡人人爱 | 97精品免费视频 | 国产剧情在线一区 | 国产高清在线看 | 久久最新网址 | 色天天综合网 | 精品免费久久久久 | 国产成人久久精品一区二区三区 | 亚洲一区网站 | 91在线入口 | 国产成人av网址 | 国产福利一区二区三区视频 | 日日射av | 国产视频一区在线播放 | 欧美成人tv | 免费碰碰 | 一区二区三区四区不卡 | 奇米网444| 久久精品一级片 | 国产成人精品999 | 国产亚洲视频中文字幕视频 | 成人免费亚洲 | 伊人永久| 中文字幕在线观看的网站 | av丝袜美腿 | 国产黄在线播放 | 日本中文在线播放 | 丁香五婷 | 国产亚洲精品久久网站 | 国产精品99久久久精品 | 亚洲精品久久久蜜臀下载官网 | 成片视频在线观看 | 在线看小早川怜子av | 2022久久国产露脸精品国产 | 又长又大又黑又粗欧美 | 99亚洲精品在线 | 久草在线视频免赞 | 国产日韩欧美在线观看视频 | 日本久久久亚洲精品 | 久久一精品 | 精品亚洲在线 | 日韩在线视频线视频免费网站 | 中日韩免费视频 | 国产精品毛片久久蜜 | 激情欧美在线观看 | 成人黄色毛片 | 伊人亚洲综合网 | 手机色站 | 久久综合欧美精品亚洲一区 | 中文字幕日韩一区二区三区不卡 | 国产高清不卡av | 香蕉精品视频在线观看 | 日日夜夜天天久久 | 三级av片 | 欧美日韩中文国产一区发布 | 奇米影视999 | 91在线观看黄 | 国产成人久久精品一区二区三区 | 福利av在线 | 人人玩人人添人人澡97 | 亚洲精品国产第一综合99久久 | 国产成人精品免费在线观看 | 麻豆影视在线播放 | 久久国产精品99久久人人澡 | 视频在线一区 | 成人av高清在线 | 日韩免费一区二区 | 在线观看亚洲国产精品 | 欧美精品做受xxx性少妇 | 国产黄色观看 | 国产一区二区三区网站 | 一区二区三区免费在线播放 | 在线看成人av | 97免费在线观看视频 | 国产一区二区三区网站 | 激情av在线资源 | 激情久久久 | av官网在线| 日韩精品一区二区三区第95 | 久久综合中文字幕 | 91免费高清观看 | 超碰人人乐 | 久久免费视频网 | 久久久影院一区二区三区 | 97人人模人人爽人人喊网 | 久久不卡电影 | wwwwwww黄| 欧美日韩国产二区三区 | 中文字幕久久精品一区 | 中文字幕乱视频 | 亚洲精品美女免费 | 91精品一区二区三区蜜臀 | 国产一区二区在线免费播放 | 日韩视频中文 | 日韩av午夜 | av不卡中文字幕 | wwwww.国产| 亚洲高清视频在线观看免费 | 国产精品人人做人人爽人人添 | 亚洲极色 | 久久久久成人精品免费播放动漫 | 精品在线免费视频 | 激情视频一区二区 | 国产精品久久久久久久久大全 | 精品久久久久_ | 国产美女在线精品免费观看 | 六月天综合网 | 国产精品视频在线观看 | 亚洲欧洲精品视频 | 96精品高清视频在线观看软件特色 | 麻豆影视在线免费观看 | 黄色精品久久久 | 久久视精品 | 免费激情在线电影 | 欧美国产视频在线 | 免费三级影片 | 美女免费黄网站 | 亚洲精品玖玖玖av在线看 | 日韩精品在线视频免费观看 | 中文字幕在线观看免费观看 | 草久在线观看视频 | 国产a免费| 99视频在线播放 | 亚洲视频免费 | 国产免费观看久久 | 精品久久一级片 | 国产小视频国产精品 | 亚洲视频在线看 | 96国产在线| 欧美精品久久久久久久久老牛影院 | 欧美日韩中文字幕在线视频 | 久久不卡国产精品一区二区 | www成人精品| 三上悠亚一区二区在线观看 | 97av在线 | 成人av观看 | 国产午夜在线观看视频 | 久久免费观看视频 | 91成人在线观看高潮 | 手机av资源 | 一级片视频在线 | 国产91精品一区二区麻豆网站 | 黄色软件视频网站 | 日韩免费一区二区三区 | 久久久久久久久久久福利 | 久久综合狠狠综合 | avlulu久久精品| 9色在线视频 | 免费在线观看黄色网 | 精品久久久久久久久久久久久久久久久久 | 亚洲精品激情 | 亚洲专区路线二 | av电影中文字幕在线观看 | 亚洲成人免费观看 | 五月婷婷色综合 | 国内精品久久久久久久久久 | 97福利社 | 91精品在线视频观看 | 亚洲一级国产 | 日韩精品在线看 | 日韩在线观看精品 | 成人在线视频免费看 | av日韩国产| 久久视频在线观看中文字幕 | 97香蕉超级碰碰久久免费软件 | 96精品视频 | 国产97在线观看 | 偷拍精品一区二区三区 | 超碰国产人人 | 99精品久久久久久久久久综合 | 天天色中文 | 中文字幕在线观看91 | 国产精品久久久777 成人手机在线视频 | 91一区啪爱嗯打偷拍欧美 | 伊人小视频| 六月色丁香 | 国产一区二区精品久久 | 免费观看一级 | 探花视频在线观看免费 | 成人国产精品入口 | 欧美精品在线免费 | 国产最新视频在线观看 | 国产91小视频 | 极品美女被弄高潮视频网站 | 久久涩视频 | 99精品视频网 | 久久久私人影院 | 亚洲欧美日韩中文在线 | 婷婷激情五月综合 | 国产视频亚洲视频 | 国产精品中文久久久久久久 | 国产69精品久久久久9999apgf | 亚洲高清久久久 | 黄色h在线观看 | 天天色棕合合合合合合 | 久久久久久久久久亚洲精品 | 成年人天堂com | 色视频在线免费 | 99这里有精品 | 国产精品久久 | 亚洲另类人人澡 | 成人97人人超碰人人99 | 欧洲一区二区在线观看 | 久青草国产在线 | 国产精品a久久 | 欧美日韩视频精品 | www国产亚洲精品久久网站 | 91成人在线视频 | 午夜体验区 | 波多野结衣视频一区 | 一级片免费观看视频 | 国产香蕉久久精品综合网 | 五月婷婷六月丁香在线观看 | 国产精品99久久久久久武松影视 | 免费高清影视 | 一区二区三区视频在线 | 蜜臀一区二区三区精品免费视频 | 激情久久五月 |