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

歡迎訪問 生活随笔!

生活随笔

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

Android

Android音频系统之AudioPolicyService

發布時間:2023/12/10 Android 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android音频系统之AudioPolicyService 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

地址:http://blog.csdn.net/edmond999/article/details/18599327

1.1 AudioPolicy Service

?

在AudioFlinger小節,我們反復強調它只是策略的執行者,而AudioPolicyService則是策略的制定者。這種分離方式有效地降低了整個系統的藕合性,而且為各個模塊獨立擴展功能提供了保障。

1.1.1 AudioPolicyService概述

漢語中有很多與策略有關聯的俗語,比如“因地制宜”、“具體問題具體分析”;戰爭中只遵照兵書制定戰術的行為也被我們稱為是“紙上談兵”、死讀書。這些都告訴我們,了解策略的執行環境是非常重要的,只有清晰地界定出“問題是什么”,才能有的放矢的制定出正確的Policy來解決問題。

Android系統中聲音的種類有很多種,具體分類如下所示:

??? /*AudioManager.java*/???

??? public static final intSTREAM_VOICE_CALL = 0; /* 通話聲音*/

??? public static final intSTREAM_SYSTEM = 1; /* 系統聲音*/

?? ?public static final int STREAM_RING = 2; /* 電話鈴聲和短信提示 */???

??? public static final intSTREAM_MUSIC = 3; /* 音樂播放 */???

??? public static final intSTREAM_ALARM = 4; /* 鬧鈴 */???

public static final intSTREAM_NOTIFICATION = 5; /* 通知聲音 */

?

??? /*下面幾個是隱藏類型,不對上層應用開放*/

??? public static final intSTREAM_BLUETOOTH_SCO = 6; /*當連接藍牙時的通話*/???

public static final intSTREAM_SYSTEM_ENFORCED = 7; /* 強制的系統聲音,比如有的國家強制要求

???????????????????????????????????????????????????攝像頭拍照時有聲音,以防止偷拍*/??

??? public static final intSTREAM_DTMF = 8; /* DTMF聲音 */

??? public static final intSTREAM_TTS = 9; /* 即text tospeech (TTS) */

針對這么多類型的音頻,AudioPolicyService至少面臨著如下幾個問題:

l? 上述類型的聲音需要輸出到哪些對應的硬件設備

比如一部典型的手機,它既有聽筒、耳機接口,還有藍牙設備。假設默認情況下播放音樂是通過聽筒喇叭輸出的,那么當用戶插入耳機時,這個策略就會改變——從耳機輸出,而不再是聽筒;又比如在機器插著耳機時,播放音樂不應該從喇叭輸出,但是當有來電鈴聲時,就需要同時從喇叭和耳機輸出音頻。這些“音頻策略”的制定,主導者就是AudioPolicyService

l? 聲音的路由策略

如果把一個音樂播放實例(比如用MediaPlayer播放一首SD卡中的歌曲)比作源IP,那么上一步中找到的音頻播放設備就是目標IP。在TCP/IP體系中,從源IP最終到達目標IP通常需要經過若干個路由器節點,由各路由器根據一定的算法來決定下一個匹配的節點是什么,從而制定出一條最佳的路由路徑,如下圖所示:

?

圖 13?16 路由器示意圖

AudioPolicyService所要解決的問題與路由器類似。因為系統中很可能存在多個audiointerface,每一個audio interface包含若干output,而每個output又同時支持若干種音頻設備,這就意味著從播放實例到終端設備,需要經過audiointerface和output的選擇,我們稱之為AudioPolicyService的路由功能。

?

l? 每種類型音頻的音量調節

不同類型的音頻,其音量的可調節范圍是不一樣的,比如有的是0-15,而有的則是1-20。而且它們的默認值也是有差別的,我們看AudioManager中的定義:

??? public static final int[] ?DEFAULT_STREAM_VOLUME = new int[] {

??????? 4,? // STREAM_VOICE_CALL

??????? 7,? // STREAM_SYSTEM

??????? 5,? // STREAM_RING

??????? 11, // STREAM_MUSIC

??????? 6,? // STREAM_ALARM

??????? 5,? // STREAM_NOTIFICATION

??????? 7,? // STREAM_BLUETOOTH_SCO

??????? 7,? // STREAM_SYSTEM_ENFORCED

??????? 11, // STREAM_DTMF

??????? 11? // STREAM_TTS

??? };

音量的調節部分后面我們有專門的小節來介紹。

為了讓大家對AudioPolicyService有個感性的認識,我們以下圖來形象地表示它與AudioTrack及AudioFlinger間的關系:

?

圖 13?17 AudioPolicyService與AudioTrack和AudioFlinger的關系

?

這個圖中的元素包括AudioPolicyService、AudioTrack、AudioFlinger、PlaybackThread以及兩音頻設備(喇叭、耳機)。它們之間的關系如下(特別注意,本例的目的只是說明這些元素的關系,并不代表圖中的策略就是Android系統所采用的):

l? 一個PlaybackThread的輸出對應了一種設備

比如圖中有兩個設備,就有兩個PlaybackThread與之對應。左邊的Thread最終混音后輸出到喇叭,而右邊的則輸出到耳機

l? 在特定的時間,同一類型音頻對應的輸出設備是統一的

也就是說,如果當前STREAM_MUSIC對應的是喇叭,那么所有該類型的音頻都會輸出到喇叭。結合上一點,我們還可以得出一個結論,即同一類型音頻對應的PlaybackThread也是一樣的

l? AudioPolicyService起到了路由的作用

AudioPolicyService在整個選擇過程中的作用有點類似于網絡路由器,它有權決定某一個AudioTrack所產生的音頻流最終會走向哪個設備,就像路由器可以根據一定的算法來決定發送者的包應該傳遞給哪個節點一樣

接下來我們從三個方面來了解AudioPolicyService。

首先,從啟動過程來看AudioPolicyService的工作方式。

其次,我們結合上面的關系圖詳細分析AudioPolicyService是如何完成“路由功能”的。

最后,我們來分析Android系統下默認的“路由策略”是怎樣的。

1.1.2 AudioPolicyService的啟動過程

