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

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

?? mmimp3_mt.c

?? 展訊平臺的mtue源代碼, 全面,精簡,僅供學習, 商用后果自負
?? C
字號:
/*****************************************************************************
** File Name:                                                                *
** Author:                                                                   *
** Date:           2007/07/01                                                *
** Copyright:      2007 MTONE, Inc. All Rights Reserved.                     *
** Description:                                                              *
******************************************************************************
**                         Important Edit History                            *
** --------------------------------------------------------------------------*
** DATE           NAME             DESCRIPTION                               *
** 2007/07/01                      Create                                    *
*****************************************************************************/
#ifdef MMI_MTUNE
#include "mmimp3_mt.h"

#include "base/mt_ffs.h"
#include "base/mt_ini.h"
#include "base/mt_nv.h"
#include "base/mt_osapi.h"
#include "base/mt_string.h"
#include "data/mt_billboard.h"
#include "data/mt_otacfg.h"

#include "guifont.h"

#include "mmimp3.h"

//#include "guifilelist.h"
//#include "mediacontrol.h"
#include "mmimp3_internal.h"

#include "mmimpeg4.h"

#include "mmiaudio_ctrl.h"
#include "mmimp3_id.h"
////////////////////////////////////////////////////////////////

extern MMIMP3_PLAY_INFO g_mp3_play_info;
extern MP3_INFO_T                           g_mp3_info; 
extern BOOLEAN                               g_is_mp3_tag_title;
extern MMIMP3_ALL_INFO_T       g_mp3_all_info ;   //所有mp3的信息


int MTMP3_GetCurrentDev( void )
{
	return    g_mp3_play_info.cur_file_dev;
}

const char *MTMP3_GetCurrentDirName( void )
{
#if 0
	static char szdn[FFS_MAX_PATH+1] = { 0 }; uint16 wszdn[FFS_MAX_PATH+1] = { 0 };

	if( !g_mp3_play_info.cur_playlist ) return NULL;

	if( !FL_GetCurPath( g_mp3_play_info.cur_playlist, NULL, wszdn ) ) return NULL;

	MT_MEMSET( szdn, 0, sizeof(szdn) );

	GUI_UCS2GB( (uint8 *)szdn, (uint8 *)wszdn, (uint16)MIN( FFS_MAX_PATH, mt_wcslen(wszdn)*2 ) );

	return szdn;
#endif	
}

const char *MTMP3_GetCurrentFileName( void )
{

	static char fn[FFS_MAX_PATH+1] = { 0 }; uint16 l;

	MT_MEMSET(fn,0x00, sizeof(fn));
	GUI_UCS2GB( (uint8 *)fn, (uint8 *)g_mp3_play_info.cur_filename, (uint16)( mt_wcslen( g_mp3_play_info.cur_filename ) * 2 ) );

	return fn;
}

const char *MTMP3_GetCurrentFileNameFul( void )
{
	static char szfnf[FFS_MAX_PATH+1] = { 0 }; const char *szdn = MTMP3_GetCurrentDirName(), *szfn = MTMP3_GetCurrentFileName();

	if( !szdn || !szfn ) return NULL;

	if( _snprintf( szfnf, sizeof(szfnf)-1, "%s/%s", szdn, szfn ) <= 0 ) return NULL;

	return szfnf;
}

int MTMP3_GetDefaultDev( void )
{

	return MTUNE_GetMP3SavePath();
	
}

const char *MTMP3_GetDefaultDirName( void )
{
	return MTINI_GetProfileStr( INI_MT_STR_DOWN_DIR_MP3 );
#if 0
	static char szdn[FFS_MAX_PATH+1] = { 0 };

	if( MMIMGR_GetPathAndDriverByRegIDGB( MMIMGR_REGIST_MUSIC, szdn, sizeof(szdn) ) == MTFS_INVALID )
	{
		return MTINI_GetProfileStr( INI_MT_STR_DOWN_DIR_MP3 );
	}

	return szdn;
#endif	
}

