• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            老大不傷悲

             

            2011年8月4日

            轉 MSYS&MINGW環境中編譯mediastream2和ortp

            (1)      安裝intltool:訪問http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/并下載intltool_0.40.4-1_win32.zip,解壓到c:\msys目錄下;

            (2)      安裝linphone-deps:訪問http://download.savannah.gnu.org/releases- noredirect/linphone/misc/并下載linphone-deps-win32-091203.zip,解壓到c:\msys目錄 下;

            (3)      安裝gtk+:訪問http://www.gtk.org/download-windows.html,下載pkg-config_0.23-3_win32.zip和glib_2.24.0-2_win32.zip,解壓到c:\msys目錄下;

            (4)      編譯libSRTP:

            1. 訪問http://sourceforge.net/projects/srtp/并下載srtp-1.4.4.tgz,并解壓到c:\msys\src目錄下(也可以是其它目錄);
            2. 運行c:\msys\msys.bat,執行以下命令,

            cd /src/srtp

            autoconf

            ./configure–prefix=/usr

            make

            make install

            make clean

            (5)      編譯ortp:

            1. 訪問http://download.savannah.gnu.org/releases-noredirect/linphone/ortp/sources/并下載ortp-0.16.3.tar.gz,解壓到c:\msys\src目錄下(也可以是其它目錄);
            2. 運行c:\msys\msys.bat,執行以下命令,

            cd /src/ortp-0.16.3

            autoconf

            ./configure–prefix=/usr

            make

            make install

            make clean

            (6)      編譯mediastreamer2:

            1. 訪問http://download.savannah.gnu.org/releases-noredirect/linphone/mediastreamer/并下載mediastreamer-2.5.0.tar.gz,解壓到c:\msys\src目錄下(也可以是其它目錄);
            2. 運行c:\msys\msys.bat,執行以下命令,

            cd /src/mediastreamer-2.5.0

            autoconf

            ./configure–prefix=/usr

            make

            make install

            make clean

            (7)      創建lib文件供VC++使用:運行c:\msys\msys.bat,執行以下命令,

            cd /lib

            cp../src/mediastream-2.5.0/build/win32native/mediastreamer2.def mediastreamer.def

            cp ../src/ortp-0.16.3/build/win32native/ortp.def ortp.def

            cp../bin/libortp-8.dll .

            cp../bin/libmediastreamer-0.dll .

            dlltool –Dlibortp-8.dll –d ortp.def –l ortp.lib

            (為支持linphone media engine 需要在ortp.def文件添加如下代碼:

                payload_type_pcmu8000
                payload_type_pcma8000
                payload_type_pcm8000
                payload_type_l16_mono
                payload_type_l16_stereo
                payload_type_lpc1016
                payload_type_g729
                payload_type_g7231
                payload_type_g7221
                payload_type_g726_40
                payload_type_speex_nb
                payload_type_speex_wb
                payload_type_speex_uwb
                payload_type_ilbc
                payload_type_telephone_event
                av_profile
            )

            dlltool –Dlibmediastreamer-0.dll.a –d mediastreamer.def –l mediastreamer.lib

            原帖
            http://www.cnblogs.com/joiner/archive/2010/06/18/1759943.html

            posted @ 2011-08-04 13:32 長風 閱讀(794) | 評論 (0)編輯 收藏

            轉 MinGW&MSYS的手工安裝

            本節所需的程序包如未特別注明,都是從http://sourceforge.net/downloads/mingw/下載,本節下文稱之為“下載站點”。

            (1)      建立程序目錄:在c盤建立msys目錄,并在msys目錄下建立mingw子目錄;

            (2)      安裝MinGW:訪問下載站點,

            1. 瀏覽MinGW->BaseSystem->GNU-Binutils->binutils-2.20.51,下載binutils-2.20.51-1-mingw32-bin.tar.lzma;
            2. 瀏覽MinGW->BaseSystem->RuntimeLibrary->MinGW-RT->mingwrt- 3.18,下載mingwrt-3.18-mingw32-dev.tar.gz和mingwrt-3.18-mingw32-dll.tar.gz;(如果在編譯程序的時候,出現undefined reference to __dyn_tls_init_callback 鏈接錯誤時,可以換一個版本低一些的)
            3. 瀏覽MinGW->BaseSystem->RuntimeLibrary->Win32-API w32api-3.14,下載w32api-3.14-mingw32-dev.tar.gz;
            4. 瀏覽MinGW->BaseSystem->GCC Version4->gcc-4.5.0-1, 下載gcc-c++-4.5.0-1-mingw32-bin.tar.lzma、gcc-core-4.5.0-1-mingw32- bin.tar.lzma、libgcc-4.5.0-1-mingw32-dll-1.tar.lzma和libstdc++-4.5.0-1- mingw32-dll-6.tar.lzma;
            5. 瀏覽MinGW->mpfr->mpfr-2.4.1-1,下載libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma;
            6. 瀏覽MinGW->gmp->gmp-5.0.1-1,下載libgmp-5.0.1-1-mingw32-dll-10.tar.lzma;
            7. 瀏覽MinGW->mpc->mpc-0.8.1-1,下載libmpc-0.8.1-1-mingw32-dll-2.tar.lzma;
            8. 瀏覽MinGW->pthread-w32->pthread-w32-2.8.0-3,下載pthreads-w32-2.8.0-3-mingw32-dev.tar.lzma;
            9. 將以上所下載的壓縮包解壓縮到c:\msys\mingw目錄下;

            (3)      安裝MSYS,訪問下載站點,

            1. 瀏覽MSYS->BaseSystem->msys-1.0.14-1,下載msysCORE-1.0.14-1-msys-1.0.14-bin.tar.lzma;
            2. 瀏覽MSYS->coreutils->coreutils-5.97-3,下載coreutils-5.97-3-msys-1.0.13-bin.tar.lzma和coreutils-5.97-3-msys-1.0.13-ext.tar.lzma;
            3. 瀏覽MSYS->automake-1.11.1-1,下載automake-1.11.1-1-msys-1.0.13-bin.tar.lzma;
            4. 瀏覽MSYS->autoconf->autoconf-2.65-1,下載autoconf-2.65-1-msys-1.0.13-bin.tar.lzma;
            5. 瀏覽MSYS->libtool->libtool-2.2.7a-2,下載libtool-2.2.7a-2-msys-1.0.13-bin.tar.lzma;
            6. 瀏覽MSYS->crypt->crypt-1.1_1-3,下載crypt-1.1_1-3-msys-1.0.13-bin.tar.lzma和libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma;
            7. 瀏覽MSYS->perl->perl-5.6.1_2-2,下載perl-5.6.1_2-2-msys-1.0.13-bin.tar.lzma;
            8. 瀏覽MSYS->gettext->gettext-0.17-2,下載gettext-0.17-2-msys-1.0.13-bin.tar.lzma、 gettext-0.17-2-msys-1.0.13-ext.tar.lzma、gettext-0.17-2-msys-1.0.13- dev.tar.lzma和libintl-0.17-2-msys-dll-8.tar.lzma;
            9. 瀏覽MSYS->bash->bash-3.1.17-3,下載bash-3.1.17-3-msys-1.0.13-bin.tar.lzma;
            10. 瀏覽MSYS->regex->regex-1.20090805-2,下載libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma;
            11. 瀏覽MSYSàtermcapàtermcapà0.20050421_1-2,下載libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma;
            12. 瀏覽MSYS->sed->sed-4.2.1-2,下載sed-4.2.1-2-msys-1.0.13-bin.tar.lzma;
            13. 瀏覽MSYS->libicon->libiconv-1.13.1-2,下載libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma;
            14. 瀏覽MSYS->make->make-3.81-3,下載make-3.81-3-msys-1.0.13-bin.tar.lzma;
            15. 瀏覽MSYS->gawk->gawk-3.1.7-2,下載gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma;
            16. 瀏覽MSYS->grep->grep-2.5.4-2,下載grep-2.5.4-2-msys-1.0.13-bin.tar.lzma;
            17. 瀏覽MSYS->diffutils->diffutils-2.8.7.20071206cvs-3,下載diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma;
            18. 瀏覽MSYS->openssl->openssl-1.0.0-1,下載libopenssl-1.0.0-1-msys-1.0.13-dev.tar.lzma;
            19. 瀏覽MSYS->tar->tar-1.23-1,下載tar-1.23-1-msys-1.0.13-bin.tar.lzma;
            20. 瀏覽MSYS->m4->m4-1.4.14-1,下m4-1.4.14-1-msys-1.0.13-bin.tar.lzma;
            21. 將以上所下載的程序包解壓到c:\msys目錄下;
            22. 創建fstab文件:在c:\msys\etc目錄下創建文件fstab,并增加如下內容,

            c:/msys/mingw    /mingw

            測試基本環境:運行c:\msys\msys.bat,進入命令行界面執行gcc –version,確認基本環境已安裝好;

            源貼

            http://www.cnblogs.com/joiner/archive/2010/06/18/1759941.html

            posted @ 2011-08-04 13:28 長風 閱讀(1061) | 評論 (0)編輯 收藏

            最近研究libjingle的經驗總結

            最近有一個語言項目方面的調研,需要評估一下libjingle,所以研究了半個月的libjingle,現在把經驗總結如下(如有不對,請不吝賜教):
            1、libjingle庫所帶例子只支持rtpdump文件傳遞語音,不支持實時語音通話;
            2、最新的幾個版本的libjingle庫去掉了GIPS voiceEngine的相關部分(可能是因為google收購了GIPS);
            3、那么在windows下要支持實時語音通話,可以用linphone media engine,不過這個庫是linux下的,所以遷移過來會費不少精力(不知有沒有更好的方法):
            要想在windows下用linphone media engine, 首先,按照README的說明添加如下代碼:
            Add the following lines into the libjingle.scons file.
                In the "talk.Library(env, name = "libjingle",..." section, you need to add:
                  "HAVE_LINPHONE",
                  "HAVE_SPEEX",
                  "HAVE_ILBC",
                to the "cppdefines = [".
                add:
                 "session/phone/linphonemediaengine.cc",
                to the "srcs = [ ..."

                add:     
                  "third_party/mediastreamer/include",
                  "third_party/ortp/include"
                to the "includedirs = [ ..."

                In the "talk.App(env, name = "call",..." section, you need to add:
                  "ortp"
                  "mediastreamer",
                to the "libs = [".
             
            然后,
            訪問http://download.savannah.gnu.org/releases-noredirect/linphone/ortp/sources/下載ortp代碼,
            訪問http://download.savannah.gnu.org/releases-noredirect/linphone/mediastreamer/下載mediastreamer,
            并復制到libjingle庫的third_party中,文件夾名需與上一步添加的路徑名一致。

            在windows下需要dll,所以還得編譯兩個庫的dll,方法轉自:
            http://www.cnblogs.com/joiner/archive/2010/06/18/1759941.html Mingw&msys的手動安裝;
            http://www.cnblogs.com/joiner/archive/2010/06/18/1759943.html Mingw&msys環境中編譯mediastreamer2和ortp。
            接著,
            copy .lib文件到talk\build\dbg\lib目錄,
            copy .dll到talk\build\dbg\staging目錄。

            然后,修改libjingle庫的socketaddress.cc里的一個bug,參考http://mysuperbaby.iteye.com/blog/910830
            增加紅色,解決域名轉IP的問題:
            bool SocketAddress::StringToIP(const std::string& hostname, uint32* ip) {
              in_addr addr;
              struct hostent *host;
              if (isalpha(hostname.c_str()[0]))
              {
                        host = gethostbyname(hostname.c_str());
                        if (host == NULL)
                        {
                            printf("gethostbyname error\n");
                            return false;
                        }
                        memcpy(&addr.s_addr,   host->h_addr_list[0],host->h_length);
              }
              else if (inet_aton(hostname.c_str(), &addr) == 0)
              {  
                  return false;
              }
              *ip = NetworkToHost32(addr.s_addr);
              return true;
            }

            按照README的方法,編譯。

            通過后運行call.exe,與Gtalk通話。

            如果音質不好,斷斷續續,可以在mingw&msys下,
            移除 winsnd2.c 添加winsnd3.c 重新編譯ortp庫。

            還有就是關于receiving RTCP packet: Connection reset by peer. 參考http://mysuperbaby.iteye.com/blog/911159
            這篇文章,也沒有解決,不過不影響音質。

            posted @ 2011-08-04 11:59 長風 閱讀(7238) | 評論 (10)編輯 收藏

            2011年4月24日

            最近筆試面試集錦(c/c++)

            最近在找工作,把遇到的筆試、面試題記錄在此,總結經驗教訓,為后面的筆試、面試打好基礎。
            閑話少敘,看題:
            1、
            聲明以下變量(簡單的就不列了,列我覺得稍微有點難度的吧)
            a、指向整型的指針的指針的數組: int **p[];
            b、指向數據的指針: int (*p)[];
            c、參數為void,返回值為void的函數數組:void (*p[])();

            2、下列代碼輸出什么?
            int a = -5;
            unsigned int b = 1;
            b > a ? cout << b : cout << a ;
            輸出 -5 ,因為算術轉化把int提升為unsigned int。

            3、下列代碼輸出什么?
            int a = 1;
            int b = 2;
            int c = a+++b;
            cout << "a=" << a << " b=" << b << " c=" << c;
            a=2 b=2 c=3;
            優先級后置++ > 前置++ > + ;NC題,那個寫代碼的時候不會加個括號。

            4、實現下列運算
            1-2+3-4+5-6+7-8+9
            方法1:
            int sum = 0;
            for (int i=1; i<10; i++) {
                if (i % 2) {
                    sum += i;  
                } else {
                    sum -= i;
                }
            }
             
            方法2:
            int sum = 0;
            int flag = -1;
            for (int i=1; i<10; i++) {
                flag *= -1;
                sum += flag * i;
            }

            答題的時候寫了兩種,以為方法2的效率高,不過回來加大循環量后,發現方法1快些,兩次乘法比一次求余慢。

            5、memcpy是,目標內存與源內存有重疊是怎么copy?
            可以從后往前拷。

            未完待續


            posted @ 2011-04-24 20:06 長風 閱讀(481) | 評論 (2)編輯 收藏

            2010年8月29日

            vc 創建Dll

            DLL(Dynamic Linkable Library)可以看成一些可以直接拿來用的變量、函數或類的集合。在庫的發展史上經歷了“無庫-靜態鏈接庫-動態鏈接庫”的時代。

             

              靜態鏈接庫與動態鏈接庫都是共享代碼的方式,如果采用靜態鏈接庫,則無論你愿不愿意,lib中的指令都被直接包含在最終生成的EXE文件中了。但是若使用DLL,該DLL不必被包含在最終EXE文件中,EXE文件執行時可以“動態”地引用和卸載這個與EXE獨立的DLL文件。靜態鏈接庫和動態鏈接庫的另外一個區別在于靜態鏈接庫中不能再包含其他的動態鏈接庫或者靜態庫,而在動態鏈接庫中還可以再包含其他的動態或靜態鏈接庫。

              對動態鏈接庫,我們還需建立如下概念:

              (1DLL 的編制與具體的編程語言及編譯器無關

              只要遵循約定的DLL接口規范和調用方式,用各種語言編寫的DLL都可以相互調用。譬如Windows提供的系統DLL(其中包括了WindowsAPI),在任何開發環境中都能被調用,不在乎其是Visual Basic、Visual C++還是Delphi。

             

             ?。?span lang="EN-US">2)動態鏈接庫隨處可見

              我們在Windows目錄下的system32文件夾中會看到kernel32.dll、user32.dllgdi32.dll,windows的大多數API都包含在這些DLL中。kernel32.dll中的函數主要處理內存管理和進程調度;user32.dll中的函數主要控制用戶界面;gdi32.dll中的函數則負責圖形方面的操作。

             

              一般的程序員都用過類似MessageBox的函數,其實它就包含在user32.dll這個動態鏈接庫中。由此可見DLL對我們來說其實并不陌生。

             

              (3)VC動態鏈接庫的分類

              Visual C++支持三種DLL,它們分別是Non-MFC DLL(非MFC動態庫)、MFC Regular DLLMFC規則DLL)、MFC Extension DLLMFC擴展DLL)。

             

            MFC動態庫不采用MFC類庫結構,其導出函數為標準的C接口,能被非MFCMFC編寫的應用程序所調用;MFC規則DLL 包含一個繼承自CWinApp的類,但其無消息循環;MFC擴展DLL采用MFC的動態鏈接版本創建,它只能被用MFC類庫所編寫的應用程序所調用。

             

            . Non-MFC DLL的編寫步驟:

            1、新建項目-> win32項目->應用程序設置->應用程序類型: 選擇DLL,完成。

            2、添加變量、函數或類到庫中,例如:

            /* 文件名:xxx.h */
            #ifndef XXX_H
            #define XXX_H

             

            #ifndef LIB_EXPORTS

            #define LIB_API __declspec(dllimport)

            #else

            #define LIB_API __declspec(dllexport)

            #endif

             

            extern "C" int LIB_API max(int x, int y);
            #endif

            /* 文件名:xxx.cpp */

            #include "xxx.h"

            int add(int x, int y)

            {

             return x > y ? x y;

            }

                在動態庫的工程屬性->C/C++->預處理器->預處理器定義里,添LIB_EXPORTS。 編譯。

                3. 創建另外一個工程,來調用該庫

                調用DLL有兩種方式:

                (1)   顯式調用

            typedef int (*pDllFunc)(int , int);

             

            HINSTANCE hDll = LoadLibrary(_T("xxx.dll"));

            pDllFunc pMax = NULL;

            if (hDll) {

                    pMax = (pDllFunc)GetProcAddress(hDll, "max");

                    if (pMax) {

                        std::cout << pMax(21, 22) << std::endl;

            }

            }

             

            if (hDll) {

            FreeLibrary(hDll);

            }

             

                (2) 隱式調用

                首先,包含該庫的頭文件

                其次,鏈接動態庫,把保存庫的目錄添加到工程屬性->連接器->常規->附加庫目錄,在工程屬性->連接器->輸入->附加依賴項添加庫的lib文件名 或者在程序中用

            #pragma comment(lib, ".\\lib\\xxx.lib")添加(若已經添加庫的目錄,就不需要相當路徑,直接寫lib文件名“xxx.lib)

                然后就可以直接用變量,函數或者類了。

                注意:隱式調用和顯示調用的區別:

                隱式調用的方法比較方便,但DLL改變后,應用程序須從新編譯。并且,所有所調用的DLL在應用程序加載的同時被加載到內存中,當應用程序調用的DLL比較多時,裝入的過程十分慢。顯式調用則比較靈活,但比較麻煩.

                二 MFC Regular DLL 的編寫步驟:

                1、新建項目->MFC DLL->應用程序設置->選擇DLL類型,完成。

                注意:靜態鏈接MFC DLL和共享MFC DLL的區別:靜態鏈接把程序中要用的在MFC DLL里的東西全部編譯到創建的DLL中,體積會大一點,但可以在沒有裝MFC的機器上運行;通過共享創建的DLL體積小,但在沒有安裝MFC的機器上有可能不能運行,因為沒有相應的庫。

                2、其他步驟和創建Non-MFC DLL差不多。

                三 MFC擴展DLL

                這里有比較詳細的介紹http://tech.163.com/06/0316/10/2CB2S3HP0009159F.html

            posted @ 2010-08-29 10:12 長風 閱讀(1882) | 評論 (0)編輯 收藏

            2010年7月21日

            MFC改變控件顏色

            MFC應用程序中,要改變控件的背景色可通過重載OnCtlColor()函數來實現。方法是在該函數中設置所需顏色后再返回一個畫刷句柄便可 重繪控件背景色。OnCtlColor()函數對于控件背景色的處理是通過捕捉相應的控件消息來實現的。

            常用的此類消息有:  
            CTLCOLOR_DLG   對話框  
            CTLCOLOR_EDIT   編輯框
            CTLCOLOR_LISTBOX   列表框  
            CTLCOLOR_MSGBOX   消息框
            CTLCOLOR_SCROLLBAR   滑動條
            CTLCOLOR_STATIC   靜態文本框、矩形等。

            主要有三步:
            1. 聲明消息響應函數
            //{{AFX_MSG(CMyDialog)
            afx_msg   HBRUSH   OnCtlColor(CDC*   pDC,   CWnd*   pWnd,   UINT   nCtlColor);
            ……
            //}}AFX_MSG

            DECLARE_MESSAGE_MAP()  

            2. 實現消息響應函數
            以編輯框舉例:
            HBRUSH   CMyDialog::OnCtlColor(CDC*   pDC,   CWnd*   pWnd,   UINT   nCtlColor) 
            {
                HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
                CtlColor(pDC, pWnd, nCtlColor);
                if(nCtlColor == CTLCOLOR_EDIT && pWnd->GetDlgCtrlID() == IDC_EDIT1)
                {
                    pDC
            ->SetTextColor(RGB(0,0,255));
                    pDC
            ->SetBkColor(RGB(255,0,0));//設置文本背景色
                    pDC->SetBkMode(TRANSPARENT);//設置背景透明
                    hbr = ::CreateSolidBrush(RGB(255,0,0));
                }
                return hbr;
            }

            3. 添加消息映射
            BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
                ON_WM_CTLCOLOR()
            END_MESSAGE_MAP()

            注意:此方法不適用于按紐控件。

            posted @ 2010-07-21 16:49 長風 閱讀(3799) | 評論 (0)編輯 收藏

            2010年7月19日

            vc6 和 vs2005 combobox 下拉列表高度的區別

            vc6下拉列表的高度有三種方法更改:
            1. 在.RC界面先點擊下拉按鈕,然后拖動虛框,虛框即是下拉列表的大??;
            2. 在.rc文件里直接修改combobox的高度;
            3. 創建完combobox后,調用movewindow修改。

            vs2005和vc6略有不同:
            vc6的三種方法都可以使用,只不過設置的高度小于顯示30個item的高度時,會默認高度為30個item的高度。

            posted @ 2010-07-19 10:54 長風 閱讀(1168) | 評論 (0)編輯 收藏

            2010年7月14日

            vc6編譯問題

            公司的產品有兩個版本,一個用vs2005編譯,一個用vc6編譯。
            新增了個功能,用vs2005編譯后沒問題,用vc6編譯的就不好使。我的機器上沒有裝vc6,所以裝vc6調試。
            裝完后編譯出現以下問題:
            NOTE: WINVER has been defined as 0x0500 or greater which enables
            Windows NT 5.0 and Windows 98 features. When these headers were released,
            Windows NT 5.0 beta 1 and Windows 98 beta 2.1 were the current versions.
            For this release when WINVER is defined as 0x0500 or greater, you can only
            build beta or test applications. To build a retail application,
            set WINVER to 0x0400 or visit http://www.microsoft.com/msdn/sdk
            to see if retail Windows NT 5.0 or Windows 98 headers are available.
            See the SDK release notes for more information.
            一番google,原來是SDK沒有更新。
            然后更新SDK,給vc6打補丁。

            然后繼續編譯,出現頭文件找不到。添加環境變量,解決之。

            新添加的環境變量只對新建的進程有效,所以必須重啟vc6才好使。

            posted @ 2010-07-14 17:18 長風 閱讀(484) | 評論 (0)編輯 收藏

            僅列出標題  

            導航

            統計

            常用鏈接

            留言簿(2)

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            国内精品伊人久久久久妇| 亚洲天堂久久精品| 久久国产香蕉一区精品| 精品久久久久久无码专区| 国产69精品久久久久APP下载 | 国产精品久久永久免费| 精品久久久久久久国产潘金莲| 久久亚洲国产成人精品无码区| 久久99精品久久久久久秒播 | 亚洲级αV无码毛片久久精品 | 久久国产精品一区二区| 国产韩国精品一区二区三区久久| 久久久久久国产a免费观看黄色大片 | 亚洲一区中文字幕久久| 国产精品99久久久久久猫咪| 国产免费久久久久久无码| 亚洲精品高清久久| 日本精品一区二区久久久| 中文字幕无码久久久| 亚洲中文久久精品无码| 国产精品久久久久aaaa| 国产精品热久久毛片| 久久久久亚洲AV无码专区桃色 | 久久精品这里热有精品| 91久久精品国产91性色也| 三级片免费观看久久| 久久这里只精品99re66| 久久婷婷五月综合色高清| 国产精品狼人久久久久影院| 久久久精品国产| 91视频国产91久久久| 久久久精品国产Sm最大网站| 久久国产精品无| 99久久精品国产高清一区二区| 久久久久国产视频电影| 久久99精品久久久久婷婷| 欧美一级久久久久久久大| 国内精品久久久久影院日本| 亚洲国产综合久久天堂| 精品一区二区久久| 亚洲va久久久噜噜噜久久天堂 |