還記得前面我們在分析AudioFlinger的啟動時,曾經看到過AudioPolicyService的影子嗎?沒錯,它和AudioFlinger是駐留在同一個程序中的,如下所示:

/*frameworks/av/media/mediaserver/main_mediaserver.cpp*/

int main(int argc, char** argv)

{?? …

???AudioFlinger::instantiate();

??? …

???AudioPolicyService::instantiate();

???ProcessState::self()->startThreadPool();

???IPCThreadState::self()->joinThreadPool();

}

因而從理論上來講,AudioFlinger和AudioPolicyService是可以直接進行函數調用的。不過實際上它們仍然采用標準的Binder進行通信。

AudioPolicyService的啟動方式和AudioFlinger也是類似的,我們這里就不贅述,直接來看它的構造函數:

AudioPolicyService::AudioPolicyService()

??? : BnAudioPolicyService() ,mpAudioPolicyDev(NULL) , mpAudioPolicy(NULL)

{

??? charvalue[PROPERTY_VALUE_MAX];

??? const struct hw_module_t*module;

??? int forced_val;

??? int rc;

??? …

??? rc =hw_get_module(AUDIO_POLICY_HARDWARE_MODULE_ID, &module);//Step 1.

??? …

??? rc =audio_policy_dev_open(module, &mpAudioPolicyDev);//Step 2.

??? …

??? rc =mpAudioPolicyDev->create_audio_policy(mpAudioPolicyDev, &aps_ops, this,

?????????????????? ????????????????????????????&mpAudioPolicy);//Step3.

??? …

??? rc =mpAudioPolicy->init_check(mpAudioPolicy); //Step 4.

//Step 5

???property_get("ro.camera.sound.forced", value, "0");

??? forced_val = strtol(value,NULL, 0);

mpAudioPolicy->set_can_mute_enforced_audible(mpAudioPolicy,!forced_val);

//Step 6.

??? if(access(AUDIO_EFFECT_VENDOR_CONFIG_FILE, R_OK) == 0) {

???????loadPreProcessorConfig(AUDIO_EFFECT_VENDOR_CONFIG_FILE);

??? } else if(access(AUDIO_EFFECT_DEFAULT_CONFIG_FILE, R_OK) == 0) {

? ??????loadPreProcessorConfig(AUDIO_EFFECT_DEFAULT_CONFIG_FILE);

??? }

}

我們將上述代碼段分為6個步驟來講解。

Step1@ AudioPolicyService::AudioPolicyService. 得到Audio Policy的hw_module_t,原生態系統中Policy的實現有兩個地方,即audio_policy.c和audio_policy_hal.cpp,默認情況下系統選擇的是后者(對應的庫是libaudiopolicy_legacy)

Step2@ AudioPolicyService::AudioPolicyService. 通過上一步得到的hw_module_t打開Audio Policy設備(這并不是一個傳統意義的硬件設備,而是把Policy虛擬成了一種設備。這樣子的實現方式讓音頻硬件廠商在制定自己的音頻策略時多了不少靈活性)。原生態代碼中audio_policy_dev_open調用的是legacy_ap_dev_open@audio_policy_hal.cpp,最終生成的Policy Device實現是legacy_ap_device

Step 3@ AudioPolicyService::AudioPolicyService. 通過上述的Audio Policy設備來產生一個策略,其對應的具體實現方法是create_legacy_ap@audio_policy_hal.cpp。這個函數首先生成的一個legacy_audio_policy@audio_policy_hal.cpp,而mpAudioPolicy對應的則是legacy_audio_policy::policy。除此之外,legacy_audio_policy還包含如下重要成員變量:

struct legacy_audio_policy {

??? structaudio_policy policy;

??? void *service;

??? structaudio_policy_service_ops *aps_ops;

???AudioPolicyCompatClient *service_client;

???AudioPolicyInterface *apm;

};

其中aps_ops是由AudioPolicyService提供的函數指針(aps_ops),這里面的函數是AudioPolicyService與外界溝通的接口,后面還會經常遇到。

最后一個apm是AudioPolicyManager的簡寫,AudioPolicyInterface是其基類,apm在原生態實現上是一個AudioPolicyManagerDefault對象,它是在create_legacy_ap中創建的:

static int create_legacy_ap(const struct audio_policy_device*device,

????? ??????????????????????structaudio_policy_service_ops *aps_ops,

???????????????????????????void *service,

???????????????????????????struct audio_policy **ap)

{

??? struct legacy_audio_policy*lap;

??????????????? …

??????????????? lap->apm =createAudioPolicyManager(lap->service_client);

…}

函數createAudioPolicyManager默認情況下對應的是AudioPolicyManagerDefault.cpp中的實現,所以它將返回一個AudioPolicyManagerDefault。

是不是覺得Policy相關的類越來越多了?那為什么需要這么多類呢?我們先來看一下它們之間的關系:

圖 13?18 Audio Policy相關類的關系

看起來很復雜,其實概況起來就以下幾點:

l? AudioPolicyService持有的只是一個類似于接口類的對象,即audio_policy。換句話說,AudioPolicyService是一個“殼”,而audio_policy則是一個符合要求的插件。插件與殼之間的接口是固定不變的,而內部實現卻可以根據廠商自己的需求來做

l? 我們知道,audio_policy實際上是一個C語言中的struct類型,內部包含了各種函數指針,比如get_output、start_output等等。這些函數指針在初始化時,需要指向具體的函數實現,這就是Audio_policy_hal中的ap_get_output、ap_start_output等等

l? 上面提到的各數據類型更多的只是一個“殼”,而真正的實現者是AudioPolicyManager。與此相關的又有三個類:AudioPolicyInterface是它們的基類,AudioPolicyManagerBase實現了一些基礎的策略,而AudioPolicyManagerDefault則是最終的實現類。除了AudioPolicyService,后面這兩個類也是我們研究Audio Policy的重點

?

Step 4@ AudioPolicyService::AudioPolicyService. 進行初始化檢測,原生態的實現直接返回0

Step 5@ AudioPolicyService::AudioPolicyService. 判斷是否強制執行相機拍照聲音

Step 6@ AudioPolicyService::AudioPolicyService. 加載音頻效果文件(如果存在的話),文件路徑如下:

?AUDIO_EFFECT_DEFAULT_CONFIG_FILE"/system/etc/audio_effects.conf"