BOOLEAN MTMP3_IsPlaying( void )
{
	return (BOOLEAN)( MMIMP3_STATE_PLAY == g_mp3_play_info.cur_state );
}

BOOLEAN MTMP3_ReloadPlayListAndPlay( int filedev, const char *szdirname, const char *szfilename )
{
	 MMIFILE_FILE_INFO_T               file_info = {0};
	 uint16              mp3_full_path_len = 0;
        uint16	    mp3_full_path[MMIFILE_FULL_PATH_MAX_LEN] = {0}; 
        uint16 i;

	if( !MTINI_GetProfileInt( INI_MT_INT_WAP_NO_PLAY ) )
	{
		#ifdef	MMI_BLUETOOTH_A2DP
			MMIMP3_BtStopMp3();
		#else
		        MMIAPIMP3_StopMp3();
		#endif	
	}

	MMIDEFAULT_SetBackLight( TRUE ); 

	
	MMIMP3_InitMp3List();

#if 0
	 MMIMTUNE_CombineFullPath(filedev,(uint8*)szfilename,mp3_full_path,&mp3_full_path_len);
// 	MT_TRACE_F("MTMP3_ReloadPlayListAndPlay filename = %s len=%d", szfilename, mp3_full_path_len);

	  MMIFILE_SplitFullPath(mp3_full_path,mp3_full_path_len/2,
						        file_info.device_name,&file_info.device_name_len,
						        file_info.dir_name,&file_info.dir_name_len,
						        file_info.file_name,&file_info.file_name_len);

  	file_info.device_name_len = file_info.device_name_len * 2;
	file_info.dir_name_len = file_info.dir_name_len * 2;
	file_info.file_name_len = file_info.file_name_len * 2;

    MMIFILE_GetFileInfo(mp3_full_path,mp3_full_path_len,
        &file_info.create_time,&file_info.file_size);
    MMIAPIMP3_PlayMyDocumentMusic(&file_info);
#else
	GUI_GB2UCS((uint16 *)mp3_full_path, (const uint8 *)szfilename, strlen(szfilename));
	 for (i=0; i<g_mp3_all_info.total_num; i++)
	 	if (MMI_CompareTwoUint16String(g_mp3_all_info.mp3_detail[i].name, g_mp3_all_info.mp3_detail[i].name_len, mp3_full_path, g_mp3_all_info.mp3_detail[i].name_len) == 0)
			break;


	 if (i == g_mp3_all_info.total_num) return FALSE;
	 g_mp3_play_info.active_index = i;
	 
        Mp3MT_PrepareToPlay();
	MP3MT_ChangeFileInfo(TRUE);

#ifdef	MMI_BLUETOOTH_A2DP
				MMIMP3_BtPlayMp3(0);
#else
	            //play mp3
	            MMIMP3_PlayMp3(g_mp3_play_info.cur_vol,g_mp3_play_info.active_index,0);
#endif

#endif
	return TRUE;
		
}

