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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Camera 流程学习记录(五)—— Camera.takePicture() 流程解析

發布時間:2023/12/20 Android 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Camera 流程学习记录(五)—— Camera.takePicture() 流程解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.



簡介

  • 在前面的幾篇筆記中,我已經把 Camera 控制流的部分梳理得比較清楚了。在 Camera 流程中,還有一個重要的部分,即數據流。
  • Camera API 1 中,數據流主要是通過函數回調的方式,依照從下往上的方向,逐層 return 到 Applications 中。
  • 由于數據流的部分相對來說比較簡單,所以我就將其與 Camera 的控制流結合起來,從 takePicture() 方法切入,追蹤一個比較完整的 Camera 流程,這個系列的筆記到這篇也就可以結束了。



takePicture() flow



1. Open 流程

  • Camera Open 的流程,在之前的一篇筆記中已經比較詳細地描述了。
  • 在這里,再關注一下這個流程中,HAL 層的部分。

1.1 CameraHardwareInterface.h

  • 位置:frameworks/av/services/camera/libcameraservice/device1/CameraHardwareInterface.h
  • setCallback():
    • 設置 notify 回調,這用來通知數據已經更新。
    • 設置 data 回調以及 dataTimestamp 回調,對應的是函數指針 mDataCb 與 mDataCvTimestamp 。
    • 注意到,設置 mDevice->ops 對應回調函數時,傳入的不是之前設置的函數指針,而是 __data_cb 這樣的函數。在該文件中,實現了 __data_cb ,將回調函數做了一層封裝。
/** Set the notification and data callbacks */ void setCallbacks(notify_callback notify_cb,data_callback data_cb,data_callback_timestamp data_cb_timestamp,void* user) {mNotifyCb = notify_cb;mDataCb = data_cb;mDataCbTimestamp = data_cb_timestamp;mCbUser = user;ALOGV("%s(%s)", __FUNCTION__, mName.string());if (mDevice->ops->set_callbacks) {mDevice->ops->set_callbacks(mDevice,__notify_cb,__data_cb,__data_cb_timestamp,__get_memory,this);} }
  • __data_cb():
    • 對原 callback 函數簡單封裝,附加了一個防止數組越界判斷。
static void __data_cb(int32_t msg_type,const camera_memory_t *data, unsigned int index,camera_frame_metadata_t *metadata,void *user) {ALOGV("%s", __FUNCTION__);CameraHardwareInterface *__this =static_cast<CameraHardwareInterface *>(user);sp<CameraHeapMemory> mem(static_cast<CameraHeapMemory *>(data->handle));if (index >= mem->mNumBufs) {ALOGE("%s: invalid buffer index %d, max allowed is %d", __FUNCTION__,index, mem->mNumBufs);return;}__this->mDataCb(msg_type, mem->mBuffers[index], metadata, __this->mCbUser); }

2. 控制流


2.1 Framework

2.1.1 Camera.java

  • 位置:frameworks/base/core/java/android/hardware/Camera.java
  • takePicture():
    • 設置快門回調。
    • 設置各種類型的圖片數據回調。
    • 調用 JNI takePicture 方法。
    • 注意,傳入的參數 msgType 是根據相應 CallBack 是否存在而確定的,每種 Callback 應該對應一個二進制中的數位(如 1,10,100 中 1 的位置),于是這里采用 |= 操作給它賦值。