?AUDIO_EFFECT_VENDOR_CONFIG_FILE"/vendor/etc/audio_effects.conf"

?這樣AudioPolicyService就完成了構造,它在ServiceManager中的注冊名稱為"media.audio_policy"。其中包含的mpAudioPolicy變量是實際的策略制定者,而它也是由HAL層創建的,換句話說是根據硬件廠商自己的“意愿”來執行策略的。

1.1.3 AudioPolicyService加載音頻設備

在AudioFlinger的“設備管理”小節,我們曾簡單提及AudioPolicyService將通過解析配置文件來加載當前系統中的音頻設備。具體而言,當AudioPolicyService構造時創建了一個Audio PolicyDevice(mpAudioPolicyDev)并由此打開一個AudioPolicy(mpAudioPolicy)——這個Policy默認情況下的實現是legacy_audio_policy::policy(數據類型audio_policy)。同時legacy_audio_policy還包含了一個AudioPolicyInterface成員變量,它會被初始化為一個AudioPolicyManagerDefault,這些都是我們在前一個小節分析過的。

那么AudioPolicyService在什么時候去加載音頻設備呢?

除了后期的動態添加外,另外一個重要途徑是通過AudioPolicyManagerDefault的父類,即AudioPolicyManagerBase的構造函數。

AudioPolicyManagerBase::AudioPolicyManagerBase(AudioPolicyClientInterface*clientInterface)…