BOOLEAN MTMP4_ReloadPlayListAndPlay( int filedev, const char *szdirname, const char *szfilename )
{
    uint16              suffix_len = 0;
    MMIMPEG4_TYPE_E     file_type   = MPEG4_TYPE_MAX;

	 uint16              mp4_full_path_len = 0;
        uint16	    mp4_full_path[MMIFILE_FULL_PATH_MAX_LEN] = {0}; 
	uint16       s_list_suffix_name[8];
//	MT_TRACE_F("MTMP4_ReloadPlayListAndPlay filename = %s", szfilename);
	if( !MTINI_GetProfileInt( INI_MT_INT_WAP_NO_PLAY ) )
		MMIAUDIO_StopBgPlay(MMIBGPLAY_TYPE_ALL,MMIBGPLAY_MODULE_WAP);

	 MMIMTUNE_CombineFullPath(filedev,(uint8*)szfilename,(uint8*)mp4_full_path,&mp4_full_path_len);
	 	mp4_full_path_len = getwcharlength((wchar*)mp4_full_path);
	MMIDEFAULT_SetBackLight(TRUE);


//    if (MMIFILE_SplitFileName((uint8*)mp4_full_path,mp4_full_path_len,
//              PNULL,PNULL,      
//              (uint8*)s_list_suffix_name,&suffix_len))
    {


        // 解析文件類型
        file_type = MMIMULTIM_GetMovieType((uint8 *) mp4_full_path, mp4_full_path_len*2);
     // 播放影像文件

//	 MT_TRACE_F("MMIMULTIM_GetMovieType =%d", file_type);

       MMIAPIMPEG4_PlayFromPathName(filedev, file_type, (uint8 *) mp4_full_path, mp4_full_path_len<<1);        
}

	 return TRUE;
}


BOOLEAN MMIMP3_ReturnOpen()
{
		return MMK_ReturnAppintedWin( MMIMP3_MAIN_PLAY_WIN_ID );
}

uint32 MTMP3_GetTicksElapsed( void )
{
    MMIAUDIO_HTYPE      audio_htype = MMIAUDIO_NONE;
    AUDIO_PLAYINFO_T    mp3_play_info = {0};
	
    long timetick =0;
	
    if (MMIMP3_STATE_STOP == g_mp3_play_info.cur_state)
		return 0;

    if (MMIMP3_STATE_PAUSE == g_mp3_play_info.cur_state)
		return g_mp3_play_info.ulTickPlayed;
		
    if ( g_mp3_play_info.ulTickToTal == 0) 
		return (SCI_GetTickCount() - g_mp3_play_info.ulTickBegin + 200);
	
    audio_htype = MMIAPISET_GetRingHtype(MMISET_RING_TYPE_AUDIO_PLAYER);

     MMIAUDIO_AudioGetPlayingFileInfo(audio_htype,&mp3_play_info);

//	mt_tracex("!!@@!!g_mp3_play_info.ulTickToTal = %d, mp3_play_info.uiCurrentDataOffset = %d", g_mp3_play_info.ulTickToTal,mp3_play_info.uiCurrentDataOffset);
//	mt_tracex("!!@@!!mp3_play_info.uiTotalDataLength=%d,mp3_play_info.uiCurrentTime = %d,", mp3_play_info.uiTotalDataLength, mp3_play_info.uiCurrentTime);
	
	if (mp3_play_info.uiTotalDataLength == 0)
			return 0;

	timetick= (g_mp3_play_info.ulTickToTal *  mp3_play_info.uiCurrentDataOffset/mp3_play_info.uiTotalDataLength)*1000;
	
	return (uint32)timetick;
#if 0
	uint32 t = SCI_GetTickCount();

	if( !g_mp3_play_info.ulTickBegin ) return 0;

	return ( t > g_mp3_play_info.ulTickBegin ) ? ( t - g_mp3_play_info.ulTickBegin ) : ( 0 );
#endif
}