public final void takePicture(ShutterCallback shutter, PictureCallback raw,PictureCallback postview, PictureCallback jpeg) {mShutterCallback = shutter;mRawImageCallback = raw;mPostviewCallback = postview;mJpegCallback = jpeg;// If callback is not set, do not send me callbacks.int msgType = 0;if (mShutterCallback != null) {msgType |= CAMERA_MSG_SHUTTER;}if (mRawImageCallback != null) {msgType |= CAMERA_MSG_RAW_IMAGE;}if (mPostviewCallback != null) {msgType |= CAMERA_MSG_POSTVIEW_FRAME;}if (mJpegCallback != null) {msgType |= CAMERA_MSG_COMPRESSED_IMAGE;}native_takePicture(msgType);mFaceDetectionRunning = false; }

2.2 Android Runtime

2.2.1 android_hardware_Camera.cpp

  • 位置:frameworks/base/core/jni/android_hardware_Camera.cpp
    • takePicture():
    • 獲取已經打開的 camera 實例,調用其 takePicture() 接口。
    • 注意,在這個函數中,對于 RAW_IMAGE 有一些附加操作:
      • 如果設置了 RAW 的 callback ,則要檢查上下文中,是否能找到對應 Buffer。
      • 若無法找到 Buffer ,則將 CAMERA_MSG_RAW_IMAGE 的信息去掉,換成 CAMERA_MSG_RAW_IMAGE_NOTIFY。
      • 替換后,就只會獲得 notification 的消息,而沒有對應的圖像數據。
static void android_hardware_Camera_takePicture(JNIEnv *env, jobject thiz, jint msgType) {ALOGV("takePicture");JNICameraContext* context;sp<Camera> camera = get_native_camera(env, thiz, &context);if (camera == 0) return;/** When CAMERA_MSG_RAW_IMAGE is requested, if the raw image callback* buffer is available, CAMERA_MSG_RAW_IMAGE is enabled to get the* notification _and_ the data; otherwise, CAMERA_MSG_RAW_IMAGE_NOTIFY* is enabled to receive the callback notification but no data.** Note that CAMERA_MSG_RAW_IMAGE_NOTIFY is not exposed to the* Java application.*/if (msgType & CAMERA_MSG_RAW_IMAGE) {ALOGV("Enable raw image callback buffer");if (!context->isRawImageCallbackBufferAvailable()) {ALOGV("Enable raw image notification, since no callback buffer exists");msgType &= ~CAMERA_MSG_RAW_IMAGE;msgType |= CAMERA_MSG_RAW_IMAGE_NOTIFY;}}if (camera->takePicture(msgType) != NO_ERROR) {jniThrowRuntimeException(env, "takePicture failed");return;} }

2.3 C/C++ Libraries

2.3.1 Camera.cpp

  • 位置:frameworks/av/camera/Camera.cpp
  • takePicture():
    • 獲取一個 ICamera,調用其 takePicture 接口。
    • 這里直接用 return 的方式調用,比較簡單。
// take a picture status_t Camera::takePicture(int msgType) {ALOGV("takePicture: 0x%x", msgType);sp <::android::hardware::ICamera> c = mCamera;if (c == 0) return NO_INIT;return c->takePicture(msgType); }

2.3.2 ICamera.cpp

  • 位置:frameworks/av/camera/ICamera.cpp
  • takePicture():
    • 利用 Binder 機制發送相應指令到服務端。
    • 實際調用到的是 CameraClient::takePicture() 函數。
// take a picture - returns an IMemory (ref-counted mmap) status_t takePicture(int msgType) {ALOGV("takePicture: 0x%x", msgType);Parcel data, reply;data.writeInterfaceToken(ICamera::getInterfaceDescriptor());data.writeInt32(msgType);remote()->transact(TAKE_PICTURE, data, &reply);status_t ret = reply.readInt32();return ret; }

2.3.3 CameraClient.cpp

  • 位置:frameworks/av/services/camera/libcameraservice/api1/CameraClient.cpp
  • takePicture():
    • 注意,CAMERA_MSG_RAW_IMAGE 指令與 CAMERA_MSG_RAW_IMAGE_NOTIFY 指令不能同時有效,需要進行對應的檢查。
    • 對傳入的指令過濾,只留下與 takePicture() 操作相關的。
    • 調用 CameraHardwareInterface 中的 takePicture() 接口。
// take a picture - image is returned in callback status_t CameraClient::takePicture(int msgType) {LOG1("takePicture (pid %d): 0x%x", getCallingPid(), msgType);Mutex::Autolock lock(mLock);status_t result = checkPidAndHardware();if (result != NO_ERROR) return result;if ((msgType & CAMERA_MSG_RAW_IMAGE) &&(msgType & CAMERA_MSG_RAW_IMAGE_NOTIFY)) {ALOGE("CAMERA_MSG_RAW_IMAGE and CAMERA_MSG_RAW_IMAGE_NOTIFY"" cannot be both enabled");return BAD_VALUE;}// We only accept picture related message types// and ignore other types of messages for takePicture().int picMsgType = msgType& (CAMERA_MSG_SHUTTER |CAMERA_MSG_POSTVIEW_FRAME |CAMERA_MSG_RAW_IMAGE |CAMERA_MSG_RAW_IMAGE_NOTIFY |CAMERA_MSG_COMPRESSED_IMAGE);enableMsgType(picMsgType);return mHardware->takePicture(); }

2.4 HAL

2.4.1 CameraHardwareInterface.h

  • 位置:frameworks/av/services/camera/libcameraservice/device1/CameraHardwareInterface.h
  • takePicture():
    • 通過 mDevice 中設置的函數指針,調用 HAL 層中具體平臺對應的 takePicture 操作的實現邏輯。
    • 接下來就是與具體的平臺相關的流程了,這部分內容對我并非主要,而且在上一篇筆記中已經有比較深入的探索,所以在這里就不繼續向下挖掘了。
    • 控制流程到了 HAL 層后,再向 Linux Drivers 發送控制指令,從而使具體的 Camera 設備執行指令,并獲取數據。
/*** Take a picture.*/ status_t takePicture() {ALOGV("%s(%s)", __FUNCTION__, mName.string());if (mDevice->ops->take_picture)return mDevice->ops->take_picture(mDevice);return INVALID_OPERATION; }

3. 數據流

  • 由于數據流是通過 callback 函數實現的,所以探究其流程的時候我是從底層向上層進行分析的。

3.1 HAL

3.1.1 CameraHardwareInterface.h

  • 位置:frameworks/av/services/camera/libcameraservice/device1/CameraHardwareInterface.h
  • 這里我們只選擇 dataCallback 相關流程進行分析。
  • __data_cb():
    • 該回調函數是在同文件中實現的 setCallbacks() 函數中設置的。
    • Camera 設備獲得數據后,就會往上傳輸,在 HAL 層中會調用到這個回調函數。
    • 通過函數指針 mDataCb 調用從上一層傳入的回調,從而將數據上傳。
    • 這個 mDataCb 指針對應的,是 CameraClient 類中實現的 dataCallback()。
static void __data_cb(int32_t msg_type,const camera_memory_t *data, unsigned int index,camera_frame_metadata_t *metadata,void *user) {ALOGV("%s", __FUNCTION__);CameraHardwareInterface *__this =static_cast<CameraHardwareInterface *>(user);sp<CameraHeapMemory> mem(static_cast<CameraHeapMemory *>(data->handle));if (index >= mem->mNumBufs) {ALOGE("%s: invalid buffer index %d, max allowed is %d", __FUNCTION__,index, mem->mNumBufs);return;}__this->mDataCb(msg_type, mem->mBuffers[index], metadata, __this->mCbUser); }

3.2 C/C++ Libraries

3.2.1 CameraClient.cpp

  • 位置:frameworks/av/services/camera/libcameraservice/api1/CameraClient.cpp
  • dataCallback():
    • 這個回調在該文件實現的 initialize() 函數中設置到 CameraHardwareInterface 中。
    • 啟動這個回調后,就從 Cookie 中獲取已連接的客戶端。
    • 根據 msgType,啟動對應的 handle 操作。
    • 選擇其中一個分支的 handle 函數來看。
void CameraClient::dataCallback(int32_t msgType,const sp<IMemory>& dataPtr, camera_frame_metadata_t *metadata, void* user) {LOG2("dataCallback(%d)", msgType);sp<CameraClient> client = static_cast<CameraClient*>(getClientFromCookie(user).get());if (client.get() == nullptr) return;if (!client->lockIfMessageWanted(msgType)) return;if (dataPtr == 0 && metadata == NULL) {ALOGE("Null data returned in data callback");client->handleGenericNotify(CAMERA_MSG_ERROR, UNKNOWN_ERROR, 0);return;}switch (msgType & ~CAMERA_MSG_PREVIEW_METADATA) {case CAMERA_MSG_PREVIEW_FRAME:client->handlePreviewData(msgType, dataPtr, metadata);break;case CAMERA_MSG_POSTVIEW_FRAME:client->handlePostview(dataPtr);break;case CAMERA_MSG_RAW_IMAGE:client->handleRawPicture(dataPtr);break;case CAMERA_MSG_COMPRESSED_IMAGE:client->handleCompressedPicture(dataPtr);break;default:client->handleGenericData(msgType, dataPtr, metadata);break;} }
  • handleRawPicture():
    • 在 open 流程中,connect() 函數調用時,mRemoteCallback 已經設置為一個客戶端實例,其對應的是 ICameraClient 的強指針。
    • 通過這個實例,這里基于 Binder 機制來啟動客戶端的 dataCallback。
    • 客戶端的 dataCallback 是實現在 Camera 類中。
// picture callback - raw image ready void CameraClient::handleRawPicture(const sp<IMemory>& mem) {disableMsgType(CAMERA_MSG_RAW_IMAGE);ssize_t offset;size_t size;sp<IMemoryHeap> heap = mem->getMemory(&offset, &size);sp<hardware::ICameraClient> c = mRemoteCallback;mLock.unlock();if (c != 0) {c->dataCallback(CAMERA_MSG_RAW_IMAGE, mem, NULL);} }

3.2.2 Camera.cpp

  • 位置:frameworks/av/camera/Camera.cpp
  • dataCallback():
    • 調用 CameraListener 的 postData 接口,將數據繼續向上傳輸。
    • postData 接口的實現是在 android_hardware_Camera.cpp 中。
// callback from camera service when frame or image is ready void Camera::dataCallback(int32_t msgType, const sp<IMemory>& dataPtr,camera_frame_metadata_t *metadata) {sp<CameraListener> listener;{Mutex::Autolock _l(mLock);listener = mListener;}if (listener != NULL) {listener->postData(msgType, dataPtr, metadata);} }

3.3 Android Runtime

3.3.1 android_hardware_Camera.cpp

  • 位置:frameworks/base/core/jni/android_hardware_Camera.cpp
  • postData():
    • 是 JNICameraContext 類的成員函數,該類繼承了 CameraListener。
    • 首先獲取虛擬機指針。
    • 然后過濾掉 CAMERA_MSG_PREVIEW_METADATA 信息。
    • 進入分支處理。
    • 對于數據傳輸路徑,關鍵是在于 copyAndPost() 函數。
void JNICameraContext::postData(int32_t msgType, const sp<IMemory>& dataPtr,camera_frame_metadata_t *metadata) {// VM pointer will be NULL if object is releasedMutex::Autolock _l(mLock);JNIEnv *env = AndroidRuntime::getJNIEnv();if (mCameraJObjectWeak == NULL) {ALOGW("callback on dead camera object");return;}int32_t dataMsgType = msgType & ~CAMERA_MSG_PREVIEW_METADATA;// return data based on callback typeswitch (dataMsgType) {case CAMERA_MSG_VIDEO_FRAME:// should never happenbreak;// For backward-compatibility purpose, if there is no callback// buffer for raw image, the callback returns null.case CAMERA_MSG_RAW_IMAGE:ALOGV("rawCallback");if (mRawImageCallbackBuffers.isEmpty()) {env->CallStaticVoidMethod(mCameraJClass, fields.post_event,mCameraJObjectWeak, dataMsgType, 0, 0, NULL);} else {copyAndPost(env, dataPtr, dataMsgType);}break;// There is no data.case 0:break;default:ALOGV("dataCallback(%d, %p)", dataMsgType, dataPtr.get());copyAndPost(env, dataPtr, dataMsgType);break;}// post frame metadata to Javaif (metadata && (msgType & CAMERA_MSG_PREVIEW_METADATA)) {postMetadata(env, CAMERA_MSG_PREVIEW_METADATA, metadata);} }
  • copyAndPost():
    • 首先確認 Memory 中數據是否存在。
    • 申請 Java 字節數組(jbyteArray, jbyte*),并將 Memory 數據賦予到其中。
    • 重點是這個函數:
      • env->CallStaticVoidMethod(mCameraJClass, fields.post_event, mCameraJObjectWeak, msgType, 0, 0, obj);
      • 它的功能是將圖像傳給 Java 端。
      • 通過字段 post_event,在 c++ 中調用 Java 的方法,并傳入對應的參數。
      • 最終調用到 Java 端的 postEventFromNative() 方法。
void JNICameraContext::copyAndPost(JNIEnv* env, const sp<IMemory>& dataPtr, int msgType) {jbyteArray obj = NULL;// allocate Java byte array and copy dataif (dataPtr != NULL) {ssize_t offset;size_t size;sp<IMemoryHeap> heap = dataPtr->getMemory(&offset, &size);ALOGV("copyAndPost: off=%zd, size=%zu", offset, size);uint8_t *heapBase = (uint8_t*)heap->base();if (heapBase != NULL) {const jbyte* data = reinterpret_cast<const jbyte*>(heapBase + offset);if (msgType == CAMERA_MSG_RAW_IMAGE) {obj = getCallbackBuffer(env, &mRawImageCallbackBuffers, size);} else if (msgType == CAMERA_MSG_PREVIEW_FRAME && mManualBufferMode) {obj = getCallbackBuffer(env, &mCallbackBuffers, size);if (mCallbackBuffers.isEmpty()) {ALOGV("Out of buffers, clearing callback!");mCamera->setPreviewCallbackFlags(CAMERA_FRAME_CALLBACK_FLAG_NOOP);mManualCameraCallbackSet = false;if (obj == NULL) {return;}}} else {ALOGV("Allocating callback buffer");obj = env->NewByteArray(size);}if (obj == NULL) {ALOGE("Couldn't allocate byte array for JPEG data");env->ExceptionClear();} else {env->SetByteArrayRegion(obj, 0, size, data);}} else {ALOGE("image heap is NULL");}}// post image data to Javaenv->CallStaticVoidMethod(mCameraJClass, fields.post_event,mCameraJObjectWeak, msgType, 0, 0, obj);if (obj) {env->DeleteLocalRef(obj);} }

3.4 Framework

3.4.1 Camera.java

  • 位置:frameworks/base/core/java/android/hardware/Camera.java
  • 以下兩個方法都是 EventHandler 的成員,這個類繼承了 Handler 類。
  • postEventFromNative():
    • 首先確定 Camera 是否已經實例化。
    • 確認后,通過 Camera 的成員 mEventHandler 的 obtainMessage 方法將從 Native 環境中獲得的數據封裝成 Message 類的一個實例,然后調用 sendMessage() 方法將數據傳出。
private static void postEventFromNative(Object camera_ref,int what, int arg1, int arg2, Object obj) {Camera c = (Camera)((WeakReference)camera_ref).get();if (c == null)return;if (c.mEventHandler != null) {Message m = c.mEventHandler.obtainMessage(what, arg1, arg2, obj);c.mEventHandler.sendMessage(m);} }
  • handleMessage():
    • sendMessage() 方法傳出的數據會通過這個方法作出處理,從而發送到對應的回調類中。
    • 注意到幾個不同的回調類(mRawImageCallback、mJpegCallback 等)中都有 onPictureTaken() 方法,通過調用這個方法,底層傳輸到此的數據最終發送到最上層的 Java 應用中,上層應用通過解析 Message 就可以得到拍到的圖像,從而得以進行后續的操作。
    • 我所分析的數據流的流程到此就可以結束了。
@Override public void handleMessage(Message msg) {switch(msg.what) {case CAMERA_MSG_SHUTTER:if (mShutterCallback != null) {mShutterCallback.onShutter();}return;case CAMERA_MSG_RAW_IMAGE:if (mRawImageCallback != null) {mRawImageCallback.onPictureTaken((byte[])msg.obj, mCamera);}return;case CAMERA_MSG_COMPRESSED_IMAGE:if (mJpegCallback != null) {mJpegCallback.onPictureTaken((byte[])msg.obj, mCamera);}return;case CAMERA_MSG_PREVIEW_FRAME:PreviewCallback pCb = mPreviewCallback;if (pCb != null) {if (mOneShot) {// Clear the callback variable before the callback// in case the app calls setPreviewCallback from// the callback functionmPreviewCallback = null;} else if (!mWithBuffer) {// We're faking the camera preview mode to prevent// the app from being flooded with preview frames.// Set to oneshot mode again.setHasPreviewCallback(true, false);}pCb.onPreviewFrame((byte[])msg.obj, mCamera);}return;case CAMERA_MSG_POSTVIEW_FRAME:if (mPostviewCallback != null) {mPostviewCallback.onPictureTaken((byte[])msg.obj, mCamera);}return;case CAMERA_MSG_FOCUS:AutoFocusCallback cb = null;synchronized (mAutoFocusCallbackLock) {cb = mAutoFocusCallback;}if (cb != null) {boolean success = msg.arg1 == 0 ? false : true;cb.onAutoFocus(success, mCamera);}return;case CAMERA_MSG_ZOOM:if (mZoomListener != null) {mZoomListener.onZoomChange(msg.arg1, msg.arg2 != 0, mCamera);}return;case CAMERA_MSG_PREVIEW_METADATA:if (mFaceListener != null) {mFaceListener.onFaceDetection((Face[])msg.obj, mCamera);}return;case CAMERA_MSG_ERROR :Log.e(TAG, "Error " + msg.arg1);if (mErrorCallback != null) {mErrorCallback.onError(msg.arg1, mCamera);}return;case CAMERA_MSG_FOCUS_MOVE:if (mAutoFocusMoveCallback != null) {mAutoFocusMoveCallback.onAutoFocusMoving(msg.arg1 == 0 ? false : true, mCamera);}return;default:Log.e(TAG, "Unknown message type " + msg.what);return;} }


流程簡圖




小結

  • 在這篇筆記中,我們從 Camera.takePicture() 方法著手,聯系之前學習的 Open 流程,將整個 Camera 流程簡單地追蹤了一遍。
  • 不管是控制流還是數據流,都是要通過五大層次依次執行下一步的。控制流是將命令從頂層流向底層,而數據流則是將底層的數據流向頂層。
  • 如果要自定義一個對數據進行處理的 C++ 功能庫,并將其加入相機中,我們可以通過對 HAL 層進行一些修改,將 RAW 圖像流向我們的處理過程,再將處理后的 RAW 圖像傳回 HAL 層(需要在 HAL 層對 RAW 格式進行一些處理才能把圖像上傳),最后通過正常的回調流程把圖像傳到頂層應用中,就可以實現我們的自定義功能了。
  • 至此,對于整個 Camera 的框架,及其運作方式,我們就已經有了比較清晰的了解了。

  • 在 Android 5.0 版本后,Camera 推出了 Camera API 2,它有著全新的流程(但總體架構是不會有大變化的)。接下來我會找空余的時間去學習學習這個新的東西,到時候再另開一系列的學習筆記吧。

轉載于:https://www.cnblogs.com/stonedemo/p/7533634.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Android Camera 流程学习记录(五)—— Camera.takePicture() 流程解析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

在线韩国电影免费观影完整版 | 激情开心站 | 成人一级影视 | 日韩精品在线观看视频 | 国产在线中文 | 日韩欧美在线高清 | 久久狠狠亚洲综合 | 亚洲精品66 | 久久综合九色综合久久久精品综合 | 日韩视频免费观看高清完整版在线 | 天天干天天操天天射 | 国产精品一区二区美女视频免费看 | 色资源网在线观看 | 精品国产欧美一区二区三区不卡 | 欧美日韩高清一区二区三区 | 国产a级片免费观看 | 国产精品毛片网 | 久久精品视频国产 | 国产 中文 日韩 欧美 | 一级黄色电影网站 | 国产精品资源在线观看 | 久久在线免费观看视频 | 亚洲精品在线免费播放 | 国产999精品久久久影片官网 | 精品国产一二三四区 | 91成人免费电影 | 中文字幕在线看片 | 国产精品永久在线观看 | 久久国语露脸国产精品电影 | 久久久精品久久 | 亚洲成人av在线播放 | 国产99亚洲| 色爱区综合激月婷婷 | 天天射天天艹 | 成人禁用看黄a在线 | www.久久久精品 | 99电影456麻豆 | 国产在线播放观看 | 免费视频二区 | 国产一区二区三区高清播放 | 高清免费av在线 | 国内视频 | 极品嫩模被强到高潮呻吟91 | 欧美999| 91在线精品秘密一区二区 | 国产欧美日韩精品一区二区免费 | 99精品视频在线观看免费 | 欧美日韩精品二区第二页 | 玖玖视频 | 天天操伊人 | 国产精品免费不卡 | 日韩在线中文字幕 | 在线观看岛国 | 免费观看91视频 | 国产免费观看久久黄 | 久久久受www免费人成 | 中文 一区二区 | 91在线产啪 | 青青啪 | 特级毛片在线免费观看 | 天天爱av导航 | 91最新在线观看 | 91亚洲精品久久久蜜桃 | 久久久久免费观看 | 国产小视频在线免费观看视频 | 在线不卡视频 | 久久激情综合网 | 久久久久激情视频 | 久久人人爽人人片av | 日韩在线网址 | 91久久国产综合精品女同国语 | 9在线观看免费高清完整版在线观看明 | 国语久久 | 成人性生交大片免费观看网站 | 欧美一区免费在线观看 | 91视频国产高清 | 亚洲一区二区高潮无套美女 | 在线观看中文字幕2021 | 国产不卡免费视频 | 久久免费国产 | 亚洲 中文 在线 精品 | 日韩精品一区二区不卡 | 91精品久久久久久 | 国产专区在线播放 | 27xxoo无遮挡动态视频 | 亚洲一级片在线观看 | 亚洲 欧洲 国产 日本 综合 | 日韩精品高清不卡 | 亚洲国产精品一区二区久久hs | 国产伦理一区二区 | 天天摸天天干天天操天天射 | 午夜精品一区二区三区在线视频 | 色婷婷免费视频 | 91av视频观看 | 亚洲成人av电影 | 亚洲最新在线 | 成人在线免费视频观看 | 91九色视频在线 | 国产va在线 | 久久五月精品 | 香蕉在线播放 | 三级在线播放视频 | 日本在线观看中文字幕 | 九九热在线观看视频 | 免费看十八岁美女 | 国产精品一区二区三区在线看 | 久久综合影音 | 狠狠干,狠狠操 | 国产精品久久久 | 国产成人一区二区精品非洲 | 在线免费观看羞羞视频 | 亚洲日本在线视频观看 | 亚洲高清av| 中文字幕人成不卡一区 | 91精品国自产在线观看 | www.com在线观看 | 人人爽人人乐 | 欧美特一级 | 在线中文字母电影观看 | 久久午夜羞羞影院 | 国产精品久久久久久久久久99 | 国产伦精品一区二区三区在线 | 欧美日性视频 | 午夜精品视频福利 | 国产黄色片免费在线观看 | 韩国av在线播放 | 99免费视频 | 91香蕉视频黄 | 欧美日韩视频免费 | 国产91精品欧美 | 中文字幕第| 色激情在线 | 国产又黄又硬又爽 | 欧美午夜精品久久久久 | 97av在线| 欧美成人视 | 久久人人爽爽人人爽人人片av | 伊人五月| 欧美国产日韩激情 | 激情五月五月婷婷 | 免费在线观看国产精品 | 久久久久久久99精品免费观看 | www夜夜 | 国产一区二区网址 | 中文字幕一区二区三区久久蜜桃 | 国产日韩视频在线观看 | 亚洲精品视频免费在线观看 | 欧美另类巨大 | 日本久久久久 | 97偷拍视频 | av电影在线不卡 | 久久久九色精品国产一区二区三区 | 免费观看成人网 | 国产精品久久久久久久久久久久久久 | 久久精品美女视频 | 成人禁用看黄a在线 | 精品福利视频在线 | 亚洲精品456在线播放 | 亚洲黄色成人 | www.99av| 美女黄视频免费 | 免费av小说| 国产人成看黄久久久久久久久 | 欧美精品亚州精品 | 正在播放日韩 | 国产欧美综合在线观看 | 免费a现在观看 | 欧美一区二区精品在线 | 日本久久中文字幕 | 亚洲另类交 | 国产精品视频观看 | 日韩免费观看一区二区三区 | 美女免费黄网站 | 久久免费视频一区 | 高潮久久久久久 | 99久久精品国产欧美主题曲 | 天天爱天天爽 | 欧美一级性生活片 | 国产精品美女在线观看 | 国内精品久久久久久久97牛牛 | 午夜视频黄 | 精品国产乱子伦一区二区 | 男女啪啪视屏 | 成人在线视频论坛 | 在线观看免费色 | 免费视频一区二区 | 国产精品美女久久久久久久网站 | 黄色亚洲片 | 网站在线观看日韩 | 亚洲欧美日韩精品久久久 | 人人澡人人干 | 日韩精品中文字幕av | 深夜激情影院 | 91精品视频导航 | 久久av中文字幕片 | 波多野结依在线观看 | 亚洲视频在线看 | 97日日碰人人模人人澡分享吧 | 国产码电影 | 十八岁以下禁止观看的1000个网站 | 久久国产色 | 五月婷婷在线视频观看 | 久久婷婷色 | 欧美孕妇视频 | 黄色亚洲大片免费在线观看 | 91在线视频| 国产精品成人aaaaa网站 | 00av视频 | 国产精彩在线视频 | 日韩免费观看一区二区 | www.久久久| 免费观看v片在线观看 | 欧美一区在线观看视频 | 精品欧美日韩 | 超碰人人草 | 狠狠的操你 | 日本精品视频一区 | 天堂av中文字幕 | 国产亚洲欧美日韩高清 | 精品久久九九 | 国产欧美精品一区二区三区 | 国产日韩欧美在线免费观看 | 午夜精品福利在线 | 99精品视频免费 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 日韩av免费大片 | 国产精品尤物视频 | 毛片www| 婷婷精品进入 | 久久久精品福利视频 | 久久a国产 | 亚洲欧美日韩中文在线 | 蜜臀av性久久久久av蜜臀妖精 | 五月婷婷综合久久 | 日韩精品一区二区三区水蜜桃 | 欧美成人xxxxx | 欧美成人基地 | 国产精品高清一区二区三区 | 中文字幕在线观看免费 | 日韩视频一区二区三区在线播放免费观看 | 日韩高清网站 | 亚洲午夜av久久乱码 | 国产成年免费视频 | 黄色的网站免费看 | 国产精品一区二区免费 | 国产福利网站 | a级片久久| 欧美视频在线观看免费网址 | 成 人 a v天堂 | 九七视频在线观看 | 日韩试看| 国产视频在线观看一区二区 | 麻豆手机在线 | 精品国产综合区久久久久久 | 亚洲综合狠狠干 | 久久久亚洲电影 | 蜜臀久久99精品久久久久久网站 | 国产精品成人在线 | 国产精品麻豆三级一区视频 | 美女视频久久黄 | 国产中文字幕视频在线观看 | av大全在线免费观看 | 国产精品精品久久久 | 黄色免费网战 | 精品国产视频在线 | 婷婷成人亚洲综合国产xv88 | 日韩精品免费在线视频 | 国产成人精品综合久久久 | 又大又硬又黄又爽视频在线观看 | 国产精品 美女 | 亚洲成人av在线播放 | 亚洲三级黄 | 91观看视频 | 97色免费视频 | 日日夜夜精品视频天天综合网 | 99久久这里有精品 | 在线中文字幕视频 | 奇米网网址 | 亚洲国产精品久久久久 | 天天操天天射天天 | 欧美日韩久久一区 | 国产成人精品av在线 | 天天干夜夜操视频 | 久久草精品 | 超碰97免费| 久久国产精品区 | 四虎免费在线观看 | 国产免费又黄又爽 | 亚洲成av人片在线观看www | 九七人人干 | 欧美狠狠操 | 午夜美女福利直播 | 天天天天天天天操 | 亚洲欧美日韩国产 | 日韩天堂在线观看 | 免费成人黄色av | 美女久久99 | 韩国精品福利一区二区三区 | 一区在线观看 | 毛片网在线播放 | 网址你懂的在线观看 | 免费十分钟 | 久久黄色影视 | 天操夜夜操 | av久久久久久 | 在线观看日本韩国电影 | 日韩成人在线免费观看 | 91超碰免费在线 | 欧美性生爱 | 麻豆影视在线播放 | 亚洲欧美成人综合 | 欧美另类美少妇69xxxx | 成人性生交大片免费看中文网站 | 亚洲精品欧美精品 | 成人国产精品久久久 | 日产乱码一二三区别免费 | 深爱婷婷网 | 日韩在线观看视频中文字幕 | 成x99人av在线www | 欧美在线1区| 国产精品专区h在线观看 | 92国产精品久久久久首页 | www久久精品 | 国产在线看一区 | 最近中文字幕mv | 天天艹 | 天天操操操操操 | 欧美极品一区二区三区 | 日韩欧美高清视频在线观看 | 韩国av一区二区三区 | 麻豆系列在线观看 | 欧美日韩免费视频 | 国产91免费在线观看 | 日本成址在线观看 | av在线播放网址 | 久久影院精品 | 在线视频1卡二卡三卡 | 亚洲一区网 | 97在线视 | 99精品免费久久久久久久久 | 欧美日韩二区在线 | 丁香花在线观看免费完整版视频 | 91中文字幕网 | 国产精品久久久久久一二三四五 | 久草免费在线观看视频 | 久久视频免费在线观看 | 欧美调教网站 | 久久久免费观看 | 97在线精品国自产拍中文 | 亚洲天堂色婷婷 | 精品国产1区二区 | 成人性生爱a∨ | 欧美激情亚洲综合 | 成人国产精品一区 | 国产在线不卡 | 国产呻吟在线 | 久久亚洲电影 | 国产精品久久久久久久久久免费看 | 日韩av在线不卡 | 午夜精品一区二区三区在线 | 日韩欧美综合视频 | 97香蕉视频 | 欧美精品在线观看免费 | 日韩视频区 | 久草精品免费 | 久久国产精品一二三区 | 操操操天天操 | 国产一级二级三级视频 | 在线播放你懂 | 国产精品视频免费看 | 欧美精品第一 | 国产日韩精品一区二区三区 | 97色噜噜 | 亚洲免费色 | 美女免费黄视频网站 | 国产视频中文字幕在线观看 | 免费手机黄色网址 | 久久成人国产精品 | 在线日本看片免费人成视久网 | 激情五月在线视频 | 狠狠激情中文字幕 | 久久视频网 | 日韩精品五月天 | 九九免费在线看完整版 | 久久精品www人人爽人人 | 91九色在线 | 激情久久五月 | 开心激情综合网 | 成人久久18免费 | 国产成人91 | 在线三级中文 | 免费电影一区二区三区 | 国产精品精品国产婷婷这里av | 91精品婷婷国产综合久久蝌蚪 | 欧美日本高清视频 | 最近日韩免费视频 | 91在线免费观看网站 | 97超碰超碰久久福利超碰 | 国产韩国精品一区二区三区 | 亚洲天堂网视频在线观看 | 日本精品视频网站 | 国产福利av在线 | 久久久99精品免费观看app | 欧美久久久久久久久久 | 日韩中文字幕一区 | 久久天天躁狠狠躁夜夜不卡公司 | 少妇bbb搡bbbb搡bbbb | 97视频在线看 | www.91国产| av网址aaa| 国产亚洲精品久久久久久电影 | 2022中文字幕在线观看 | 久久99精品久久久久久 | 精壮的侍卫呻吟h | 在线播放一区二区三区 | 午夜视频99 | 天天色天天干天天色 | 99国产精品免费网站 | 久精品视频在线 | www.成人久久 | 视频在线观看入口黄最新永久免费国产 | 国产一区二区手机在线观看 | 国产伦精品一区二区三区四区视频 | 麻豆高清免费国产一区 | 黄色小说在线免费观看 | 婷婷丁香狠狠爱 | 国产精品久久精品 | 天天干夜夜夜操天 | 亚洲精品乱码久久久久久蜜桃91 | 欧美在线视频一区二区三区 | 国产明星视频三级a三级点| av电影不卡在线 | 免费观看av网站 | 91麻豆产精品久久久久久 | 天天操夜夜叫 | 91九色视频观看 | 一区二区视频电影在线观看 | 精品视频 | 欧美日韩亚洲第一 | 久久色亚洲 | 久久久久久久久久免费 | 99精品久久久 | 欧美日韩国产一区二区三区 | 国产精品欧美久久久久天天影视 | 久久草草热国产精品直播 | 天天操天天干天天插 | 国产精品成人国产乱 | 99视频国产精品免费观看 | 欧美亚洲精品在线观看 | 99视频在线看 | 国产一区二区久久精品 | 国产无遮挡又黄又爽馒头漫画 | 婷婷视频导航 | 美女久久一区 | 狠狠操狠狠干2017 | 色哟哟国产精品 | 国产视频一区在线免费观看 | 国产精品欧美一区二区三区不卡 | 成人综合婷婷国产精品久久免费 | 成人午夜影视 | 国产成人一区二区三区久久精品 | 91在线精品一区二区 | 日韩一区二区三区高清在线观看 | 日韩va在线观看 | 国产福利一区二区三区视频 | 麻豆免费看片 | 久久情爱 | 视频精品一区二区三区 | 美女黄频在线观看 | 91成人免费观看视频 | 久久影院午夜论 | 成人av电影在线播放 | 久久婷婷一区二区三区 | 国产美女精品久久久 | 99久久这里有精品 | 日韩二级毛片 | 天天天综合 | 激情图片区 | 国产一级淫片在线观看 | 99精品视频播放 | 亚洲国产中文字幕 | 亚洲精品国产精品国自产观看 | 久久婷婷亚洲 | 国产精品视频永久免费播放 | 久久在线一区 | 四虎海外影库www4hu | 免费在线| 久久免费播放视频 | 亚洲精品乱码久久久久久高潮 | 99免费看片 | 六月丁香激情综合 | 精品在线观看一区二区三区 | 91视频91蝌蚪 | 99久久精品国产网站 | 欧美在线1区| 欧美91精品国产自产 | 91最新网址 | 日韩综合视频在线观看 | 九九九热精品免费视频观看网站 | 超碰在线观看99 | 免费三级大片 | 99久久99久久精品免费 | 麻豆视传媒官网免费观看 | 人人网人人爽 | 99精品区| 亚洲精品久久久久999中文字幕 | 国产精品久久久久久久久久久久午 | 日韩一区二区免费在线观看 | 激情开心 | 久草视频在线观 | 天天干,天天射,天天操,天天摸 | 97看片吧| 国产精品美女视频网站 | 亚洲精品99 | 精品在线视频一区 | www.成人久久 | 亚洲一二区视频 | 麻花豆传媒mv在线观看网站 | aaa日本高清在线播放免费观看 | 丁香六月五月婷婷 | 中文字幕在线观看第三页 | 97超碰免费在线 | 亚洲理论在线 | 午夜10000 | 午夜精品久久一牛影视 | 99精品国产在热久久下载 | 青青草国产免费 | 日日操天天操狠狠操 | 九色精品免费永久在线 | 国产一区私人高清影院 | 久久久久久久久久福利 | 国产一级片一区二区三区 | 久草免费在线视频观看 | 久草男人天堂 | 91视频链接 | 国产999精品久久久 免费a网站 | 国产一级在线观看 | 最新国产精品久久精品 | 日韩女同av| 久久av观看| 99国产高清 | 操久| 亚洲精品一区二区三区新线路 | freejavvideo日本免费 | 久久久久久欧美二区电影网 | 久久久久久久精 | 草久视频在线观看 | 日韩中文字幕国产 | 日韩精品欧美视频 | 97超碰在线视 | 就操操久久 | 人人擦 | 丁香婷婷激情五月 | 五月色综合 | 日本精品中文字幕在线观看 | 在线观看亚洲国产 | 中文字幕日韩电影 | 中文字幕亚洲精品日韩 | av成人亚洲 | 最新99热 | 日批视频在线播放 | 国产成人在线网站 | 99久久婷婷| 色综合中文综合网 | 91av视频| 亚洲一级片在线观看 | 中文一区二区三区在线观看 | 国产精品网红直播 | 国产精品日韩欧美一区二区 | 亚洲一本视频 | 亚洲在线黄色 | 在线观看视频99 | 丰满少妇一级 | 亚洲不卡123 | 亚洲jizzjizz日本少妇 | 欧美污污视频 | 天天操导航 | 黄色软件视频网站 | 国内视频1区 | 天天射网站| 亚洲永久国产精品 | 狠狠躁日日躁狂躁夜夜躁 | 久久精品第一页 | 国产精品毛片一区二区 | 香蕉影院在线 | 激情视频国产 | 蜜臀av性久久久久蜜臀av | 日本大尺码专区mv | 久久99操| 九九热在线视频 | 美女视频黄是免费的 | 最近中文字幕 | 日韩免费一级电影 | 色综久久| 国产成人免费 | 99久久精品免费看国产四区 | 色婷婷电影| 国产精品麻豆视频 | 中文成人字幕 | 日韩在线不卡av | 欧美 另类 交 | 男女啪啪网站 | 久久久精品日本 | 免费av黄色 | 国产精品乱码一区二三区 | 2018亚洲男人天堂 | 91激情小视频 | a资源在线| 狠狠色综合网站久久久久久久 | 亚欧日韩av| 五月天激情综合 | 中文字幕日韩高清 | 色a网 | 黄色软件在线观看视频 | 免费看国产视频 | 在线观看亚洲专区 | 国产精品日韩 | 日韩特级毛片 | 婷婷国产在线 | 亚洲激色| 一区二区三区电影大全 | 国产999精品 | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲日本欧美 | www.一区二区三区 | 欧美中文字幕第一页 | 久久国产精品免费视频 | 一本之道乱码区 | 欧美精品在线观看 | 久久精品美女视频网站 | 草久在线视频 | 91精选| 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 国产xxxx性hd极品 | 日日操日日干 | 五月婷婷色播 | 亚洲综合五月天 | 中文在线免费视频 | 欧美天天综合 | 九色porny真实丨国产18 | 成人三级黄色 | 色婷婷六月天 | 香蕉视频在线免费 | japanesexxxhd奶水 91在线精品一区二区 | 免费美女久久99 | 国产成人专区 | 国产精品理论片在线播放 | 97超碰在线久草超碰在线观看 | 一级黄色视屏 | 国产午夜一级毛片 | 一区三区视频 | 亚洲人成精品久久久久 | 一区二区三区在线免费观看视频 | 国产色女 | www.久艹| 波多野结衣一区 | 日韩在线播放欧美字幕 | 在线电影日韩 | 国产精品中文字幕在线播放 | 日韩精品中字 | 九九免费观看全部免费视频 | 色综合咪咪久久网 | 三级黄色三级 | 欧美福利视频一区 | 亚洲春色成人 | 久久午夜网 | 91禁在线看| 亚洲免费色 | 久久另类视频 | 国产色在线观看 | 日韩午夜大片 | 日日碰狠狠添天天爽超碰97久久 | 在线视频 国产 日韩 | 色综合久久久 | 99久久精品国产欧美主题曲 | 在线视频欧美日韩 | 日本精品一二区 | 亚洲精品xx | 九九在线视频免费观看 | 国产精品亚洲片夜色在线 | 国产精品入口久久 | 欧美日韩性生活 | 91在线中文字幕 | 久久视频免费观看 | 亚洲精品一区二区三区高潮 | 日韩和的一区二在线 | 国产午夜在线 | 欧美久久影院 | 成年人黄色免费网站 | 国产啊v在线 | 亚洲精品国产拍在线 | 国产日韩在线看 | 香蕉97视频观看在线观看 | 国产精品一区免费观看 | 久久精品电影 | 亚洲 欧美 日韩 综合 | 99久热在线精品 | 东方av在线免费观看 | 成人香蕉视频 | 日韩一区二区免费在线观看 | 日日草天天草 | 久久激情日本aⅴ | 美女一二三区 | 欧洲精品在线视频 | 国产一级片久久 | 中午字幕在线观看 | 亚洲精品美女在线观看播放 | 日韩欧美亚州 | av7777777| 99中文视频在线 | 综合色综合 | 久久免费国产视频 | 最近中文字幕完整高清 | 66av99精品福利视频在线 | 国产精品理论片在线观看 | 操天天操| 999日韩| 91久久一区二区 | 区一区二区三区中文字幕 | 天天色综合天天 | 日日夜夜精品免费视频 | 国内成人精品视频 | 日韩在线一区二区免费 | 久久免费视频在线观看 | 久久黄网站 | 深夜成人av | 国产一级片直播 | 天天爽夜夜爽精品视频婷婷 | 久久免费精品国产 | 波多野结衣电影一区二区三区 | 亚洲在线视频观看 | 五月天激情在线 | 久草视频首页 | 成人高清在线观看 | 免费看色的网站 | 亚洲午夜久久久综合37日本 | 亚洲精品av中文字幕在线在线 | 久久成人午夜 | 国产精品自拍av | 国产小视频在线免费观看 | 五月婷婷一区 | 国产中文欧美日韩在线 | 欧美精品久久久久 | 欧美色婷| 日韩欧美在线观看一区二区三区 | 国产精品99久久久久久久久 | 黄色精品免费 | 午夜精品视频一区二区三区在线看 | 免费网址在线播放 | 久久成人午夜 | 色是在线视频 | 蜜桃传媒一区二区 | 人人干狠狠干 | 久久黄色成人 | 国产真实精品久久二三区 | 欧美极品在线播放 | 欧美日韩免费一区二区三区 | 欧美日韩精品二区第二页 | 色久天 | 色综合久久久久 | 五月开心六月婷婷 | 亚洲国产wwwccc36天堂 | 午夜久久久久 | 日本公妇在线观看高清 | av丝袜在线 | 成年人视频在线免费观看 | 天天操夜 | 美女视频黄网站 | 成人欧美在线 | 天天干天天天天 | 77国产精品 | 国产精品对白一区二区三区 | 国产在线视频一区二区三区 | 国产96在线观看 | 视频成人永久免费视频 | 国产成人精品女人久久久 | 中文字幕亚洲欧美 | 久久大视频 | 91香蕉国产在线观看软件 | 久久蜜桃av | 九九在线视频免费观看 | 久久精品爱视频 | 久久精品中文字幕免费mv | 九九99| 麻豆免费在线视频 | 四虎在线永久免费观看 | 国产精品久99 | 99久久99| 成人av影视在线 | 色在线免费 | 久久久综合精品 | 精品国产一区二区三区久久久蜜臀 | 久久视精品| 亚洲黄色免费在线看 | 免费午夜在线视频 | 美女久久久久久久久久 | www.av免费观看 | 91麻豆精品91久久久久同性 | 亚洲 综合 国产 精品 | 精品亚洲在线 | 亚洲精品女 | 日韩69av| 男女视频国产 | 亚洲免费精彩视频 | 日韩在线字幕 | 激情影院在线 | 精品 激情 | 超碰免费av | 99精品区 | 亚州性色 | 丁香色天天 | 色99在线| 国产亚洲精品久久网站 | 97精品国产97久久久久久久久久久久 | 久久欧洲视频 | 一区二区三区四区精品 | 国产成人精品午夜在线播放 | 天天爽人人爽夜夜爽 | 一区二区三区免费看 | 色综合久久久久久久 | 青青五月天| 亚洲精品动漫久久久久 | 国产精品久久久久久久久久久久久 | 中文字幕美女免费在线 | 在线观看成人毛片 | 五月天天色 | 国产在线a免费观看 | 91色影院| 国产成人三级一区二区在线观看一 | av成人免费在线观看 | 久久伦理电影 | 日日干网址 | 有没有在线观看av | 91麻豆免费视频 | 激情六月婷婷久久 | 久久成熟| 亚洲精品国产区 | 国产啊v在线观看 | 欧美a级在线免费观看 | 国产美女精品在线 | 九九热免费观看 | 成人在线观看影院 | 美女性爽视频国产免费app | 亚洲精品黄色 | 久久综合九色欧美综合狠狠 | 中文字幕亚洲欧美日韩2019 | 午夜体验区 | 激情综合色综合久久 | 亚洲乱码在线观看 | 91干干干| 九九九热精品免费视频观看 | 精品国产伦一区二区三区 | 九九久久影院 | 中文字幕制服丝袜av久久 | 久久精品久久99精品久久 | 天天操天天添天天吹 | 久久成人午夜视频 | 天天操天天色天天 | 欧美精品亚洲精品日韩精品 | 国内精品视频一区二区三区八戒 | 国产中文字幕在线免费观看 | 91影视成人 | 国产精品久久三 | 黄网站www | 日韩av影视| 亚洲天堂精品视频在线观看 | av丝袜美腿 | 日韩亚洲在线 | 精品国产乱码一区二 | 成人超碰97 | 成年人网站免费观看 | 国产精品免费大片视频 | 日韩av一区二区在线播放 | 久久精品中文字幕免费mv | 国产精品不卡一区 | 狠狠色丁香婷婷综合 | 欧美性生活久久 | 天天碰天天操 | 午夜精品一二三区 | 粉嫩aⅴ一区二区三区 | av在线不卡观看 | 久久久精品综合 | 91色一区二区三区 | 国产精品区免费视频 | 综合久久网 | 婷婷在线免费视频 | 亚洲天堂网站 | 久草免费手机视频 | 五月婷婷一区二区三区 | 香蕉网址| 91香蕉视频黄 | 精品99久久| 91亚洲精品久久久久图片蜜桃 | 色欲综合视频天天天 | 夜夜夜夜猛噜噜噜噜噜初音未来 | av电影在线免费观看 | 欧美色操 | av在线电影网站 | 精品国产精品久久一区免费式 | 欧美一二区在线 | 三级a视频 | 久久免费99精品久久久久久 | 中文字幕不卡在线88 | 正在播放日韩 | 天天干 天天摸 天天操 | 亚洲精品视频在线免费 | 国产69久久精品成人看 | 色资源在线 | 久久精品99久久久久久2456 | 日韩大陆欧美高清视频区 | 久久久久久美女 | 2020天天干天天操 | 国产手机视频在线播放 | 成人午夜电影在线观看 | 中文字幕视频三区 | 国产在线视频在线观看 | 一级一级一片免费 | 久草视频在线观 | 国产亚洲永久域名 | 在线观看视频日韩 | 18国产精品福利片久久婷 | 嫩草av影院 | 国产精品a级 | 日韩精品不卡在线观看 | 亚洲成人av一区二区 | 亚洲视频分类 | 日韩av免费一区二区 | 婷婷午夜 | 精品久久久久国产 | 国产精品免费观看国产网曝瓜 | 色偷偷男人的天堂av | 91精品国产福利 | 精品三级av | 超碰人人草 | 久久精品国产成人精品 | 久久香蕉国产精品麻豆粉嫩av | 在线看成人av | 天天综合天天做天天综合 | 日韩字幕 | 337p日本欧洲亚洲大胆裸体艺术 | 久久精品国产成人 | 亚洲国产小视频在线观看 | 国内成人精品2018免费看 | 欧美日韩二区在线 | 午夜电影av | 国产你懂的在线 | 国产精品一区二区三区电影 | 色综合久久88色综合天天人守婷 | 美女免费黄网站 | 免费黄色激情视频 | www.久久免费 | 一二三区在线 | 美女黄视频免费看 | 久久国产美女 | 天天干天天怕 | 91在线观看黄 | 黄色的网站免费看 | 九九在线播放 | 不卡在线一区 | 中文字幕 国产 一区 | 国产剧情久久 | 成人三级视频 | 成人av教育| 国产精品久久久久永久免费 | 免费看黄色91| 精品国产片 | 久久五月婷婷丁香 | 在线观看福利网站 | 一区二区三区免费在线观看视频 | 夜夜躁天天躁很躁波 | 日韩美精品视频 | 三级av免费看 | 91丨九色丨首页 | 免费a级大片 | 999久久国精品免费观看网站 | 天天色天天爱天天射综合 | 婷婷黄色片| 日本黄色免费播放 | 色噜噜日韩精品欧美一区二区 | 中文字幕在线网址 | 91精品国产成人www | 91免费观看视频网站 | 国产在线观看午夜 | 国产一级一级国产 | 青青色影院 | 日韩精品欧美精品 | 黄色影院在线观看 | 91精品国产高清 | 国产精品久久久久aaaa九色 | 色a综合 | 五月天丁香 | 99久久激情视频 | 在线免费观看麻豆视频 | 在线亚洲欧美视频 | 国产一区高清在线观看 | 国产精品日韩欧美一区二区 | 国产99久久精品一区二区300 | 天天操天天射天天爽 |