{ ??mpClientInterface= clientInterface;

??? …

??? if (loadAudioPolicyConfig(AUDIO_POLICY_VENDOR_CONFIG_FILE) != NO_ERROR){

??????? if (loadAudioPolicyConfig(AUDIO_POLICY_CONFIG_FILE) != NO_ERROR) {

??????????? defaultAudioPolicyConfig();

??????? }

??? }

? ??for (size_t i = 0; i < mHwModules.size();i++) {

???????mHwModules[i]->mHandle = mpClientInterface->loadHwModule(mHwModules[i]->mName);

??????? if(mHwModules[i]->mHandle == 0) {

??????????? continue;

?????? ?}

??????? for (size_t j = 0; j< mHwModules[i]->mOutputProfiles.size(); j++)

??????? {

??????????? const IOProfile*outProfile = mHwModules[i]->mOutputProfiles[j];

??????????? if(outProfile->mSupportedDevices & mAttachedOutputDevices) {

??????????????? AudioOutputDescriptor*outputDesc = new AudioOutputDescriptor(outProfile);

???????????????outputDesc->mDevice = (audio_devices_t)(mDefaultOutputDevice &

???????????????????????????????????????????????????????????outProfile->mSupportedDevices);

?????????? ?????audio_io_handle_t output =mpClientInterface->openOutput(…);

??????????????????????????????? …??????????????

}

不同的Android產品在音頻的設計上通常是有差異的,利用配置文件的形式(audio_policy.conf)可以使廠商方便地描述其產品中所包含的音頻設備,這個文件的存放路徑有兩處:

#define AUDIO_POLICY_VENDOR_CONFIG_FILE ?"/vendor/etc/audio_policy.conf"

#define AUDIO_POLICY_CONFIG_FILE"/system/etc/audio_policy.conf"

如果audio_policy.conf不存在的話,則系統將使用默認的配置,具體實現在defaultAudioPolicyConfig中。通過配置文件可以讀取如下信息:

·????????有哪些audiointerface,比如有沒有“primary”、“a2dp”、“usb”

·????????每個audiointerface的屬性。比如支持的sampling_rates、formats、支持哪些device等等。這些屬性是在loadOutput@AudioPolicyManagerBase中讀取的,并存儲到HwModule->mOutputProfiles中。每一個audiointerface下可能有若干個output和input,而每個output/input下又有若干具體的支持屬性,關系如下圖所示:

?

圖 13?19 audio_policy.conf中各元素關系圖

?

大家可以自己打開一個audio_policy.conf來具體了解這個文件的格式要求,我們這里就不做深入講解了。

讀取了相關配置后,接下來就要打開這些設備了。AudioPolicyService只是策略制定者,而非執行者,那么是由誰來完成這些具體的工作呢?沒錯,一定是AudioFlinger。我們可以看到上述函數段中有一個mpClientInterface變量,它是否和AudioFlinger有聯系?可以先來分析下這個變量是如何來的。

很明顯的mpClientInterface這個變量在AudioPolicyManagerBase構造函數的第一行進行了初始化,再回溯追蹤,可以發現它的根源在AudioPolicyService的構造函數中,對應的代碼語句如下:

rc =mpAudioPolicyDev->create_audio_policy(mpAudioPolicyDev, &aps_ops, this, &mpAudioPolicy);???????????????????????????

在這個場景下,函數create_audio_policy對應的是create_legacy_ap,并將傳入的aps_ops組裝到一個AudioPolicyCompatClient對象中,也就是mpClientInterface所指向的那個對象。

換句話說,mpClientInterface->loadHwModule實際上調用的就是aps_ops->loadHwModule,即:

static audio_module_handle_t ?aps_load_hw_module(void*service,const char *name)

{

??? sp<IAudioFlinger> af= AudioSystem::get_audio_flinger();

??? …

??? returnaf->loadHwModule(name);

}

AudioFlinger終于出現了,同樣的情況也適用于mpClientInterface->openOutput,代碼如下:

static audio_io_handle_t ?aps_open_output(…)

{

??? sp<IAudioFlinger> af= AudioSystem::get_audio_flinger();

? ??…

??? return ?af->openOutput((audio_module_handle_t)0,pDevices, pSamplingRate, pFormat, pChannelMask,

?????????????????????????pLatencyMs, flags);

}

再回到AudioPolicyManagerBase的構造函數中來,for循環的目標有兩個:

?? 利用loadHwModule來加載從audio_policy.conf中解析出的audio interface,即mHwModules數組中的元素

?? 利用openOutput來打開各audio interface中包含的所有Output

關于AudioFlinger中這兩個函數的實現,我們在前一個小節已經分析過了,這里終于把它們串起來了。通過AudioPolicyManagerBase,AudioPolicyService解析出了設置中的音頻配置,并利用AudioFlinger提供的接口完成了整個音頻系統的部署,從而為后面上層應用使用音頻設備提供了底層支撐。下一小節我們就看下上層應用具體是如何使用這一框架來播放音頻的。

?

?

?

?

轉自:http://blog.csdn.net/xuesen_lin/article/details/8805108

轉載于:https://www.cnblogs.com/senior-engineer/p/4976716.html

總結

以上是生活随笔為你收集整理的Android音频系统之AudioPolicyService的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久综合在线 | 精品免费久久久久 | 色综合天天视频在线观看 | 亚洲国产精品电影在线观看 | 日韩av看片 | 97超碰精品 | 五月天电影免费在线观看一区 | 91片黄在线观 | 亚洲国内精品 | 特级西西444www大精品视频免费看 | 在线免费黄色毛片 | 成 人 黄 色 视频免费播放 | 91久久久久久国产精品 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 91av在线看 | 欧美在线视频一区二区三区 | 国产综合在线视频 | 日韩成人邪恶影片 | 九七视频在线观看 | 国产精品国产三级国产专区53 | 免费看一级特黄a大片 | 婷婷网站天天婷婷网站 | 日韩在线电影观看 | 日本不卡一区二区三区在线观看 | 在线电影中文字幕 | 亚洲精品乱码久久久久 | 欧美日韩1区2区 | 国产精品系列在线观看 | 久久69精品| 久久久久久久国产精品 | 麻花豆传媒一二三产区 | 在线免费观看视频a | 五月婷婷免费 | 500部大龄熟乱视频 欧美日本三级 | 四虎影视成人精品国库在线观看 | 国产精品白丝jk白祙 | 久久欧美在线电影 | 韩国在线视频一区 | 日韩av影片在线观看 | 插插插色综合 | 精品国产午夜 | 深爱综合网 | 精品国产乱码久久久久久天美 | 九色福利视频 | 久操久 | 在线观看免费91 | 超碰人人乐 | 国产在线观看高清视频 | 国产视频日本 | 欧美一级裸体视频 | 国产精品久久久久婷婷二区次 | 亚洲黄色a| 91亚洲国产 | 欧美激情视频一区 | 二区视频在线 | 天天操夜夜操 | 亚洲 在线 | 一区二区三区 亚洲 | 久久久久免费精品国产小说色大师 | 人人爱在线视频 | av五月婷婷 | 国产精品久久久久久久毛片 | 国产精品a久久久久 | 久久精品牌麻豆国产大山 | 91精品视频免费在线观看 | 中文字幕久久亚洲 | 国产精品一区二区三区在线播放 | 亚洲美女在线国产 | 人人舔人人插 | 狠狠色丁香婷婷综合欧美 | 亚洲激情校园春色 | 久草视频99| 免费色视频在线 | 人人干,人人爽 | 在线亚洲成人 | 亚洲欧美日韩国产 | 欧美激情精品久久久久久变态 | 色丁香综合 | 日韩欧美在线免费观看 | 香蕉视频在线看 | 国产女做a爱免费视频 | 国产精品毛片网 | 久久99国产精品免费网站 | 亚洲精品国产品国语在线 | 亚洲国产精品传媒在线观看 | 免费看成人av | 最近中文字幕高清字幕免费mv | 亚洲精品视频偷拍 | 亚洲爱av| 久草网站在线 | 国产经典 欧美精品 | 国产在线播放观看 | 亚洲国产高清在线观看视频 | 操操操操网 | 欧美日本在线视频 | 日韩在线电影观看 | 中文字幕高清av | 性色视频在线 | 天天撸夜夜操 | 五月天中文字幕mv在线 | 综合激情av | 国产精品 中文在线 | 成人在线观看免费视频 | 夜夜操天天干, | 欧美污在线观看 | 美女视频网 | 超碰97在线人人 | 在线日韩中文字幕 | 毛片99 | 国产一区二区综合 | 91最新视频 | 中国精品一区二区 | 97超碰人人澡人人爱学生 | 亚洲精品av在线 | 97精品国产手机 | 国产在线精品区 | 99精品在线视频观看 | 一级免费观看 | 久久免费视屏 | 丁香花在线视频观看免费 | 亚洲综合在线观看视频 | 91丨九色丨丝袜 | 日本一区二区免费在线观看 | 国产成人福利在线观看 | 久久久久久久久久免费视频 | 久久精品欧美一区二区三区麻豆 | 久久久免费精品国产一区二区 | 91精品中文字幕 | 国产在线欧美日韩 | 精品国产伦一区二区三区观看体验 | 中文字幕在线观看一区 | 欧美久久久久久久 | 国产黄色精品视频 | 婷婷丁香视频 | 欧美一二区在线 | 国产一级片免费观看 | 亚洲精品免费在线观看 | 欧美,日韩 | av激情五月| 日韩欧美精品在线观看 | 日韩欧美一二三 | 97国产大学生情侣白嫩酒店 | 国产极品尤物在线 | 国产经典av| 久久综合九色综合97婷婷女人 | 操操综合网 | 欧美亚洲免费在线一区 | 最新在线你懂的 | 天天色天天干天天色 | 一区二区三区免费 | 国产成人精品一区二区三区在线 | 中文字幕日本特黄aa毛片 | 国产精品一区二区av影院萌芽 | 91在线视频 | 五月婷婷,六月丁香 | 在线国产视频 | 中文字幕日韩国产 | 91丨九色丨勾搭 | 国产精品九九视频 | 激情五月综合网 | 欧美精选一区二区三区 | 国产日韩欧美在线免费观看 | 日日夜日日干 | 91视频传媒 | 懂色av一区二区三区蜜臀 | 国产在线视频在线观看 | ww亚洲ww亚在线观看 | 久草免费资源 | 久久久免费看视频 | 欧洲精品一区二区 | 米奇影视7777| 久久精品人人做人人综合老师 | av再线观看 | 亚洲丁香久久久 | 亚洲精品国产拍在线 | 黄色精品久久久 | 伊人亚洲精品 | 亚洲,国产成人av | 天天天天色综合 | 精品在线不卡 | 美女福利视频在线 | 久久激情综合 | av观看在线观看 | 国产成人精品一区一区一区 | 日日夜夜网站 | 三级在线视频播放 | 男女啪啪免费网站 | 日本黄色免费播放 | 国产精品 久久 | 亚洲成人精品av | 日日夜夜国产 | 亚洲精品国产精品乱码在线观看 | 天天噜天天色 | 一级一片免费视频 | 黄色免费高清视频 | 久久视奸 | 一区二区三区四区五区六区 | 欧美一级片在线播放 | 91女人18片女毛片60分钟 | 久久人人爽人人爽人人片av免费 | 欧美专区亚洲专区 | 精品麻豆 | 国内精品久久久久久久影视简单 | 激情综合电影网 | 久久免费视频在线观看30 | 天堂成人在线 | 中文字幕在线观看视频一区二区三区 | 久草在线最新 | 麻豆视频免费在线 | 美州a亚洲一视本频v色道 | 日韩精品久久久 | 久草精品视频 | 成人网在线免费视频 | 久久色亚洲 | 午夜精品视频一区二区三区在线看 | 免费av片在线 | 五月开心六月婷婷 | 精品一区在线看 | 天天草天天干天天射 | 久久综合影音 | 久久国产精品精品国产色婷婷 | 国产精品久久久久一区二区国产 | 在线观看的av | 成人黄视频 | 五月天,com| 色妞色视频一区二区三区四区 | 久久久成人精品 | 免费日韩一区二区三区 | 黄色大全视频 | 亚洲国产久 | 麻豆免费观看视频 | av成人免费在线看 | 激情综合五月 | 国内久久精品视频 | 久久手机免费视频 | 色婷婷色| 欧美综合色在线图区 | 亚洲年轻女教师毛茸茸 | 国产成人黄色网址 | 亚洲在线| 一区 二区 精品 | 国产999精品视频 | 亚洲免费观看在线视频 | 中文字幕免费在线 | 91精品啪在线观看国产81旧版 | 51久久成人国产精品麻豆 | 免费观看国产精品 | 在线观看视频99 | 国产一级精品绿帽视频 | 在线之家免费在线观看电影 | 一区二区三区四区五区六区 | 国产在线观看二区 | 亚洲精品综合欧美二区变态 | 亚洲黄色激情小说 | 天天碰天天操 | 日韩字幕在线 | 国产高清不卡 | 国产精品久久久久久久久久久久午 | 精品久久国产精品 | 日韩黄视频 | 91久久久久久久一区二区 | 久久精品1区2区 | 色综合 久久精品 | av免费观看网址 | 日本特黄特色aaa大片免费 | 九九久久精品 | av黄色在线观看 | 精品国产精品国产偷麻豆 | 日韩在线网址 | 97精品国产91久久久久久久 | 久久在线看 | 在线观看成年人 | 成人九九视频 | 狠狠成人 | 91在线国内视频 | 久热色超碰 | 久久久精品国产一区二区 | 国产精品激情偷乱一区二区∴ | 国产专区第一页 | 在线免费色视频 | 日韩精品中文字幕在线不卡尤物 | 久久免费毛片视频 | 国产亚洲在线视频 | 久久手机视频 | 超碰97.com| 天天爱天天操天天爽 | 色综合久久久网 | 国产精品视频永久免费播放 | 在线 日韩 av | 天堂av一区二区 | 黄色精品久久 | 免费在线国产视频 | 美女网站色| 欧美精品乱码久久久久久按摩 | 伊人天天干 | 高清精品视频 | 玖玖国产精品视频 | 亚洲免费国产视频 | 亚洲免费av一区二区 | 91九色蝌蚪在线 | 高清色免费 | 伊人伊成久久人综合网站 | 99热国产在线观看 | www国产亚洲精品久久网站 | 久国产在线播放 | 91在线网站| 天天操天天怕 | 国产精品久久久久av福利动漫 | 91亚洲精品国偷拍 | 久久免费在线观看 | 欧美日一级片 | 久久综合视频网 | 亚洲精品乱码久久久久久蜜桃欧美 | 99自拍视频在线观看 | 久久91久久久久麻豆精品 | 婷婷六月丁香激情 | 99精品国产免费久久久久久下载 | 色婷婷视频在线观看 | 草久久久久久 | 波多野结衣电影一区二区 | 免费看91的网站 | 精品日本视频 | 久久激情影院 | 亚洲伊人av | 日韩精品在线观看视频 | 亚洲天堂自拍视频 | 五月婷婷开心 | 久草在线视频资源 | 欧美日韩高清不卡 | 五月婷婷视频在线 | 久久激情婷婷 | 五月天最新网址 | 欧美日韩一区二区三区视频 | 玖玖视频免费在线 | 91网址在线观看 | 成年人黄色免费看 | 国产精品一区二区久久精品爱微奶 | 99re国产视频 | 国产精品18久久久 | 91在线一区二区 | 免费91麻豆精品国产自产在线观看 | 国产精品久久中文字幕 | 久久精品播放 | 97视频亚洲 | 丁香六月激情婷婷 | 欧美精品做受xxx性少妇 | a级黄色片视频 | 国产艹b视频 | 蜜臀av在线一区二区三区 | 91传媒免费在线观看 | 国产精品久久久久久超碰 | 国产视频1区2区3区 久久夜视频 | 久久爱资源网 | 国产午夜精品久久久久久久久久 | 亚洲午夜精品一区二区三区电影院 | 激情综合色综合久久综合 | 91精品一区二区在线观看 | 久久夜色精品国产欧美乱 | 在线观看韩日电影免费 | 色噜噜在线观看 | 日韩精品一区二区三区电影 | 日韩视频在线观看视频 | 五月色丁香 | 在线视频观看成人 | 天天操天天射天天添 | 久久综合偷偷噜噜噜色 | 国产亚洲成人精品 | 亚洲成av人片在线观看无 | 在线免费观看一区二区三区 | 黄a网站| 久久免费视频99 | 最近更新中文字幕 | 毛片99| 99视频在线免费 | 免费看三级黄色片 | 久久亚洲精品电影 | 黄色免费大全 | 手机在线观看国产精品 | 特级毛片网 | 国产69久久久 | 国产高清一区二区 | 99超碰在线观看 | 国产精品video爽爽爽爽 | 日韩 在线a | 天天色天天射天天综合网 | 亚洲dvd| 免费日韩在线 | 成人aⅴ视频 | av片免费播放 | 亚洲精品色婷婷 | 丰满少妇对白在线偷拍 | 精品国产一区二区三区久久久蜜月 | 国产精品区免费视频 | 精品一区二区在线免费观看 | 视频一区视频二区在线观看 | 亚洲视频一区二区三区在线观看 | 日韩性片 | 久久高清免费视频 | 国产色道 | 欧美激情奇米色 | 美女网站视频免费都是黄 | 国产小视频在线免费观看视频 | 91理论电影| 亚洲国产精品成人va在线观看 | 97色国产 | 亚洲最新av网址 | 国产护士hd高朝护士1 | 久久婷婷视频 | 黄色网址在线播放 | 国产福利av | 日韩欧美视频免费在线观看 | 久久婷婷丁香 | 国产在线91在线电影 | 国产精品久久久久一区二区三区 | 正在播放一区 | 成人国产电影在线观看 | 欧美色综合天天久久综合精品 | 日韩精品电影在线播放 | 夜夜躁日日躁狠狠久久av | 人成在线免费视频 | 中文字字幕在线 | 日韩毛片在线免费观看 | 久久久这里有精品 | 91麻豆精品国产91 | 亚洲精品av中文字幕在线在线 | 亚洲国产午夜精品 | 欧美亚洲免费在线一区 | 亚洲日韩中文字幕 | 精品黄色在线 | 中文字幕中文中文字幕 | 免费视频色 | 国内精品久久天天躁人人爽 | 91看片一区二区三区 | 色97在线 | 国产精品久久电影网 | 欧美国产日韩在线视频 | 九九久久免费视频 | 成人av在线直播 | 成人av资源网站 | 亚洲第一区在线观看 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 欧美一区二区三区在线视频观看 | 99理论片 | 中文字幕永久免费 | 黄色91在线| 97视频在线免费播放 | 天天综合天天综合 | 欧美日韩国产免费视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 色九九在线 | 午夜精品久久久久久久99 | 精品影院一区二区久久久 | 婷婷久久网站 | 在线观看中文字幕一区二区 | 日韩区视频 | 免费a v视频| 国产一级片视频 | 日本系列中文字幕 | 国产一区高清在线 | 欧美a性 | 中文字幕免费观看视频 | 黄色三级免费 | 在线观看免费福利 | 国语黄色片 | 免费久久久久久久 | 亚洲精品在线观看的 | 亚洲美女视频在线 | 国产精品久久久久久麻豆一区 | 久久亚洲免费视频 | 丁香色婷 | 欧美精品在线一区 | 狠狠操天天射 | 欧美在线18 | 欧美日韩一区二区三区在线观看视频 | 国产福利一区二区在线 | 亚洲午夜小视频 | 日韩免费在线视频 | 国产精品一区二区在线免费观看 | 亚洲国产精品人久久电影 | 亚洲精品乱码久久久久久写真 | 四虎影视国产精品免费久久 | 91资源在线免费观看 | 久久久久久综合网天天 | 欧美网址在线观看 | 久久免费成人精品视频 | 在线观看 国产 | 欧美激情精品久久久久久免费印度 | 日本久久免费视频 | 色吊丝在线永久观看最新版本 | 91在线免费视频观看 | 国产+日韩欧美 | 99激情网| 69国产精品成人在线播放 | 国产免费观看av | 亚洲一区二区精品在线 | 99亚洲精品 | 精品视频国产一区 | 天天色天天操综合网 | 精品国产a | 在线观看日本韩国电影 | 国产69精品久久久久99尤 | 日本精a在线观看 | 成人av中文字幕 | 一级黄色在线视频 | 免费国产视频 | 色噜噜在线观看视频 | 国产手机视频精品 | 韩国三级av在线 | 性色av一区二区三区在线观看 | 国产日韩精品一区二区三区在线 | 天天精品视频 | www.亚洲精品 | 久久这里只有精品23 | 在线观看中文 | 亚洲色图22p | 99久热在线精品视频成人一区 | 99精品免费久久久久久久久日本 | 国产做a爱一级久久 | 欧美激情精品久久久久久免费 | 天天操欧美 | 欧美美女视频在线观看 | 久久久久久久久影院 | 日韩理论影院 | 久久久成人精品 | 国产亚洲精品xxoo | 久草观看视频 | 亚洲精品乱码久久久久久蜜桃91 | 日韩精品一区二区三区不卡 | 91在线看视频 | 水蜜桃亚洲一二三四在线 | 免费又黄又爽视频 | 国产精品久久久久影院日本 | 国产麻豆成人传媒免费观看 | 337p欧美 | 五月天激情婷婷 | 午夜精品一区二区三区在线 | 丁香花中文在线免费观看 | 日韩网站在线观看 | 国产精品久久久久久久久久白浆 | av一区二区三区在线播放 | 三级黄色网址 | av在线免费网站 | 亚洲精品国产精品国自产观看浪潮 | 亚洲精品午夜久久久久久久 | 九九九九热精品免费视频点播观看 | 人人澡人人澡人人 | 久艹视频免费观看 | 超碰.com | 99热日本 | 国产福利在线不卡 | 狠狠激情中文字幕 | 国内精品久久久久久久久久清纯 | 欧美日韩不卡在线 | 99热这里只有精品在线观看 | 日韩午夜电影 | 国产精品久久中文字幕 | 一级成人免费 | 久久综合久久综合久久综合 | 在线免费观看视频 | 成人wwwxxx视频| 我要色综合天天 | 国产又粗又猛又黄 | 久久精品一区八戒影视 | 国产精品久久久久久久婷婷 | 99久久精品免费看 | 亚洲精品自在在线观看 | 在线免费av网 | 日韩性xxx| 国产一级二级三级视频 | 精品福利在线 | 国产午夜精品久久 | 国产日韩欧美在线影视 | 日韩美女一级片 | 欧美一区二区三区四区夜夜大片 | 久久天天躁夜夜躁狠狠85麻豆 | 天天搞天天干 | 97在线观看免费高清完整版在线观看 | 国产精品视频线看 | 五月天婷亚洲天综合网精品偷 | 色网站在线观看 | 在线91视频 | 二区三区在线视频 | 午夜久久美女 | 缴情综合网五月天 | 国产一区二区视频在线播放 | 国产亚洲精品久久久久久大师 | 日韩中文字幕第一页 | 欧美日韩一区三区 | 亚洲欧美国内爽妇网 | 激情九九| va视频在线观看 | 狠狠操操操| 国产专区日韩专区 | 免费av福利 | 夜色.com| 久久综合欧美精品亚洲一区 | 91精彩视频在线观看 | 久久成人国产精品 | 国产精品6 | 狠狠干狠狠艹 | 中文字幕日韩有码 | 久久激情久久 | 欧美a√大片 | 亚洲欧洲xxxx| 精品中文字幕在线播放 | 91久久奴性调教 | 三级黄色免费 | 国产精品久99 | 91桃色视频 | 日韩网站一区二区 | 国产精品美女免费 | 国产精品久久久久久久久久久久午夜片 | 九九热视频在线免费观看 | 亚洲精品高清视频 | 精品视频在线观看 | 国产999精品久久久久久绿帽 | 97精品免费视频 | 国产精品美女久久久久久久久久久 | 久久免费公开视频 | 在线综合 亚洲 欧美在线视频 | 国产黄色片久久 | 四虎成人av | 亚洲精品大片www | 中文字幕一区二区三区视频 | 久久久国产一区二区三区四区小说 | 在线免费观看黄网站 | 中文字幕久久精品一区 | 久草在线视频在线 | 久久小视频 | 亚洲视频免费在线观看 | 人人看黄色 | 色综合久久综合 | 九九日九九操 | 亚洲精品中文字幕在线 | 亚洲综合网站在线观看 | 色夜影院 | 成人久久久电影 | 国产福利精品视频 | 久久高清国产 | 丁香视频全集免费观看 | 久久久午夜影院 | 99久久精品费精品 | 91福利影院在线观看 | 国产黄色精品 | 日韩中文在线视频 | 免费又黄又爽视频 | 色婷婷色| 亚洲五月综合 | 久久草在线视频国产 | 91最新在线观看 | 欧美一级小视频 | 色午夜影院 | 精品国产一区二区三区在线观看 | 色噜噜噜噜 | 日韩欧美大片免费观看 | 亚州国产精品久久久 | 午夜精品电影 | 人人看97 | 亚洲影院天堂 | 91麻豆国产福利在线观看 | 亚洲成 人精品 | 欧美日韩免费一区二区三区 | 在线观看视频黄 | 美女久久99 | 在线免费黄色av | 色久五月| 91精品国产综合久久久久久久 | 99视频国产在线 | 99色视频在线 | 色a网| 亚洲永久国产精品 | 我要色综合天天 | 波多野结衣电影一区二区三区 | 狠狠色丁香久久婷婷综合丁香 | 天堂在线成人 | 精品视频在线观看 | 日韩视频一区二区三区 | 99综合电影在线视频 | 久草在线视频首页 | 天堂成人在线 | 91试看| 日韩城人在线 | 欧美性春潮| 一区中文字幕在线观看 | 天天曰天天干 | 69精品视频在线观看 | 午夜久久久久久久久久久 | 国产中文伊人 | 夜夜狠狠 | 成人免费观看av | 国产在线一区观看 | 美女久久久久久久久久久 | 久久久三级视频 | 久久国产影视 | av色影院 | 超碰国产在线观看 | 色视频网站在线 | 在线观看中文字幕av | av丝袜在线 | 午夜视频二区 | 91视频在线看 | av亚洲产国偷v产偷v自拍小说 | 国产精品视频不卡 | 热久久最新地址 | www.国产在线观看 | 亚洲一区在线看 | 黄色aaa毛片| 国产亚洲亚洲 | 天天干天天插伊人网 | 亚洲专区在线播放 | 99视频在线观看视频 | 国产日女人 | 精品国产视频在线 | 黄色免费在线看 | 国产精品久久久久久久久久久久久久 | 日本69hd| 亚洲永久精品一区 | 国产xvideos免费视频播放 | 国产91粉嫩白浆在线观看 | 久久高清视频免费 | 国产午夜精品一区二区三区四区 | 亚洲日韩中文字幕 | 九九视频精品免费 | 91在线精品视频 | 日韩精品中字 | 五月婷婷,六月丁香 | 人人草人 | 成人91在线 | 亚州日韩中文字幕 | 99国产在线| 首页国产精品 | 手机av网站 | 五月天综合网站 | 久久少妇| 激情婷婷在线观看 | 久久99精品国产99久久 | 人人插人人搞 | 久草视频在线新免费 | 精品视频123区在线观看 | 亚洲免费精彩视频 | 婷婷六月天在线 | 日本激情动作片免费看 | 日韩精品2区 | 国产精品久一 | 91桃色免费观看 | 99视频99| 婷婷丁香综合 | 97网站| 91看片看淫黄大片 | 国产精品成人免费一区久久羞羞 | 在线一二三区 | 成年人在线免费看 | 免费看高清毛片 | 欧美精品久久久久久久久久丰满 | 日本aa在线 | 久久99精品国产麻豆宅宅 | 亚洲视频在线视频 | 麻豆传媒在线视频 | 一区二区久久久久 | 超级碰碰免费视频 | 久久99视频精品 | 久久精品欧美一区二区三区麻豆 | 色噜噜日韩精品欧美一区二区 | 九九免费精品视频在线观看 | 色多多污污在线观看 | 国产精品毛片完整版 | 五月婷婷av| 亚洲黄色在线播放 | 久久久久久久久久久影视 | 香蕉免费 | 午夜久久久影院 | 91成人精品在线 | 久久久久久网址 | 国内精品久久久久影院一蜜桃 | 黄色片软件网站 | 亚洲免费一级 | 欧美激情xxxx性bbbb | 深爱激情久久 | 久久久免费电影 | 亚洲美女免费精品视频在线观看 | 久久成人午夜视频 | www.色综合.com | 麻豆国产露脸在线观看 | 美女黄频免费 | 久久国精品 | 久草网在线视频 | 91免费国产在线观看 | 国产精品一区二区三区视频免费 | 日韩r级在线 | 亚洲另类久久 | 亚洲综合最新在线 | 国产精品亚洲视频 | 黄色片免费电影 | 狠狠久久综合 | 日韩精品资源 | 亚洲jizzjizz日本少妇 | 有没有在线观看av | 瑞典xxxx性hd极品 | 精品视频国产 | 国产美女精品在线 | 91在线观看欧美日韩 | 精品久久国产 | 五月婷婷久久丁香 | 午夜精品福利在线 | 国产原创在线视频 | 国产第一二区 | 久久亚洲精品电影 | 特级a老妇做爰全过程 | 成人av亚洲 | 国产精品久久久久久爽爽爽 | 亚洲激情一区二区三区 | 国产精品久久久久999 | 国产99久久久国产精品成人免费 | 国产高清综合 | 国产一区二三区好的 | 九九电影在线 | 六月丁香在线视频 | 国产99久久精品一区二区300 | 久久理论视频 | 五月天综合色激情 | 91精品毛片 | 美腿丝袜av | 久草视频在线免费播放 | 久久亚洲影视 | 国产成人精品在线观看 | 69视频在线| 亚洲乱码精品 | 日韩欧美xxx| 92精品国产成人观看免费 | 婷婷激情五月 | 日韩最新中文字幕 | 日本夜夜草视频网站 | 久久久国产一区二区 | 国产欧美日韩精品一区二区免费 | 高清色免费 | 色婷婷狠狠五月综合天色拍 | 久久美女免费视频 | 成人国产在线 | 日本不卡一区二区三区在线观看 | 在线看黄色av| 91麻豆精品国产自产在线游戏 | 在线超碰av| 亚洲 成人 一区 | www.神马久久 | 麻豆高清免费国产一区 | 在线影院av | 亚洲在线免费视频 | 一区二区视频在线看 | www.com黄| 久久久久久不卡 | 91麻豆精品国产91久久久久久久久 | 国产尤物一区二区三区 | 久久免费视频这里只有精品 | 精品在线播放视频 | 久久精品1区2区 | 亚洲国产操 | 中文字幕精品一区 | 国产又粗又猛又黄又爽 | 成人免费视频a | 欧美ⅹxxxxxx | 国产精品入口久久 | av看片网址 | 亚洲成av人片在线观看 | 97色在线| 日日爽 | 亚洲精品国偷自产在线91正片 | 黄色大片网| 国产网站在线免费观看 | 欧美aaaxxxx做受视频 | 日韩av影片在线观看 | 九九九热精品免费视频观看 | 99爱视频在线观看 | 九色视频网 | 一区二区三区在线免费观看视频 | 96视频在线 | 不卡在线一区 | 国产在线p | 正在播放国产精品 | 五月婷婷在线视频观看 | 91丨精品丨蝌蚪丨白丝jk | 69久久久久久久 | 亚洲最新av在线网址 | 一区二区影院 | 免费在线观看av片 | 一区三区视频 | 国产精品男女啪啪 | 国产在线精品播放 | 一区二区精品在线 | 久草在线观看视频免费 | 久草精品视频在线观看 | 国产亚州精品视频 | 狠狠的干狠狠的操 | 亚洲.www| 久久专区 | 亚洲在线资源 | 欧美福利网站 | 婷婷丁香激情五月 | av网站播放 | 亚洲最新视频在线播放 | 国产不卡网站 | 日韩精品中文字幕久久臀 | 亚洲精品黄色 | 久草免费在线观看 | 六月丁香在线视频 | 99久久影视 | 在线播放一区二区三区 | 天天爽夜夜爽人人爽一区二区 | 日韩高清在线一区二区 | 日本不卡一区二区 | 在线观看日韩专区 | 亚洲精品乱码久久久久久写真 | av中文字幕在线免费观看 | 天天操网址 | 91精品中文字幕 | 欧美综合干 | 欧美日韩免费在线观看视频 | 91av福利视频| 色婷婷视频在线观看 | 麻豆高清免费国产一区 | 西西www444| 草久久久久久 | 在线香蕉视频 | 亚洲 中文 欧美 日韩vr 在线 | 久久黄色片子 | 婷婷久久国产 | 亚洲黄色在线 | 国产成人精品午夜在线播放 | 久久er99热精品一区二区三区 | 欧美天天综合网 | 99国产情侣在线播放 | 日韩精选在线观看 | 91精品国产欧美一区二区成人 | 亚洲一区二区精品视频 | 久久免费的视频 | 日韩欧美精品一区二区三区经典 | 日韩欧美国产精品 | 国产精品久久久久久久久久了 | 久久精品视频18 | 日本久久久久 | 色婷婷综合视频在线观看 | 国产精品 日韩 欧美 | 中文字幕一区2区3区 | 成人永久免费 | 香蕉在线视频观看 | 精品一区二区免费视频 | 99久久久国产精品免费观看 | 男女免费av| 亚洲乱亚洲乱亚洲 | 99久久久国产精品免费99 | 国产成人三级一区二区在线观看一 | 国产精品videoxxxx | 综合中文字幕 | 国产在线观看你懂的 | 久久夜色精品国产欧美一区麻豆 | 日韩免费视频在线观看 | av电影一区 | 国产黄大片在线观看 | 91大片网站| 国产精品久久久毛片 | 国产品久精国精产拍 | 五月婷婷伊人网 | 五月色婷| 精品黄色在线 | 婷婷六月色 | a√天堂中文在线 | 国产一区网址 | 国产成人综合在线观看 | 中国一级片免费看 | 又色又爽又激情的59视频 | 国产中年夫妇高潮精品视频 | 99精品国产福利在线观看免费 | 99在线国产 | 精品久久1| 成人在线免费av | 免费在线观看一区二区三区 | 99精品免费 | 国产视频18 | 操操操人人 | 久久久鲁 | 国产中文字幕在线视频 | 国产精品美 | 日韩精品一区二区三区第95 | 又黄又爽免费视频 | 欧美一级激情 | 日日爽天天操 | 91热在线| 日韩一区在线免费观看 | 日韩性xxxx| 日本中文字幕视频 | 日韩在线小视频 | 国产精品一区二区果冻传媒 | 国产不卡精品 | 国产精品入口麻豆 | 天天射狠狠干 | 日韩电影在线看 | 久久蜜桃av | 在线观看视频免费播放 | 色婷婷激情 |