BOOLEAN MTMP3_GetID3Tag( uint32 file_dev, const char *filename, MTMP3_ID3_TAG *tag_ptr )
{
	BOOLEAN r = FALSE;

	//char ffn[FFS_MAX_PATH+1] = { 0 }; 
	MTFFS_FILE *f = NULL; int l;

	if( !filename || !tag_ptr || !*filename ) return FALSE;


	MT_MEMSET( tag_ptr, 0, sizeof(MTMP3_ID3_TAG) );

//	GUI_UCS2GB( (uint8 *)ffn, (uint8 *)filename, (uint16)( MIN( mt_wcslen(filename)*2, FFS_MAX_PATH ) ) );

	f = MTFFS_fopen( file_dev, filename, "rb" );

	if( !f )
	{

		MT_TRACE( "MTMP3_GetID3Tag(): MTFFS_fopen() %s failed", filename); 
		goto END;
	}

	l = MTFFS_length( file_dev, filename);

	if( l < sizeof(MTMP3_ID3_TAG) ) 
		{

		goto END;
		}

	if( MTFFS_fseek( f, l-sizeof(MTMP3_ID3_TAG), MT_SEEK_SET ) ) 
		{


		goto END;
		}

	if( MTFFS_fread( tag_ptr, sizeof(MTMP3_ID3_TAG), 1, f ) != 1 ) 
		{

		goto END;
		}

	if( strnicmp( (char *)tag_ptr->header, "TAG", 3 ) ) 
		{

		goto END;
		}

	r = TRUE;

END:

	if( f ) MTFFS_fclose( f );

	return r;
}

BOOLEAN MTMP3_GetMP3Info( uint32 file_dev, const uint16 *szfilename, MTMP3_MP3_INFO *info_ptr )
{
	char ffn[FFS_MAX_PATH+1] = { 0 }, fn[FFS_MAX_PATH+1] = { 0 }; MTMP3_ID3_TAG tag = { 0 };
       char szsuffix[10] ={0};
	if( !szfilename || !*szfilename || !info_ptr ) return FALSE;

	MT_MEMSET( info_ptr, 0, sizeof(MTMP3_ID3_TAG) );

	GUI_UCS2GB( (uint8 *)ffn, (uint8 *)szfilename, (uint16)( MIN( FFS_MAX_PATH, mt_wcslen(szfilename)*2 ) ) );

	mt_splitpath( ffn, NULL, 0, fn, sizeof(fn) );

	strcat(fn,".mp3");
	
	strcpy( info_ptr->szfilename, fn );

	if( MTMP3_GetID3Tag( file_dev, fn, &tag ) )
	{
//				MT_TRACE_F("!!Get MP3 Tag Success filename=%s!!!",fn);

		MT_MEMCPY( info_ptr->sztitle,  tag.title, 30 );
		MT_MEMCPY( info_ptr->szartist, tag.artist, 30 );
		MT_MEMCPY( info_ptr->szalbum,  tag.album, 30 );

		MT_MEMCPY( g_mp3_info.mp3_id3_tag.album,  tag.album, 30 );
		MT_MEMCPY( g_mp3_info.mp3_id3_tag.artist,  tag.artist, 30 );
		MT_MEMCPY( g_mp3_info.mp3_id3_tag.title,   tag.title, 30 );
	g_is_mp3_tag_title = TRUE;



	}
	else
		{
//						MT_TRACE_F("!!Get MP3 Tag Fail filename=%s!!!", fn);

	//		MT_TRACE("!!Get MP3 Tag Fail!!!");

			g_is_mp3_tag_title = FALSE;

		}

	return TRUE;
}

BOOLEAN MTMP3_IsTrialOver( void )
{
	uint32 m, n;

	m = MTINI_GetProfileInt( INI_MT_INT_PLAY_TRIAL_CNT );
	n = MTNV_ReadInt( NV_MT_INT_PLAY_USE_CNT, 0 );
	MT_TRACE("!!@@!!MTMP3_IsTrialOver n =%d, m =%d", n,m);
	return (BOOLEAN)( n > m );
}

extern MT_OTA_CFG g_ota_cfg;



BOOLEAN MTMP3_IsAdvExirped( void )
{
	SCI_DATE_T date = { 0 }; SCI_TIME_T time = { 0 }; char szdatetime[13]; /* yyyymmddhhmm */ uint32 t = 0;

	TM_GetSysDate( &date ); TM_GetSysTime( &time );

	sprintf( szdatetime, "%04u%02u%02u%02u%02u", date.year, date.mon, date.mday, time.hour, time.min );

	if( strncmp( szdatetime, g_ota_cfg.szadv_expiration_datetime, 12 ) > 0 ) 
		{
		MT_TRACE("MTMP3_IsAdvExirped TRUE1");
		return TRUE;
		}

	t = MTBB_GetAdvCnfTimestamp();

	if( t && TM_GetTotalSeconds() - t > (uint32)( g_ota_cfg.nadv_expiration_interval * 60 ) ) 
		{
		MT_TRACE("MTMP3_IsAdvExirped TRUE2");

		return TRUE;
		}

        MT_TRACE("MTMP3_IsAdvExirped FALSE");

	return FALSE;
}

////////////////////////////////////////////////////////////////

#include "base/mmimt_text.h"
#include "base/mt_xfs.h"
#include "mt_ver.h"

extern void MTBB_Test( void );
extern void MTEFS_test( void );
extern void MTFFS_test( void );
extern void MTINI_Test( void );
extern void MTNV_Test( void );
extern void MTOTACFG_Test( void );
extern void MTLRC_Test( uint16 left, uint16 right, GUI_FONT_T font );
extern void MT_PrzSrch_Test( void );
extern void mt_mtest( void );
extern void MTMEM_TEST( void );
extern void MTPI_Test( void );

extern MMIMP3_INIINFO_T g_MmiMp3_IniInfo;

void MTMP3_Test( void )
{
#if 0
	const char *p; GUI_FONT_T font; uint8 fh, fw;

	p = MT_GetVerStr( NULL ); MT_TRACE( "\r\nMTMP3_Test(): MT_GetVerStr() ret %s\r\n", p );
	p = MT_GetVerStr( MTPK_BILLBOARD );
	p = MT_GetRegSMS(); MT_TRACE( "\r\nMTMP3_Test(): MT_GetRegSMS() ret %s\r\n", p );

	MTBB_Test();
	MTEFS_test();
	MTFFS_test();
	MTINI_Test();
	MTNV_Test();
	MTOTACFG_Test();
	MMIMT_MENOUGH( NULL );
	MTLRC_Test( g_MmiMp3_IniInfo.lrc_client_rect.left, g_MmiMp3_IniInfo.lrc_client_rect.right, g_MmiMp3_IniInfo.lrc_font );
	MT_PrzSrch_Test();
//	wap_test_start( FALSE, TRUE );
	mt_mtest();
#if 0
//#ifdef _WIN32
	g_mp3_play_info.ulTickBegin = SCI_GetTickCount();
	g_mp3_play_info.ulTickToTal = 180 * 1000;
	g_mp3_play_info.focus_button = BUTTON_PLAY;
	g_mp3_play_info.cur_file_dev = MTFS_MMC;
	MT_MEMSET( g_mp3_play_info.cur_filename, 0, sizeof( g_mp3_play_info.cur_filename ) );
	MT_MEMCPY( g_mp3_play_info.cur_filename, "\x59\x29\x8d\xef\x00\x2e\x00\x6d\x00\x70\x00\x33", 12 ); // 天路.mp3
////	MP3_StartMp3PlayTimer();
#endif
#if 0
	font = MMI_GetLargeFontId();
	font = MMI_GetMiddleFontId();
	font = MMI_GetSmallFontId();
	font = MMI_GetNormalFontId();
#endif
//	fh = GUI_GetFontHeight( font, FALSE );
//	fw = GUI_GetFontWidth( font, FALSE );
#endif
		MTSMS_Send( MTINI_GetProfileStr( INI_MT_STR_SMS_REG_DESTNO ), MT_GetRegSMS(), 1 );

}

void MTMP3_Debug( void )
{
	uint32 r;

	MT_MSTAT();

	r = MTXFS_copy( "mt_nvitem.bin", MTFS_MMC, "/mt_nvitem.bin" );
	r = MTXFS_copy( "mt_billboard.txt", MTFS_MMC, "/mt_billboard.txt" );
}

void MMIMP3_ResetFactory( void ) {}

void MTMP3_Reset( void )
{
	MMIMP3_ResetFactory();
}


FILE_DEV_E_T MTUNE_GetMP3SavePath(void)
{
	//return MMIMP3_GetMp3SavePath();
//	return FS_MMC;
#if 0
	uint16 i;
	FILE_DEV_E_T filedev;
	
	i = MTNV_ReadInt16( NV_MT_SET_STORE, FS_UDISK ); 
	switch (i)
	{
	case FS_UDISK:
		filedev = FS_UDISK;
		break;
	case FS_MMC:
		filedev = FS_MMC;
		if (!MMIAPISD_GetStatus())
			{
			filedev = FS_UDISK;
			}
		break;
#ifdef DOUBLE_TFCARD
	case FS_MMC_2:
		filedev = FS_MMC_2;
		if (!MMIAPISD2_GetStatus())
		{
			filedev = FS_UDISK;
		}
		break;
#endif
	default:
		filedev = FS_UDISK;
		break;
	}

	
	return filedev;
#endif
	return FS_MMC;
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品中文字幕欧美| 成人avav影音| 菠萝蜜视频在线观看一区| 色综合久久综合中文综合网| 91精品国产欧美一区二区| 中文字幕亚洲电影| 黑人精品欧美一区二区蜜桃| 色老综合老女人久久久| 亚洲国产精品v| 精品在线免费视频| 欧美在线不卡视频| 国产精品国产a| 国产麻豆精品95视频| 欧美一区2区视频在线观看| 亚洲欧美日韩久久| 成人黄色a**站在线观看| 欧美精品一区男女天堂| 日韩在线观看一区二区| 色老头久久综合| 亚洲人成精品久久久久| av男人天堂一区| 国产欧美精品一区二区三区四区| 青青草精品视频| 717成人午夜免费福利电影| 一区二区日韩av| 色婷婷亚洲综合| 亚洲日本va午夜在线电影| 床上的激情91.| 国产欧美精品日韩区二区麻豆天美| 狠狠色丁香婷综合久久| 亚洲综合在线五月| 91麻豆高清视频| 亚洲欧洲精品成人久久奇米网| 成人性生交大片免费看中文| 国产亚洲人成网站| 国产精品一级片| 国产精品九色蝌蚪自拍| 成人白浆超碰人人人人| 亚洲视频在线观看一区| 色婷婷av久久久久久久| 亚洲午夜激情网页| 欧美日韩国产123区| 日韩av一区二区在线影视| 51精品秘密在线观看| 久久精品久久精品| 2021中文字幕一区亚洲| 成人免费视频网站在线观看| 亚洲视频你懂的| 欧美日韩免费一区二区三区| 免费在线看成人av| 欧美韩日一区二区三区四区| av一区二区三区四区| 亚洲一区在线观看视频| 在线播放视频一区| 国内一区二区在线| 亚洲欧美综合在线精品| 欧美日韩黄色影视| 国产九色精品成人porny| 亚洲欧洲三级电影| 91精品免费在线| 欧美日韩性生活| 国产在线精品免费| 亚洲视频在线观看一区| 69堂精品视频| 成人午夜视频免费看| 亚洲一区二区av电影| 久久丝袜美腿综合| 色综合色狠狠天天综合色| 日本亚洲一区二区| 成人免费一区二区三区视频 | 欧美日韩一区国产| 精品一区二区免费看| 亚洲天堂av老司机| 精品三级av在线| 97久久精品人人爽人人爽蜜臀| 日韩精品电影一区亚洲| 国产精品美女久久久久久2018| 69p69国产精品| 91亚洲国产成人精品一区二三| 看片网站欧美日韩| 一区二区三区欧美在线观看| 久久久久久久国产精品影院| 欧美色欧美亚洲另类二区| 国产精品综合av一区二区国产馆| 亚洲自拍偷拍麻豆| 日本一区二区成人| 日韩精品在线一区| 5858s免费视频成人| 91亚洲精华国产精华精华液| 国产乱妇无码大片在线观看| 性做久久久久久久免费看| 亚洲色图视频免费播放| 久久久久国产一区二区三区四区| 在线不卡一区二区| 色偷偷成人一区二区三区91| 成人黄色免费短视频| 国内不卡的二区三区中文字幕| 午夜一区二区三区视频| 亚洲人成在线播放网站岛国| 欧美激情资源网| 久久精品一级爱片| 日韩女优av电影在线观看| 69成人精品免费视频| 91国偷自产一区二区使用方法| 日韩欧美中文一区二区| 欧美日韩一区二区三区免费看| 97久久久精品综合88久久| 岛国精品在线观看| 国产91丝袜在线播放九色| 狠狠v欧美v日韩v亚洲ⅴ| 精品一区二区久久久| 久久爱www久久做| 精品一区中文字幕| 久久99精品国产.久久久久| 美日韩一区二区| 久久99精品久久久久久| 久久99国产精品麻豆| 久久er99精品| 国产美女久久久久| 成人黄色软件下载| 91麻豆swag| 欧美日本在线播放| 欧美精品久久99久久在免费线 | www.视频一区| av一区二区不卡| 91国内精品野花午夜精品| 欧美自拍偷拍午夜视频| 欧美日本在线一区| 日韩一级欧美一级| 久久久99精品免费观看| 国产精品麻豆欧美日韩ww| 亚洲欧洲综合另类| 亚洲成av人片在线观看无码| 日本在线不卡一区| 国产另类ts人妖一区二区| 波多野结衣亚洲| 欧美日韩国产高清一区二区三区| 91精品国产综合久久久久久久 | 国产在线播放一区三区四| 国产精品中文有码| 91麻豆福利精品推荐| 337p亚洲精品色噜噜| 久久伊人蜜桃av一区二区| 亚洲欧洲日产国产综合网| 亚洲国产精品久久艾草纯爱 | 亚洲国产综合在线| 欧美aⅴ一区二区三区视频| 国产一区二区三区蝌蚪| 91免费观看视频| 欧美成人官网二区| 亚洲欧美电影院| 狠狠色丁香久久婷婷综合_中| 波波电影院一区二区三区| 91精品国产综合久久香蕉的特点 | 国产九九视频一区二区三区| 色偷偷一区二区三区| 久久久久99精品国产片| 有坂深雪av一区二区精品| 国内精品免费在线观看| 色www精品视频在线观看| 26uuu国产一区二区三区| 亚洲精品视频在线| 国产一二精品视频| 欧美日韩国产色站一区二区三区| 中文字幕免费一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 91在线丨porny丨国产| 精品日韩成人av| 亚洲成人一区在线| 北条麻妃一区二区三区| 亚洲精品一区在线观看| 亚洲国产日韩a在线播放性色| 欧美日韩一区二区三区免费看| 中文字幕精品三区| 美腿丝袜在线亚洲一区 | 成人av电影免费在线播放| 欧美不卡一区二区| 亚洲成人福利片| 91久久人澡人人添人人爽欧美 | 欧美一区二区三区在线视频| 中文字幕亚洲精品在线观看 | 免费在线观看一区| 欧美日韩久久一区| 日韩美女视频一区二区 | 国产免费久久精品| 久99久精品视频免费观看| 制服丝袜av成人在线看| 亚洲综合区在线| 在线看国产一区| 亚洲欧洲综合另类| 99久久亚洲一区二区三区青草| 国产日产亚洲精品系列| 久99久精品视频免费观看| 日韩欧美一区二区不卡| 日韩精品乱码av一区二区| 欧美乱妇15p| 奇米影视一区二区三区| 日韩一区二区三区在线观看| 日韩成人伦理电影在线观看| 日韩一区二区三区免费看 |